增加单位

This commit is contained in:
砂糖
2025-07-21 18:02:26 +08:00
parent 4dc4365d5f
commit dda806f6cd
5 changed files with 99 additions and 18 deletions

View File

@@ -1,5 +1,21 @@
<template>
<div>
<!-- 订单信息展示区域 -->
<el-descriptions title="订单信息" class="margin-top mb8" :column="4" size="medium" border v-if="orderInfo">
<el-descriptions-item>
<template slot="label">
订单编号
</template>
{{ orderInfo.orderCode }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
订单状态
</template>
<dict-tag :options="dict.type.order_status" :value="orderInfo.orderStatus"/>
</el-descriptions-item>
</el-descriptions>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
@@ -7,6 +23,7 @@
plain
icon="el-icon-plus"
size="mini"
:disabled="!canEdit"
@click="handleAdd"
>新增</el-button>
</el-col>
@@ -16,7 +33,7 @@
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
:disabled="single || !canEdit"
@click="handleUpdate"
>修改</el-button>
</el-col>
@@ -26,7 +43,7 @@
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
:disabled="multiple || !canEdit"
@click="handleDelete"
>删除</el-button>
</el-col>
@@ -42,10 +59,10 @@
</el-row>
<el-table v-loading="loading" :data="orderDetailList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="selection" width="55" align="center" :selectable="canEdit" />
<!-- <el-table-column label="明细ID" align="center" prop="detailId" v-if="false"/>
<el-table-column label="订单ID" align="center" prop="orderId" /> -->
<el-table-column label="原材料" align="center">
<el-table-column label="产品" align="center">
<template slot-scope="scope">
{{ scope.row.productName }}<span v-if="scope.row.productCode">({{ scope.row.productCode }})</span>
</template>
@@ -59,12 +76,14 @@
size="mini"
type="text"
icon="el-icon-edit"
:disabled="!canEdit"
@click="handleUpdate(scope.row)"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
:disabled="!canEdit"
@click="handleDelete(scope.row)"
>删除</el-button>
</template>
@@ -85,16 +104,14 @@
<!-- <el-form-item label="订单ID" prop="orderId">
<el-input v-model="form.orderId" placeholder="请输入订单ID" :disabled="true" />
</el-form-item> -->
<el-table-column label="产品" align="center">
<template slot-scope="scope">
{{ scope.row.productName }}<span v-if="scope.row.productCode">({{ scope.row.productCode }})</span>
</template>
</el-table-column>
<el-form-item label="产品" prop="productId">
<ProductSelect v-model="form.productId" placeholder="请选择产品" @change="onProductChange" />
</el-form-item>
<el-form-item label="产品数量" prop="quantity">
<el-input v-model="form.quantity" placeholder="请输入产品数量" />
</el-form-item>
<el-form-item label="单位" prop="unit">
<el-input v-model="form.unit" placeholder="请输入单位" />
<el-input v-model="form.unit" placeholder="单位" :disabled="true" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
@@ -110,10 +127,13 @@
<script>
import { listOrderDetail, getOrderDetail, delOrderDetail, addOrderDetail, updateOrderDetail } from "@/api/wms/orderDetail";
import { getOrder } from "@/api/wms/order";
import ProductSelect from '@/components/KLPService/ProductSelect';
import { EOrderStatus } from "@/utils/enums";
export default {
name: "OrderDetailPanel",
dicts: ['order_status'],
props: {
orderId: {
type: [String, Number],
@@ -129,8 +149,11 @@ export default {
multiple: true,
total: 0,
orderDetailList: [],
orderInfo: null, // 订单信息
title: "",
open: false,
// 订单状态枚举
EOrderStatus,
queryParams: {
pageNum: 1,
pageSize: 10,
@@ -150,7 +173,8 @@ export default {
{ required: true, message: "产品ID不能为空", trigger: "blur" }
],
quantity: [
{ required: true, message: "产品数量不能为空", trigger: "blur" }
{ required: true, message: "产品数量不能为空", trigger: "blur" },
{ pattern: /^[1-9]\d*$/, message: "产品数量必须为正整数", trigger: "blur" }
],
unit: [
{ required: true, message: "单位不能为空", trigger: "blur" }
@@ -158,17 +182,35 @@ export default {
}
};
},
computed: {
// 是否可以编辑(订单状态为新建时才能编辑)
canEdit() {
return this.orderInfo && this.orderInfo.orderStatus === EOrderStatus.NEW;
}
},
watch: {
orderId(newVal) {
this.queryParams.orderId = newVal;
this.form.orderId = newVal;
this.getOrderInfo();
this.getList();
}
},
created() {
this.getOrderInfo();
this.getList();
},
methods: {
// 获取订单信息
getOrderInfo() {
if (this.orderId) {
getOrder(this.orderId).then(response => {
this.orderInfo = response.data;
}).catch(() => {
this.orderInfo = null;
});
}
},
getList() {
this.loading = true;
listOrderDetail(this.queryParams).then(response => {
@@ -203,11 +245,19 @@ export default {
this.multiple = !selection.length
},
handleAdd() {
if (!this.canEdit) {
this.$modal && this.$modal.msgError("当前订单状态不允许新增明细");
return;
}
this.reset();
this.open = true;
this.title = "添加订单明细";
},
handleUpdate(row) {
if (!this.canEdit) {
this.$modal && this.$modal.msgError("当前订单状态不允许修改明细");
return;
}
this.loading = true;
this.reset();
const detailId = row.detailId || this.ids
@@ -218,6 +268,13 @@ export default {
this.title = "修改订单明细";
});
},
onProductChange(product) {
if (product) {
this.form.unit = product.unit;
} else {
this.form.unit = undefined;
}
},
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
@@ -243,6 +300,10 @@ export default {
});
},
handleDelete(row) {
if (!this.canEdit) {
this.$modal && this.$modal.msgError("当前订单状态不允许删除明细");
return;
}
const detailIds = row.detailId || this.ids;
this.$modal && this.$modal.confirm('是否确认删除订单明细编号为"' + detailIds + '"的数据项?').then(() => {
this.loading = true;
@@ -267,3 +328,6 @@ export default {
}
};
</script>
<style scoped>
</style>