|
|
@@ -24,7 +24,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="main" style="padding: 0 10px">
|
|
|
- <div v-if="activeComp == 'saleorder'">
|
|
|
+ <div v-show="activeComp == 'saleorder'">
|
|
|
<div class="ele-border-lighter form-content" v-loading="loading">
|
|
|
<search-table @search="reload"></search-table>
|
|
|
<el-tabs v-model="activeName" type="card" @tab-click="handleClick">
|
|
|
@@ -290,48 +290,13 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-if="activeComp == 'invoice'">
|
|
|
- <invoice @getToDoReminder="getToDoReminder"></invoice>
|
|
|
- </div>
|
|
|
- <div v-if="activeComp == 'invoiceConfirm'">
|
|
|
- <invoice-confirm @getToDoReminder="getToDoReminder"></invoice-confirm>
|
|
|
- </div>
|
|
|
- <div v-if="activeComp == 'entrustedReceive'">
|
|
|
- <entrustedReceive
|
|
|
- @getToDoReminder="getToDoReminder"
|
|
|
- ></entrustedReceive>
|
|
|
- </div>
|
|
|
- <div v-if="activeComp == 'returnorder'" class="returnorder">
|
|
|
- <return-goods @getToDoReminder="getToDoReminder"></return-goods>
|
|
|
- </div>
|
|
|
- <div v-if="activeComp == 'accountstatement'">
|
|
|
- <accountstatement
|
|
|
- @getToDoReminder="getToDoReminder"
|
|
|
- ></accountstatement>
|
|
|
- </div>
|
|
|
- <div v-if="activeComp == 'customerReturnOrder'">
|
|
|
- <customerReturnOrder
|
|
|
- @getToDoReminder="getToDoReminder"
|
|
|
- ></customerReturnOrder>
|
|
|
- </div>
|
|
|
- <div v-if="activeComp == 'exceptionList'">
|
|
|
- <exceptionList @getToDoReminder="getToDoReminder"></exceptionList>
|
|
|
- </div>
|
|
|
- <div v-if="activeComp == 'trayList'">
|
|
|
- <palletManagement
|
|
|
- @getToDoReminder="getToDoReminder"
|
|
|
- ></palletManagement>
|
|
|
- </div>
|
|
|
- <div v-if="activeComp == 'adjustmentNote'">
|
|
|
- <adjustmentNote
|
|
|
+ <keep-alive>
|
|
|
+ <component
|
|
|
+ v-if="currentTabComponent"
|
|
|
+ :is="currentTabComponent"
|
|
|
@getToDoReminder="getToDoReminder"
|
|
|
- ></adjustmentNote>
|
|
|
- </div>
|
|
|
- <div v-if="activeComp == 'suspend'">
|
|
|
- <suspend
|
|
|
- @getToDoReminder="getToDoReminder"
|
|
|
- ></suspend>
|
|
|
- </div>
|
|
|
+ ></component>
|
|
|
+ </keep-alive>
|
|
|
</div>
|
|
|
</el-card>
|
|
|
|
|
|
@@ -633,6 +598,22 @@ export default {
|
|
|
clearInterval(this.timeR);
|
|
|
},
|
|
|
computed: {
|
|
|
+ // 根据当前页签返回对应的子组件(用于 keep-alive + 单一动态组件,避免多 v-if 兄弟节点导致缓存错乱)
|
|
|
+ currentTabComponent() {
|
|
|
+ const map = {
|
|
|
+ invoice: invoice,
|
|
|
+ invoiceConfirm: invoiceConfirm,
|
|
|
+ entrustedReceive: entrustedReceive,
|
|
|
+ returnorder: returnGoods,
|
|
|
+ accountstatement: accountstatement,
|
|
|
+ customerReturnOrder: customerReturnOrder,
|
|
|
+ exceptionList: exceptionList,
|
|
|
+ trayList: palletManagement,
|
|
|
+ adjustmentNote: adjustmentNote,
|
|
|
+ suspend: suspend
|
|
|
+ };
|
|
|
+ return map[this.activeComp] || null;
|
|
|
+ },
|
|
|
exportParams() {
|
|
|
return {
|
|
|
...this.params,
|
|
|
@@ -987,6 +968,19 @@ export default {
|
|
|
];
|
|
|
}
|
|
|
},
|
|
|
+ watch: {
|
|
|
+ // 切回销售订单主列表时,保持搜索条件与页码不变,仅刷新列表数据
|
|
|
+ activeComp(val) {
|
|
|
+ if (val === 'saleorder') {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ if (this.$refs.table) {
|
|
|
+ this.$refs.table.reload();
|
|
|
+ if (this.$refs.table.doLayout) this.$refs.table.doLayout();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
methods: {
|
|
|
getSummaries(param) {
|
|
|
return getSummaries(
|