feat(inventory): 优化订单执行编辑功能及出库详情展示
- 将订单执行编辑页改为弹窗形式,提升用户体验 - 重命名组件属性 id 为 orderId,增强代码可读性 - 监听 orderId 属性变化以动态加载数据 - 调整操作列宽度避免按钮挤压 - 更新出库单详情接口并调整数据结构处理方式 - 优化订单详情抽屉和出库详情组件的显示尺寸 - 重构订单信息展示组件,使用表格布局替代表单项 - 统一弹窗和抽屉的样式与交互逻辑 - 添加编辑成功和取消事件回调处理 - 修复表单验证规则及相关字段绑定问题dev_1.0.0
parent
281fa1f4e5
commit
f236c22d7f
|
|
@ -105,3 +105,10 @@ export function confirmOuterStatus(id, orderCode) {
|
|||
data: { id, outerStatus: '2', orderCode }
|
||||
})
|
||||
}
|
||||
// 确认出库
|
||||
export function getOuter(id) {
|
||||
return request({
|
||||
url: '/inventory/outer/vue/view/'+id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,260 +1,122 @@
|
|||
<template>
|
||||
<el-row class="order-info-display">
|
||||
<el-col :span="16">
|
||||
<div class="col-item-border">
|
||||
<el-form-item label="项目名称" prop="projectName">
|
||||
<span>{{ displayValue(localOrderData.projectName) }}</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<div class="col-item-border">
|
||||
<el-form-item label="版本号" prop="versionCode">
|
||||
<span>{{ displayValue(localOrderData.versionCode) }}</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<div class="col-item-border">
|
||||
<el-form-item label="项目编号" prop="projectCode">
|
||||
<span>{{ displayValue(localOrderData.projectCode) }}</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<div class="col-item-border">
|
||||
<el-form-item label="最终客户" prop="customerName">
|
||||
<span>{{ displayValue(localOrderData.customerName) }}</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<div class="col-item-border">
|
||||
<el-form-item label="BG" prop="bgProperty">
|
||||
<span>{{ displayValue(getDictLabel(bgOptions, localOrderData.bgProperty)) }}</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<div class="col-item-border">
|
||||
<el-form-item label="行业" prop="industryType">
|
||||
<span>{{ displayValue(getDictLabel(industryOptions, localOrderData.industryType)) }}</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<div class="col-item-border">
|
||||
<el-form-item label="代表处" prop="agentName">
|
||||
<span>{{ displayValue(localOrderData.agentName) }}</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<div class="col-item-border">
|
||||
<el-form-item label="进货商接口人" prop="businessPerson">
|
||||
<span>{{ displayValue(localOrderData.businessPerson) }}</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<div class="col-item-border">
|
||||
<el-form-item label="Email" prop="businessEmail">
|
||||
<span>{{ displayValue(localOrderData.businessEmail) }}</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<div class="col-item-border">
|
||||
<el-form-item label="联系方式" prop="businessPhone">
|
||||
<span>{{ displayValue(localOrderData.businessPhone) }}</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<div class="col-item-border">
|
||||
<el-form-item label="合同编号" prop="orderCode">
|
||||
<span>{{ displayValue(localOrderData.orderCode) }}</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<div class="col-item-border">
|
||||
<el-form-item label="执行单截止时间" prop="orderEndTime">
|
||||
<span>{{ displayValue(localOrderData.orderEndTime) }}</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<div class="col-item-border">
|
||||
<el-form-item label="币种" prop="currencyType">
|
||||
<span>{{ displayValue(getDictLabel(currencyOptions, localOrderData.currencyType)) }}</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col
|
||||
v-if="(localOrderData.processTemplate=='1' ||(localOrderData.processTemplate!='1' &&( localOrderData.orderStatus=='1'||localOrderData.orderStatus=='2')))"
|
||||
:span="8">
|
||||
<div class="col-item-border">
|
||||
<el-form-item label="总代进货金额" prop="actualPurchaseAmount">
|
||||
<span>{{ displayValue(localOrderData.actualPurchaseAmount) }}</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="(localOrderData.processTemplate=='1' ||(localOrderData.processTemplate!='1' &&( localOrderData.orderStatus=='1'||localOrderData.orderStatus=='2')))?8:16">
|
||||
<div class="col-item-border">
|
||||
<el-form-item label="总代出货金额" prop="shipmentAmount">
|
||||
<span>{{ displayValue(localOrderData.shipmentAmount) }}</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<div class="col-item-border">
|
||||
<el-form-item label="要求到货时间" prop="deliveryTime">
|
||||
<span>{{ displayValue(localOrderData.deliveryTime) }}</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<div class="col-item-border">
|
||||
<el-form-item label="公司直发" prop="companyDelivery">
|
||||
<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>
|
||||
<div class="order-info-display">
|
||||
<table class="info-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="label-cell">项目名称</td>
|
||||
<td class="value-cell" colspan="3">{{ displayValue(localOrderData.projectName) }}</td>
|
||||
<td class="label-cell">版本号</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.versionCode) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">项目编号</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.projectCode) }}</td>
|
||||
<td class="label-cell">最终客户</td>
|
||||
<td class="value-cell" colspan="3">{{ displayValue(localOrderData.customerName) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">BG</td>
|
||||
<td class="value-cell">{{ displayValue(getDictLabel(bgOptions, localOrderData.bgProperty)) }}</td>
|
||||
<td class="label-cell">行业</td>
|
||||
<td class="value-cell">{{ displayValue(getDictLabel(industryOptions, localOrderData.industryType)) }}</td>
|
||||
<td class="label-cell">代表处</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.agentName) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">进货商接口人</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.businessPerson) }}</td>
|
||||
<td class="label-cell">Email</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.businessEmail) }}</td>
|
||||
<td class="label-cell">联系方式</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.businessPhone) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">合同编号</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.orderCode) }}</td>
|
||||
<td class="label-cell">执行单截止时间</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.orderEndTime) }}</td>
|
||||
<td class="label-cell">币种</td>
|
||||
<td class="value-cell">{{ displayValue(getDictLabel(currencyOptions, localOrderData.currencyType)) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<template v-if="(localOrderData.processTemplate=='1' ||(localOrderData.processTemplate!='1' &&( localOrderData.orderStatus=='1'||localOrderData.orderStatus=='2')))">
|
||||
<td class="label-cell">总代进货金额</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.actualPurchaseAmount) }}</td>
|
||||
</template>
|
||||
<td class="label-cell">总代出货金额</td>
|
||||
<td class="value-cell" :colspan="(localOrderData.processTemplate=='1' ||(localOrderData.processTemplate!='1' &&( localOrderData.orderStatus=='1'||localOrderData.orderStatus=='2')))?1:3">{{ displayValue(localOrderData.shipmentAmount) }}</td>
|
||||
<td class="label-cell">要求到货时间</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.deliveryTime) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">公司直发</td>
|
||||
<td class="value-cell" colspan="3">{{ displayValue(getDictLabel(companyDeliveryOptions, localOrderData.companyDelivery)) }}</td>
|
||||
<td class="label-cell">下单通路</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.orderChannel === '1' ? '总代' : '直签') }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<template v-if="localOrderData.orderChannel == '1'">
|
||||
<td class="label-cell">总代</td>
|
||||
<td class="value-cell">广州佳都技术有限公司</td>
|
||||
</template>
|
||||
<td class="label-cell">供货商</td>
|
||||
<td class="value-cell" :colspan="localOrderData.orderChannel == '2' ? 3 : 1">{{ displayValue(localOrderData.supplier) }}</td>
|
||||
<template v-if="localOrderData.orderChannel == '1'">
|
||||
<td class="label-cell"></td>
|
||||
<td class="value-cell"></td>
|
||||
</template>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">汇智责任人</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.dutyName) }}</td>
|
||||
<td class="label-cell">Email</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.dutyEmail) }}</td>
|
||||
<td class="label-cell">联系方式</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.dutyPhone) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">进货商</td>
|
||||
<td class="value-cell" colspan="3">{{ displayValue(localOrderData.partnerName) }}</td>
|
||||
<td class="label-cell">进货商类型</td>
|
||||
<td class="value-cell">{{ displayValue(getDictLabel(partnerLevelOptions, localOrderData.level)) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">进货商联系人</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.partnerUserName) }}</td>
|
||||
<td class="label-cell">Email</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.partnerEmail) }}</td>
|
||||
<td class="label-cell">联系方式</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.partnerPhone) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">收货地址</td>
|
||||
<td class="value-cell" colspan="5">{{ displayValue(localOrderData.notifierAddress) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">收货人</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.notifier) }}</td>
|
||||
<td class="label-cell">Email</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.notifierEmail) }}</td>
|
||||
<td class="label-cell">联系方式</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.notifierPhone) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">付款方式</td>
|
||||
<td class="value-cell" colspan="3">{{ displayValue(getPaymentMethodLabel(localOrderData.paymentMethod)) }}</td>
|
||||
<td class="label-cell">付款比例</td>
|
||||
<td class="value-cell">{{ displayValue(localOrderData.paymentRatio, true) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">付款条件</td>
|
||||
<td class="value-cell" colspan="5" style="white-space: pre-wrap;">{{ displayValue(localOrderData.paymentDescription) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">其他特别说明</td>
|
||||
<td class="value-cell" colspan="5">{{ displayValue(localOrderData.remark) }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
|
@ -345,35 +207,34 @@ export default {
|
|||
</script>
|
||||
|
||||
<style scoped>
|
||||
/* Make form item labels bold to match table headers in other components */
|
||||
.order-info-display ::v-deep .el-form-item__label {
|
||||
.order-info-display {
|
||||
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-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;
|
||||
line-height: 1.5; /* Use a relative line-height instead of a fixed pixel value */
|
||||
font-size: 13px; /* Apply consistent font size for values */
|
||||
width: 12%;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* Adjust padding and borders for a cleaner, more table-like feel */
|
||||
.col-item-border {
|
||||
border: 1px solid #e0e0e0;
|
||||
padding: 8px; /* Standardized padding */
|
||||
margin-bottom: -1px; /* Collapse borders */
|
||||
margin-right: -1px; /* Collapse borders */
|
||||
}
|
||||
|
||||
.el-row {
|
||||
margin-bottom: -1px;
|
||||
.value-cell {
|
||||
background-color: #fff;
|
||||
color: #606266;
|
||||
text-align: left;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<el-drawer :title="title" :visible.sync="open" size="1000px" append-to-body @close="cancel">
|
||||
<el-form ref="form" :model="form" label-width="120px">
|
||||
<el-drawer :title="title" :visible.sync="open" size="70%" append-to-body @close="cancel">
|
||||
<el-form ref="form" :model="form" label-width="140px">
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>出库单信息</span>
|
||||
|
|
@ -96,8 +96,8 @@ export default {
|
|||
this.open = true;
|
||||
this.loading = true;
|
||||
getOuter(id).then(response => {
|
||||
this.form = response.data;
|
||||
this.warehouseList = response.data.warehouseInfoList;
|
||||
this.form = response.data.inventoryOuter;
|
||||
this.warehouseList = this.form.detailList;
|
||||
this.loading = false;
|
||||
}).catch(() => {
|
||||
this.loading = false;
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@
|
|||
<el-table-column label="联系人" prop="contactPerson" />
|
||||
<el-table-column label="收货地址" prop="contactAddress" :show-overflow-tooltip="true" />
|
||||
<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">
|
||||
<div v-if="scope.row.outerStatus === '1' || scope.row.outerStatus === '4'">
|
||||
<el-button size="mini" type="danger" @click="handleDeleteOuter(scope.row)">撤销</el-button>
|
||||
|
|
@ -98,10 +98,16 @@ export default {
|
|||
name: "ExecutionEdit",
|
||||
components: {OrderInfo, OrderDetailDrawer, CheckoutDialog, OuterDetailDialog },
|
||||
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() {
|
||||
return {
|
||||
form: {},
|
||||
currentOrderId:null,
|
||||
currentOrderId: null,
|
||||
rules: {
|
||||
// Add validation rules based on the red asterisks in edit.html
|
||||
businessPerson: [{ required: true, message: "进货商接口人不能为空", trigger: "blur" }],
|
||||
|
|
@ -121,9 +127,23 @@ export default {
|
|||
};
|
||||
},
|
||||
created() {
|
||||
const id = this.$route.params && this.$route.params.id;
|
||||
if (id) {
|
||||
this.getExecutionDetails(id);
|
||||
if (this.orderId) {
|
||||
this.getExecutionDetails(this.orderId);
|
||||
}
|
||||
},
|
||||
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: {
|
||||
|
|
@ -179,21 +199,14 @@ export default {
|
|||
if (valid) {
|
||||
updateExecution(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.cancel();
|
||||
this.$emit('success');
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
cancel() {
|
||||
this.$router.go(-1);
|
||||
this.$emit('cancel');
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'form.bgProperty'(newVal) {
|
||||
if(newVal) {
|
||||
this.fetchIndustryOptions(newVal);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -158,6 +158,16 @@
|
|||
@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-upload
|
||||
|
|
@ -196,12 +206,14 @@ import { listExecution, recallExecution, downloadSignFile } from "@/api/inventor
|
|||
import { getToken } from "@/utils/auth";
|
||||
import OrderDetailDrawer from '../../project/order/OrderDetailDrawer.vue';
|
||||
import ProjectDetailDrawer from '../../project/info/ProjectDetailDrawer.vue';
|
||||
import Edit from './edit.vue'; // Import the Edit component
|
||||
|
||||
export default {
|
||||
name: "Execution",
|
||||
components: {
|
||||
ProjectDetailDrawer,
|
||||
OrderDetailDrawer
|
||||
OrderDetailDrawer,
|
||||
Edit // Register the Edit component
|
||||
},
|
||||
dicts: ['execution_outer_status', 'execution_delivery_status', 'execution_sign_status'],
|
||||
data() {
|
||||
|
|
@ -216,6 +228,9 @@ export default {
|
|||
executionList: [],
|
||||
// 日期范围
|
||||
dateRange: [],
|
||||
// 编辑对话框控制
|
||||
editDialogVisible: false,
|
||||
currentEditOrderId: null,
|
||||
// --- 抽屉控制 ---
|
||||
projectDrawerVisible: false,
|
||||
orderDrawerVisible: false,
|
||||
|
|
@ -281,8 +296,17 @@ export default {
|
|||
},
|
||||
/** 编辑按钮操作 */
|
||||
handleUpdate(row) {
|
||||
// 跳转到编辑页面,需要配置路由
|
||||
this.$router.push("/inventory/execution/edit/" + row.id);
|
||||
this.currentEditOrderId = row.id;
|
||||
this.editDialogVisible = true;
|
||||
},
|
||||
/** 编辑成功后回调 */
|
||||
handleEditSuccess() {
|
||||
this.editDialogVisible = false;
|
||||
this.getList(); // Refresh the list
|
||||
},
|
||||
/** 编辑取消后回调 */
|
||||
handleEditCancel() {
|
||||
this.editDialogVisible = false;
|
||||
},
|
||||
/** 签收按钮操作 */
|
||||
handleSign(row) {
|
||||
|
|
@ -334,3 +358,9 @@ export default {
|
|||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.edit-dialog .el-dialog__body {
|
||||
padding: 0px 20px 20px 20px !important;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<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;">
|
||||
<el-descriptions :column="2" border>
|
||||
<el-descriptions-item label="出库单号">{{ details.outerCode }}</el-descriptions-item>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<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;">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px" :disabled="true">
|
||||
<el-tabs v-model="activeTab">
|
||||
|
|
|
|||
|
|
@ -11,8 +11,10 @@ import com.ruoyi.sip.dto.inventory.InventoryInfoExcelDto;
|
|||
import com.ruoyi.sip.service.IInventoryAuthService;
|
||||
import com.ruoyi.sip.service.IInventoryOuterService;
|
||||
import com.ruoyi.sip.service.IOmsInventoryInnerService;
|
||||
import com.ruoyi.sip.vo.OuterViewVo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
|
|
@ -85,6 +87,18 @@ public class VueInventoryOuterController extends BaseController
|
|||
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);
|
||||
}
|
||||
/**
|
||||
* 获取出库单详细信息
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue