feat(inventory): 优化订单执行编辑功能及出库详情展示

- 将订单执行编辑页改为弹窗形式,提升用户体验
- 重命名组件属性 id 为 orderId,增强代码可读性
- 监听 orderId 属性变化以动态加载数据
- 调整操作列宽度避免按钮挤压
- 更新出库单详情接口并调整数据结构处理方式
- 优化订单详情抽屉和出库详情组件的显示尺寸
- 重构订单信息展示组件,使用表格布局替代表单项
- 统一弹窗和抽屉的样式与交互逻辑
- 添加编辑成功和取消事件回调处理
- 修复表单验证规则及相关字段绑定问题
master
chenhao 2025-11-21 14:17:54 +08:00
parent 281fa1f4e5
commit f236c22d7f
8 changed files with 230 additions and 305 deletions

View File

@ -105,3 +105,10 @@ export function confirmOuterStatus(id, orderCode) {
data: { id, outerStatus: '2', orderCode } data: { id, outerStatus: '2', orderCode }
}) })
} }
// 确认出库
export function getOuter(id) {
return request({
url: '/inventory/outer/vue/view/'+id,
method: 'get'
})
}

View File

@ -1,260 +1,122 @@
<template> <template>
<el-row class="order-info-display"> <div class="order-info-display">
<el-col :span="16"> <table class="info-table">
<div class="col-item-border"> <tbody>
<el-form-item label="项目名称" prop="projectName"> <tr>
<span>{{ displayValue(localOrderData.projectName) }}</span> <td class="label-cell">项目名称</td>
</el-form-item> <td class="value-cell" colspan="3">{{ displayValue(localOrderData.projectName) }}</td>
</div> <td class="label-cell">版本号</td>
</el-col> <td class="value-cell">{{ displayValue(localOrderData.versionCode) }}</td>
<el-col :span="8"> </tr>
<div class="col-item-border"> <tr>
<el-form-item label="版本号" prop="versionCode"> <td class="label-cell">项目编号</td>
<span>{{ displayValue(localOrderData.versionCode) }}</span> <td class="value-cell">{{ displayValue(localOrderData.projectCode) }}</td>
</el-form-item> <td class="label-cell">最终客户</td>
</div> <td class="value-cell" colspan="3">{{ displayValue(localOrderData.customerName) }}</td>
</el-col> </tr>
<el-col :span="8"> <tr>
<div class="col-item-border"> <td class="label-cell">BG</td>
<el-form-item label="项目编号" prop="projectCode"> <td class="value-cell">{{ displayValue(getDictLabel(bgOptions, localOrderData.bgProperty)) }}</td>
<span>{{ displayValue(localOrderData.projectCode) }}</span> <td class="label-cell">行业</td>
</el-form-item> <td class="value-cell">{{ displayValue(getDictLabel(industryOptions, localOrderData.industryType)) }}</td>
</div> <td class="label-cell">代表处</td>
</el-col> <td class="value-cell">{{ displayValue(localOrderData.agentName) }}</td>
<el-col :span="16"> </tr>
<div class="col-item-border"> <tr>
<el-form-item label="最终客户" prop="customerName"> <td class="label-cell">进货商接口人</td>
<span>{{ displayValue(localOrderData.customerName) }}</span> <td class="value-cell">{{ displayValue(localOrderData.businessPerson) }}</td>
</el-form-item> <td class="label-cell">Email</td>
</div> <td class="value-cell">{{ displayValue(localOrderData.businessEmail) }}</td>
</el-col> <td class="label-cell">联系方式</td>
<el-col :span="8"> <td class="value-cell">{{ displayValue(localOrderData.businessPhone) }}</td>
<div class="col-item-border"> </tr>
<el-form-item label="BG" prop="bgProperty"> <tr>
<span>{{ displayValue(getDictLabel(bgOptions, localOrderData.bgProperty)) }}</span> <td class="label-cell">合同编号</td>
</el-form-item> <td class="value-cell">{{ displayValue(localOrderData.orderCode) }}</td>
</div> <td class="label-cell">执行单截止时间</td>
</el-col> <td class="value-cell">{{ displayValue(localOrderData.orderEndTime) }}</td>
<el-col :span="8"> <td class="label-cell">币种</td>
<div class="col-item-border"> <td class="value-cell">{{ displayValue(getDictLabel(currencyOptions, localOrderData.currencyType)) }}</td>
<el-form-item label="行业" prop="industryType"> </tr>
<span>{{ displayValue(getDictLabel(industryOptions, localOrderData.industryType)) }}</span> <tr>
</el-form-item> <template v-if="(localOrderData.processTemplate=='1' ||(localOrderData.processTemplate!='1' &&( localOrderData.orderStatus=='1'||localOrderData.orderStatus=='2')))">
</div> <td class="label-cell">总代进货金额</td>
</el-col> <td class="value-cell">{{ displayValue(localOrderData.actualPurchaseAmount) }}</td>
<el-col :span="8"> </template>
<div class="col-item-border"> <td class="label-cell">总代出货金额</td>
<el-form-item label="代表处" prop="agentName"> <td class="value-cell" :colspan="(localOrderData.processTemplate=='1' ||(localOrderData.processTemplate!='1' &&( localOrderData.orderStatus=='1'||localOrderData.orderStatus=='2')))?1:3">{{ displayValue(localOrderData.shipmentAmount) }}</td>
<span>{{ displayValue(localOrderData.agentName) }}</span> <td class="label-cell">要求到货时间</td>
</el-form-item> <td class="value-cell">{{ displayValue(localOrderData.deliveryTime) }}</td>
</div> </tr>
</el-col> <tr>
<el-col :span="8"> <td class="label-cell">公司直发</td>
<div class="col-item-border"> <td class="value-cell" colspan="3">{{ displayValue(getDictLabel(companyDeliveryOptions, localOrderData.companyDelivery)) }}</td>
<el-form-item label="进货商接口人" prop="businessPerson"> <td class="label-cell">下单通路</td>
<span>{{ displayValue(localOrderData.businessPerson) }}</span> <td class="value-cell">{{ displayValue(localOrderData.orderChannel === '1' ? '总代' : '直签') }}</td>
</el-form-item> </tr>
</div> <tr>
</el-col> <template v-if="localOrderData.orderChannel == '1'">
<el-col :span="8"> <td class="label-cell">总代</td>
<div class="col-item-border"> <td class="value-cell">广州佳都技术有限公司</td>
<el-form-item label="Email" prop="businessEmail"> </template>
<span>{{ displayValue(localOrderData.businessEmail) }}</span> <td class="label-cell">供货商</td>
</el-form-item> <td class="value-cell" :colspan="localOrderData.orderChannel == '2' ? 3 : 1">{{ displayValue(localOrderData.supplier) }}</td>
</div> <template v-if="localOrderData.orderChannel == '1'">
</el-col> <td class="label-cell"></td>
<el-col :span="8"> <td class="value-cell"></td>
<div class="col-item-border"> </template>
<el-form-item label="联系方式" prop="businessPhone"> </tr>
<span>{{ displayValue(localOrderData.businessPhone) }}</span> <tr>
</el-form-item> <td class="label-cell">汇智责任人</td>
</div> <td class="value-cell">{{ displayValue(localOrderData.dutyName) }}</td>
</el-col> <td class="label-cell">Email</td>
<el-col :span="8"> <td class="value-cell">{{ displayValue(localOrderData.dutyEmail) }}</td>
<div class="col-item-border"> <td class="label-cell">联系方式</td>
<el-form-item label="合同编号" prop="orderCode"> <td class="value-cell">{{ displayValue(localOrderData.dutyPhone) }}</td>
<span>{{ displayValue(localOrderData.orderCode) }}</span> </tr>
</el-form-item> <tr>
</div> <td class="label-cell">进货商</td>
</el-col> <td class="value-cell" colspan="3">{{ displayValue(localOrderData.partnerName) }}</td>
<el-col :span="16"> <td class="label-cell">进货商类型</td>
<div class="col-item-border"> <td class="value-cell">{{ displayValue(getDictLabel(partnerLevelOptions, localOrderData.level)) }}</td>
<el-form-item label="执行单截止时间" prop="orderEndTime"> </tr>
<span>{{ displayValue(localOrderData.orderEndTime) }}</span> <tr>
</el-form-item> <td class="label-cell">进货商联系人</td>
</div> <td class="value-cell">{{ displayValue(localOrderData.partnerUserName) }}</td>
</el-col> <td class="label-cell">Email</td>
<el-col :span="8"> <td class="value-cell">{{ displayValue(localOrderData.partnerEmail) }}</td>
<div class="col-item-border"> <td class="label-cell">联系方式</td>
<el-form-item label="币种" prop="currencyType"> <td class="value-cell">{{ displayValue(localOrderData.partnerPhone) }}</td>
<span>{{ displayValue(getDictLabel(currencyOptions, localOrderData.currencyType)) }}</span> </tr>
</el-form-item> <tr>
</div> <td class="label-cell">收货地址</td>
</el-col> <td class="value-cell" colspan="5">{{ displayValue(localOrderData.notifierAddress) }}</td>
<el-col </tr>
v-if="(localOrderData.processTemplate=='1' ||(localOrderData.processTemplate!='1' &&( localOrderData.orderStatus=='1'||localOrderData.orderStatus=='2')))" <tr>
:span="8"> <td class="label-cell">收货人</td>
<div class="col-item-border"> <td class="value-cell">{{ displayValue(localOrderData.notifier) }}</td>
<el-form-item label="总代进货金额" prop="actualPurchaseAmount"> <td class="label-cell">Email</td>
<span>{{ displayValue(localOrderData.actualPurchaseAmount) }}</span> <td class="value-cell">{{ displayValue(localOrderData.notifierEmail) }}</td>
</el-form-item> <td class="label-cell">联系方式</td>
</div> <td class="value-cell">{{ displayValue(localOrderData.notifierPhone) }}</td>
</el-col> </tr>
<el-col :span="(localOrderData.processTemplate=='1' ||(localOrderData.processTemplate!='1' &&( localOrderData.orderStatus=='1'||localOrderData.orderStatus=='2')))?8:16"> <tr>
<div class="col-item-border"> <td class="label-cell">付款方式</td>
<el-form-item label="总代出货金额" prop="shipmentAmount"> <td class="value-cell" colspan="3">{{ displayValue(getPaymentMethodLabel(localOrderData.paymentMethod)) }}</td>
<span>{{ displayValue(localOrderData.shipmentAmount) }}</span> <td class="label-cell">付款比例</td>
</el-form-item> <td class="value-cell">{{ displayValue(localOrderData.paymentRatio, true) }}</td>
</div> </tr>
</el-col> <tr>
<el-col :span="8"> <td class="label-cell">付款条件</td>
<div class="col-item-border"> <td class="value-cell" colspan="5" style="white-space: pre-wrap;">{{ displayValue(localOrderData.paymentDescription) }}</td>
<el-form-item label="要求到货时间" prop="deliveryTime"> </tr>
<span>{{ displayValue(localOrderData.deliveryTime) }}</span> <tr>
</el-form-item> <td class="label-cell">其他特别说明</td>
</div> <td class="value-cell" colspan="5">{{ displayValue(localOrderData.remark) }}</td>
</el-col> </tr>
<el-col :span="16"> </tbody>
<div class="col-item-border"> </table>
<el-form-item label="公司直发" prop="companyDelivery"> </div>
<span>{{ displayValue(getDictLabel(companyDeliveryOptions, localOrderData.companyDelivery)) }}</span>
</el-form-item>
</div>
</el-col>
<el-col :span="8">
<div class="col-item-border">
<el-form-item label="下单通路" prop="orderChannel">
<span>{{ displayValue(localOrderData.orderChannel === '1' ? '总代' : '直签') }}</span>
</el-form-item>
</div>
</el-col>
<el-col :span="8" v-if="localOrderData.orderChannel == '1'">
<div class="col-item-border">
<el-form-item label="总代" prop="zd">
<span>广州佳都技术有限公司</span>
</el-form-item>
</div>
</el-col>
<el-col :span="localOrderData.orderChannel == '2' ? 16 : 8">
<div class="col-item-border">
<el-form-item label="供货商" prop="supplier">
<span>{{ displayValue(localOrderData.supplier) }}</span>
</el-form-item>
</div>
</el-col>
<el-col :span="8">
<div class="col-item-border">
<el-form-item label="汇智责任人" prop="dutyName">
<span>{{ displayValue(localOrderData.dutyName) }}</span>
</el-form-item>
</div>
</el-col>
<el-col :span="8">
<div class="col-item-border">
<el-form-item label="Email" prop="dutyEmail">
<span>{{ displayValue(localOrderData.dutyEmail) }}</span>
</el-form-item>
</div>
</el-col>
<el-col :span="8">
<div class="col-item-border">
<el-form-item label="联系方式" prop="dutyPhone">
<span>{{ displayValue(localOrderData.dutyPhone) }}</span>
</el-form-item>
</div>
</el-col>
<el-col :span="16">
<div class="col-item-border">
<el-form-item label="进货商" prop="partnerName">
<span>{{ displayValue(localOrderData.partnerName) }}</span>
</el-form-item>
</div>
</el-col>
<el-col :span="8">
<div class="col-item-border">
<el-form-item label="进货商类型" prop="level">
<span>{{ displayValue(getDictLabel(partnerLevelOptions, localOrderData.level)) }}</span>
</el-form-item>
</div>
</el-col>
<el-col :span="8">
<div class="col-item-border">
<el-form-item label="进货商联系人" prop="partnerUserName">
<span>{{ displayValue(localOrderData.partnerUserName) }}</span>
</el-form-item>
</div>
</el-col>
<el-col :span="8">
<div class="col-item-border">
<el-form-item label="Email" prop="partnerEmail">
<span>{{ displayValue(localOrderData.partnerEmail) }}</span>
</el-form-item>
</div>
</el-col>
<el-col :span="8">
<div class="col-item-border">
<el-form-item label="联系方式" prop="partnerPhone">
<span>{{ displayValue(localOrderData.partnerPhone) }}</span>
</el-form-item>
</div>
</el-col>
<el-col :span="24">
<div class="col-item-border">
<el-form-item label="收货地址" prop="notifierAddress">
<span>{{ displayValue(localOrderData.notifierAddress) }}</span>
</el-form-item>
</div>
</el-col>
<el-col :span="8">
<div class="col-item-border">
<el-form-item label="收货人" prop="notifier">
<span>{{ displayValue(localOrderData.notifier) }}</span>
</el-form-item>
</div>
</el-col>
<el-col :span="8">
<div class="col-item-border">
<el-form-item label="Email" prop="notifierEmail">
<span>{{ displayValue(localOrderData.notifierEmail) }}</span>
</el-form-item>
</div>
</el-col>
<el-col :span="8">
<div class="col-item-border">
<el-form-item label="联系方式" prop="notifierPhone">
<span>{{ displayValue(localOrderData.notifierPhone) }}</span>
</el-form-item>
</div>
</el-col>
<el-col :span="8">
<div class="col-item-border">
<el-form-item label="付款方式" prop="paymentMethod">
<span>{{ displayValue(getPaymentMethodLabel(localOrderData.paymentMethod)) }}</span>
</el-form-item>
</div>
</el-col>
<el-col :span="8">
<div class="col-item-border">
<el-form-item label="付款比例" prop="paymentRatio">
<span>{{ displayValue(localOrderData.paymentRatio, true) }}</span>
</el-form-item>
</div>
</el-col>
<el-col :span="24">
<div class="col-item-border">
<el-form-item label="付款条件" prop="paymentDescription">
<span style="white-space: pre-wrap;">{{ displayValue(localOrderData.paymentDescription) }}</span>
</el-form-item>
</div>
</el-col>
<el-col :span="24">
<div class="col-item-border">
<el-form-item label="其他特别说明" prop="remark">
<span>{{ displayValue(localOrderData.remark) }}</span>
</el-form-item>
</div>
</el-col>
</el-row>
</template> </template>
<script> <script>
@ -345,35 +207,34 @@ export default {
</script> </script>
<style scoped> <style scoped>
/* Make form item labels bold to match table headers in other components */ .order-info-display {
.order-info-display ::v-deep .el-form-item__label { width: 100%;
}
.info-table {
width: 100%;
border-collapse: collapse;
border: 1px solid #EBEEF5;
}
.info-table td {
padding: 8px 10px;
border: 1px solid #EBEEF5;
font-size: 13px;
line-height: 1.5;
}
.label-cell {
background-color: #f5f7fa;
font-weight: bold; font-weight: bold;
font-size: 13px; /* Ensure labels also have consistent font size */
color: #606266; /* Ensure labels also have consistent font color */
}
.order-info-display .el-form-item {
margin-bottom: 0; /* Reduced margin for a denser look */
display: flex;
align-items: center;
}
/* Adjust span line-height for better text appearance */
.order-info-display span {
color: #606266; color: #606266;
line-height: 1.5; /* Use a relative line-height instead of a fixed pixel value */ width: 12%;
font-size: 13px; /* Apply consistent font size for values */ text-align: left;
} }
/* Adjust padding and borders for a cleaner, more table-like feel */ .value-cell {
.col-item-border { background-color: #fff;
border: 1px solid #e0e0e0; color: #606266;
padding: 8px; /* Standardized padding */ text-align: left;
margin-bottom: -1px; /* Collapse borders */
margin-right: -1px; /* Collapse borders */
}
.el-row {
margin-bottom: -1px;
} }
</style> </style>

View File

@ -1,6 +1,6 @@
<template> <template>
<el-drawer :title="title" :visible.sync="open" size="1000px" append-to-body @close="cancel"> <el-drawer :title="title" :visible.sync="open" size="70%" append-to-body @close="cancel">
<el-form ref="form" :model="form" label-width="120px"> <el-form ref="form" :model="form" label-width="140px">
<el-card class="box-card"> <el-card class="box-card">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>出库单信息</span> <span>出库单信息</span>
@ -96,8 +96,8 @@ export default {
this.open = true; this.open = true;
this.loading = true; this.loading = true;
getOuter(id).then(response => { getOuter(id).then(response => {
this.form = response.data; this.form = response.data.inventoryOuter;
this.warehouseList = response.data.warehouseInfoList; this.warehouseList = this.form.detailList;
this.loading = false; this.loading = false;
}).catch(() => { }).catch(() => {
this.loading = false; this.loading = false;

View File

@ -60,7 +60,7 @@
<el-table-column label="联系人" prop="contactPerson" /> <el-table-column label="联系人" prop="contactPerson" />
<el-table-column label="收货地址" prop="contactAddress" :show-overflow-tooltip="true" /> <el-table-column label="收货地址" prop="contactAddress" :show-overflow-tooltip="true" />
<el-table-column label="生成时间" prop="createTime" /> <el-table-column label="生成时间" prop="createTime" />
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center" min-width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.outerStatus === '1' || scope.row.outerStatus === '4'"> <div v-if="scope.row.outerStatus === '1' || scope.row.outerStatus === '4'">
<el-button size="mini" type="danger" @click="handleDeleteOuter(scope.row)"></el-button> <el-button size="mini" type="danger" @click="handleDeleteOuter(scope.row)"></el-button>
@ -98,10 +98,16 @@ export default {
name: "ExecutionEdit", name: "ExecutionEdit",
components: {OrderInfo, OrderDetailDrawer, CheckoutDialog, OuterDetailDialog }, components: {OrderInfo, OrderDetailDrawer, CheckoutDialog, OuterDetailDialog },
dicts: ['bg_type', 'currency_type', 'company_delivery', 'identify_level', 'outer_outer_status'], dicts: ['bg_type', 'currency_type', 'company_delivery', 'identify_level', 'outer_outer_status'],
props: {
orderId: { // Renamed from id to orderId for clarity as it's an order ID
type: [String, Number],
required: true
}
},
data() { data() {
return { return {
form: {}, form: {},
currentOrderId:null, currentOrderId: null,
rules: { rules: {
// Add validation rules based on the red asterisks in edit.html // Add validation rules based on the red asterisks in edit.html
businessPerson: [{ required: true, message: "进货商接口人不能为空", trigger: "blur" }], businessPerson: [{ required: true, message: "进货商接口人不能为空", trigger: "blur" }],
@ -121,9 +127,23 @@ export default {
}; };
}, },
created() { created() {
const id = this.$route.params && this.$route.params.id; if (this.orderId) {
if (id) { this.getExecutionDetails(this.orderId);
this.getExecutionDetails(id); }
},
watch: {
orderId: { // Watch for changes in orderId prop
immediate: true,
handler(newVal) {
if (newVal) {
this.getExecutionDetails(newVal);
}
}
},
'form.bgProperty'(newVal) {
if(newVal) {
this.fetchIndustryOptions(newVal);
}
} }
}, },
methods: { methods: {
@ -179,21 +199,14 @@ export default {
if (valid) { if (valid) {
updateExecution(this.form).then(response => { updateExecution(this.form).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.cancel(); this.$emit('success');
}); });
} }
}); });
}, },
cancel() { cancel() {
this.$router.go(-1); this.$emit('cancel');
} }
},
watch: {
'form.bgProperty'(newVal) {
if(newVal) {
this.fetchIndustryOptions(newVal);
}
}
} }
}; };
</script> </script>

View File

@ -158,6 +158,16 @@
@pagination="getList" @pagination="getList"
/> />
<!-- 编辑订单执行对话框 -->
<el-dialog title="编辑订单执行" :visible.sync="editDialogVisible" width="70vw" append-to-body destroy-on-close>
<edit
v-if="editDialogVisible"
:order-id="currentEditOrderId"
@success="handleEditSuccess"
@cancel="handleEditCancel"
/>
</el-dialog>
<!-- 签收文件上传对话框 --> <!-- 签收文件上传对话框 -->
<el-dialog title="上传签收文件" :visible.sync="upload.open" width="400px" append-to-body> <el-dialog title="上传签收文件" :visible.sync="upload.open" width="400px" append-to-body>
<el-upload <el-upload
@ -196,12 +206,14 @@ import { listExecution, recallExecution, downloadSignFile } from "@/api/inventor
import { getToken } from "@/utils/auth"; import { getToken } from "@/utils/auth";
import OrderDetailDrawer from '../../project/order/OrderDetailDrawer.vue'; import OrderDetailDrawer from '../../project/order/OrderDetailDrawer.vue';
import ProjectDetailDrawer from '../../project/info/ProjectDetailDrawer.vue'; import ProjectDetailDrawer from '../../project/info/ProjectDetailDrawer.vue';
import Edit from './edit.vue'; // Import the Edit component
export default { export default {
name: "Execution", name: "Execution",
components: { components: {
ProjectDetailDrawer, ProjectDetailDrawer,
OrderDetailDrawer OrderDetailDrawer,
Edit // Register the Edit component
}, },
dicts: ['execution_outer_status', 'execution_delivery_status', 'execution_sign_status'], dicts: ['execution_outer_status', 'execution_delivery_status', 'execution_sign_status'],
data() { data() {
@ -216,6 +228,9 @@ export default {
executionList: [], executionList: [],
// //
dateRange: [], dateRange: [],
//
editDialogVisible: false,
currentEditOrderId: null,
// --- --- // --- ---
projectDrawerVisible: false, projectDrawerVisible: false,
orderDrawerVisible: false, orderDrawerVisible: false,
@ -281,8 +296,17 @@ export default {
}, },
/** 编辑按钮操作 */ /** 编辑按钮操作 */
handleUpdate(row) { handleUpdate(row) {
// this.currentEditOrderId = row.id;
this.$router.push("/inventory/execution/edit/" + row.id); this.editDialogVisible = true;
},
/** 编辑成功后回调 */
handleEditSuccess() {
this.editDialogVisible = false;
this.getList(); // Refresh the list
},
/** 编辑取消后回调 */
handleEditCancel() {
this.editDialogVisible = false;
}, },
/** 签收按钮操作 */ /** 签收按钮操作 */
handleSign(row) { handleSign(row) {
@ -334,3 +358,9 @@ export default {
} }
}; };
</script> </script>
<style>
.edit-dialog .el-dialog__body {
padding: 0px 20px 20px 20px !important;
}
</style>

View File

@ -1,5 +1,5 @@
<template> <template>
<el-drawer :visible.sync="drawerVisible" title="出库单详情" direction="rtl" size="60%"> <el-drawer :visible.sync="drawerVisible" title="出库单详情" direction="rtl" size="70%">
<div style="padding: 20px;"> <div style="padding: 20px;">
<el-descriptions :column="2" border> <el-descriptions :column="2" border>
<el-descriptions-item label="出库单号">{{ details.outerCode }}</el-descriptions-item> <el-descriptions-item label="出库单号">{{ details.outerCode }}</el-descriptions-item>

View File

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<!-- 订单详情抽屉 --> <!-- 订单详情抽屉 -->
<el-drawer :title="title" :visible.sync="internalVisible" direction="rtl" size="1400px" @close="handleClose"> <el-drawer :title="title" :visible.sync="internalVisible" direction="rtl" size="70%" @close="handleClose">
<div style="padding: 20px;"> <div style="padding: 20px;">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" :disabled="true"> <el-form ref="form" :model="form" :rules="rules" label-width="120px" :disabled="true">
<el-tabs v-model="activeTab"> <el-tabs v-model="activeTab">

View File

@ -11,8 +11,10 @@ import com.ruoyi.sip.dto.inventory.InventoryInfoExcelDto;
import com.ruoyi.sip.service.IInventoryAuthService; import com.ruoyi.sip.service.IInventoryAuthService;
import com.ruoyi.sip.service.IInventoryOuterService; import com.ruoyi.sip.service.IInventoryOuterService;
import com.ruoyi.sip.service.IOmsInventoryInnerService; import com.ruoyi.sip.service.IOmsInventoryInnerService;
import com.ruoyi.sip.vo.OuterViewVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -85,6 +87,18 @@ public class VueInventoryOuterController extends BaseController
return toAjax(inventoryOuterService.updateInventoryOuter(inventoryOuter)); return toAjax(inventoryOuterService.updateInventoryOuter(inventoryOuter));
} }
@GetMapping("/view/{id}")
@ResponseBody
public AjaxResult view(@PathVariable("id") Long id, ModelMap mmap)
{
OuterViewVo outerViewVo = inventoryOuterService.viewVo(id);
mmap.put("inventoryOuter", outerViewVo.getInventoryOuter());
mmap.put("allQuantity", outerViewVo.getAllQuantity());
mmap.put("commitQuantity", outerViewVo.getCommitQuantity());
return AjaxResult.success(mmap);
}
/** /**
* *
*/ */