refactor(mes): 优化采购入库单界面文案和标记待优化项
- 修改列名:上架数量 -> 数量 - 标记界面布局和组件选择器待优化项 - 调整代码格式pull/871/MERGE
parent
b460a0e47d
commit
6312e2fe56
|
|
@ -5,7 +5,7 @@
|
|||
<el-table-column label="仓库名称" align="center" prop="warehouseName" min-width="100" />
|
||||
<el-table-column label="库区名称" align="center" prop="locationName" min-width="100" />
|
||||
<el-table-column label="库位名称" align="center" prop="areaName" min-width="100" />
|
||||
<el-table-column label="上架数量" align="center" prop="quantity" width="100" />
|
||||
<el-table-column label="数量" align="center" prop="quantity" width="100" />
|
||||
<el-table-column
|
||||
v-if="props.formType === 'shelving'"
|
||||
label="操作"
|
||||
|
|
@ -18,6 +18,7 @@
|
|||
编辑
|
||||
</el-button>
|
||||
<el-button link type="danger" @click="handleDelete(scope.row.id)">删除</el-button>
|
||||
<!-- TODO @芋艿:【保留】标签打印 -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
@ -41,7 +42,6 @@ const emit = defineEmits(['edit-detail'])
|
|||
const { t } = useI18n() // 国际化
|
||||
const message = useMessage() // 消息弹窗
|
||||
|
||||
// ==================== 列表 ====================
|
||||
const loading = ref(false) // 列表的加载中
|
||||
const list = ref<WmItemReceiptDetailVO[]>([]) // 明细列表
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<!-- 入库单编号:新增时可自动生成,其他模式不可生成 -->
|
||||
<!-- TODO 芋艿【暂时不删除】:入库单编号:新增时可自动生成,其他模式不可生成 -->
|
||||
<el-form-item label="入库单编号" prop="code">
|
||||
<el-input
|
||||
v-model="formData.code"
|
||||
|
|
@ -54,6 +54,7 @@
|
|||
<WmWarehouseSelect v-model="formData.warehouseId" :disabled="isHeaderReadonly" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- TODO @AI:放到“采购订单号”前面; -->
|
||||
<el-col :span="8">
|
||||
<el-form-item label="入库日期" prop="receiptDate">
|
||||
<el-date-picker
|
||||
|
|
@ -69,6 +70,7 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<!-- TODO @AI:放到“采购订单号”前面;-->
|
||||
<el-form-item label="到货通知单" prop="noticeId">
|
||||
<WmArrivalNoticeSelect
|
||||
v-model="formData.noticeId"
|
||||
|
|
@ -91,16 +93,17 @@
|
|||
</el-form>
|
||||
<!-- 非新建模式展示行项目信息(入库物料) -->
|
||||
<template v-if="formData.id">
|
||||
<el-divider content-position="center">行项目信息</el-divider>
|
||||
<el-divider content-position="center">物料信息</el-divider>
|
||||
<ItemReceiptLineList :receipt-id="formData.id" :form-type="formType" />
|
||||
</template>
|
||||
<template #footer>
|
||||
<el-button v-if="isUpdate" @click="submitForm" type="primary" :disabled="formLoading"
|
||||
>确 定</el-button
|
||||
>
|
||||
<el-button v-if="isShelving" @click="handleShelving" type="primary" :disabled="formLoading"
|
||||
>执行上架</el-button
|
||||
>
|
||||
<el-button v-if="isUpdate" @click="submitForm" type="primary" :disabled="formLoading">
|
||||
确 定
|
||||
</el-button>
|
||||
<!-- TODO @AI:上架,还是使用 isStock 类似的单词;其它地方都看着一起调整; -->
|
||||
<el-button v-if="isShelving" @click="handleShelving" type="primary" :disabled="formLoading">
|
||||
执行上架
|
||||
</el-button>
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
</template>
|
||||
</Dialog>
|
||||
|
|
@ -144,6 +147,7 @@ const formRef = ref() // 表单 Ref
|
|||
const isUpdate = computed(() => ['create', 'update'].includes(formType.value)) // 是否为编辑模式
|
||||
const isShelving = computed(() => formType.value === 'shelving') // 是否为上架模式
|
||||
const isHeaderReadonly = computed(() => ['shelving', 'detail'].includes(formType.value)) // 是否只读
|
||||
// TODO @AI:dialogTitleMap 的处理,参考 iqc form 的;通过 compute 计算;
|
||||
const dialogTitleMap: Record<string, string> = {
|
||||
create: '新增采购入库单',
|
||||
update: '编辑采购入库单',
|
||||
|
|
@ -194,6 +198,7 @@ const submitForm = async () => {
|
|||
if (formType.value === 'create') {
|
||||
await WmItemReceiptApi.createItemReceipt(data)
|
||||
message.success('新增成功')
|
||||
// TODO @AI:参考 iqc form 处理下这里;
|
||||
} else {
|
||||
await WmItemReceiptApi.updateItemReceipt(data)
|
||||
message.success('修改成功')
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<!-- MES 采购入库单行列表子组件 -->
|
||||
<!-- TODO @AI:每一行的摆放,优化下; -->
|
||||
<template>
|
||||
<div>
|
||||
<el-button v-if="isUpdate" type="primary" plain @click="openForm('create')" class="mb-10px">
|
||||
|
|
@ -20,7 +21,10 @@
|
|||
:line-id="scope.row.id"
|
||||
:item-id="scope.row.itemId"
|
||||
:form-type="props.formType"
|
||||
@edit-detail="(detailId: number) => openDetailForm('update', scope.row.id, scope.row.itemId, detailId)"
|
||||
@edit-detail="
|
||||
(detailId: number) =>
|
||||
openDetailForm('update', scope.row.id, scope.row.itemId, detailId)
|
||||
"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -29,6 +33,7 @@
|
|||
<el-table-column label="规格型号" align="center" prop="specification" min-width="120" />
|
||||
<el-table-column label="单位" align="center" prop="unitMeasureName" width="80" />
|
||||
<el-table-column label="入库数量" align="center" prop="receivedQuantity" width="100" />
|
||||
<!-- TODO @AI:批次号;batchCode -->
|
||||
<el-table-column
|
||||
label="生产批号"
|
||||
align="center"
|
||||
|
|
@ -74,7 +79,9 @@
|
|||
>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<!-- TODO @AI:分成两种情况: 1)默认是物料选择;2)如果选择了“到货通知单”,则前面多一个选择“到货通知单”的 line;(然后物料不可选择 disabled 或者 readonly 都行)【这里也在 arrivalnotice 那,封装一个 select 组件,可维护性更好】-->
|
||||
<el-form-item label="物料" prop="itemId">
|
||||
<!-- TODO @AI:换成物料组件的选择器;已经封装 -->
|
||||
<el-select
|
||||
v-model="formData.itemId"
|
||||
placeholder="请选择物料"
|
||||
|
|
@ -108,6 +115,7 @@
|
|||
<el-form-item label="生产批号" prop="productionBatchNumber">
|
||||
<el-input v-model="formData.productionBatchNumber" placeholder="请输入生产批号" />
|
||||
</el-form-item>
|
||||
<!-- TODO @AI:批次号 -->
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
|
|
@ -149,7 +157,11 @@
|
|||
</Dialog>
|
||||
|
||||
<!-- 上架明细添加/编辑弹窗 -->
|
||||
<ItemReceiptDetailForm ref="detailFormRef" :receipt-id="props.receiptId" @success="onDetailFormSuccess" />
|
||||
<ItemReceiptDetailForm
|
||||
ref="detailFormRef"
|
||||
:receipt-id="props.receiptId"
|
||||
@success="onDetailFormSuccess"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
|
|
@ -224,6 +236,7 @@ const formData = ref({
|
|||
remark: undefined
|
||||
})
|
||||
const formRules = reactive({
|
||||
// TODO @AI:如果选择了“到货通知单”,则前面多一个选择“到货通知单”的 line;必填;
|
||||
itemId: [{ required: true, message: '物料不能为空', trigger: 'change' }],
|
||||
receivedQuantity: [{ required: true, message: '入库数量不能为空', trigger: 'blur' }]
|
||||
})
|
||||
|
|
|
|||
Loading…
Reference in New Issue