|
|
@ -599,35 +599,38 @@ |
|
|
|
</el-dialog> |
|
|
|
</el-dialog> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</basic-container> |
|
|
|
</basic-container> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
|
<script> |
|
|
|
<script> |
|
|
|
import { |
|
|
|
import { |
|
|
|
autonomouslySave, |
|
|
|
autonomouslySave, |
|
|
|
update, |
|
|
|
update, |
|
|
|
remove, |
|
|
|
remove, |
|
|
|
getReservationInfo, |
|
|
|
getReservationInfo, |
|
|
|
getReservationZeroOrderDetail, |
|
|
|
getReservationZeroOrderDetail, |
|
|
|
getReservationPackageListByOrderId, |
|
|
|
getReservationPackageListByOrderId, |
|
|
|
} from '@/api/distribution/distributionReservation'; |
|
|
|
} from '@/api/distribution/distributionReservation'; |
|
|
|
import { |
|
|
|
import { |
|
|
|
getStockArticleList, |
|
|
|
getStockArticleList, |
|
|
|
getPackageListByStockArticleId, |
|
|
|
getPackageListByStockArticleId, |
|
|
|
getClientList, |
|
|
|
getClientList, |
|
|
|
selectUpdateAvailableStockArticle, |
|
|
|
selectUpdateAvailableStockArticle, |
|
|
|
getZeroOrderDetail, |
|
|
|
getZeroOrderDetail, |
|
|
|
} from '@/api/distribution/distributionStockArticle'; |
|
|
|
} from '@/api/distribution/distributionStockArticle'; |
|
|
|
import { getDetailDelivery } from '@/api/distribution/distributionDelivery'; |
|
|
|
import { getDetailDelivery } from '@/api/distribution/distributionDelivery'; |
|
|
|
import { addIncrement } from '@/api/distribution/distributionStockArticle'; |
|
|
|
import { addIncrement } from '@/api/distribution/distributionStockArticle'; |
|
|
|
import {getStockListClient,selectInventoryDetail } from '@/api/distribution/distributionStockList'; |
|
|
|
import { |
|
|
|
|
|
|
|
getStockListClient, |
|
|
|
|
|
|
|
selectInventoryDetail, |
|
|
|
|
|
|
|
} from '@/api/distribution/distributionStockList'; |
|
|
|
|
|
|
|
|
|
|
|
import option from '@/option/distribution/distributionStockArticle'; |
|
|
|
import option from '@/option/distribution/distributionStockArticle'; |
|
|
|
import { mapGetters } from 'vuex'; |
|
|
|
import { mapGetters } from 'vuex'; |
|
|
|
import { getDictionaryBiz } from '@/api/system/dict'; |
|
|
|
import { getDictionaryBiz } from '@/api/system/dict'; |
|
|
|
import dayjs from 'dayjs'; |
|
|
|
import dayjs from 'dayjs'; |
|
|
|
import { entryNum, updateEntryNum } from '@/api/distribution/distributionParcelNumber'; |
|
|
|
import { entryNum, updateEntryNum } from '@/api/distribution/distributionParcelNumber'; |
|
|
|
|
|
|
|
|
|
|
|
export default { |
|
|
|
export default { |
|
|
|
data() { |
|
|
|
data() { |
|
|
|
return { |
|
|
|
return { |
|
|
|
columnList: [ |
|
|
|
columnList: [ |
|
|
@ -930,7 +933,7 @@ |
|
|
|
head: false, |
|
|
|
head: false, |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
prop: 'warehouseName', |
|
|
|
prop: 'warehouseId', |
|
|
|
label: '仓库名称', |
|
|
|
label: '仓库名称', |
|
|
|
type: 2, |
|
|
|
type: 2, |
|
|
|
values: '', |
|
|
|
values: '', |
|
|
@ -1047,7 +1050,7 @@ |
|
|
|
values: '', |
|
|
|
values: '', |
|
|
|
width: '50', |
|
|
|
width: '50', |
|
|
|
checkarr: [], |
|
|
|
checkarr: [], |
|
|
|
fixed: false, |
|
|
|
fixed: true, |
|
|
|
sortable: true, |
|
|
|
sortable: true, |
|
|
|
head: false, |
|
|
|
head: false, |
|
|
|
}, |
|
|
|
}, |
|
|
@ -1058,7 +1061,7 @@ |
|
|
|
values: '', |
|
|
|
values: '', |
|
|
|
width: '150', |
|
|
|
width: '150', |
|
|
|
checkarr: [], |
|
|
|
checkarr: [], |
|
|
|
fixed: false, |
|
|
|
fixed: true, |
|
|
|
sortable: true, |
|
|
|
sortable: true, |
|
|
|
head: false, |
|
|
|
head: false, |
|
|
|
}, |
|
|
|
}, |
|
|
@ -1413,7 +1416,8 @@ |
|
|
|
checkarr: [], |
|
|
|
checkarr: [], |
|
|
|
fixed: false, |
|
|
|
fixed: false, |
|
|
|
sortable: true, |
|
|
|
sortable: true, |
|
|
|
},{ |
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
prop: 'outboundQuantity', |
|
|
|
prop: 'outboundQuantity', |
|
|
|
label: '出库数量', |
|
|
|
label: '出库数量', |
|
|
|
type: 1, |
|
|
|
type: 1, |
|
|
@ -1539,28 +1543,30 @@ |
|
|
|
type: 1, |
|
|
|
type: 1, |
|
|
|
values: '', |
|
|
|
values: '', |
|
|
|
width: '130', |
|
|
|
width: '130', |
|
|
|
checkarr: [ { |
|
|
|
checkarr: [ |
|
|
|
|
|
|
|
{ |
|
|
|
value: `true`, |
|
|
|
value: `true`, |
|
|
|
label: '是', |
|
|
|
label: '是', |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
value: `false`, |
|
|
|
value: `false`, |
|
|
|
label: '否', |
|
|
|
label: '否', |
|
|
|
},], |
|
|
|
}, |
|
|
|
|
|
|
|
], |
|
|
|
fixed: false, |
|
|
|
fixed: false, |
|
|
|
sortable: true, |
|
|
|
sortable: true, |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
{ |
|
|
|
// { |
|
|
|
prop: '', |
|
|
|
// prop: '', |
|
|
|
label: '操作', |
|
|
|
// label: '操作', |
|
|
|
type: 6, |
|
|
|
// type: 6, |
|
|
|
values: '', |
|
|
|
// values: '', |
|
|
|
width: '200', |
|
|
|
// width: '200', |
|
|
|
checkarr: [], |
|
|
|
// checkarr: [], |
|
|
|
fixed: 'right', |
|
|
|
// fixed: 'right', |
|
|
|
hide: true, |
|
|
|
// hide: true, |
|
|
|
}, |
|
|
|
// }, |
|
|
|
// 更多列的配置... |
|
|
|
// 更多列的配置... |
|
|
|
], |
|
|
|
], |
|
|
|
columnParcels: [ |
|
|
|
columnParcels: [ |
|
|
@ -1835,6 +1841,8 @@ |
|
|
|
zeroOrderMax: 0, |
|
|
|
zeroOrderMax: 0, |
|
|
|
// 商城名称 |
|
|
|
// 商城名称 |
|
|
|
marketName: '', |
|
|
|
marketName: '', |
|
|
|
|
|
|
|
/** 被选中仓库信息 */ |
|
|
|
|
|
|
|
warehouseId: '', |
|
|
|
// 包件复选框列表 |
|
|
|
// 包件复选框列表 |
|
|
|
packageDataSec: [], |
|
|
|
packageDataSec: [], |
|
|
|
inventoryData: [], |
|
|
|
inventoryData: [], |
|
|
@ -2433,7 +2441,10 @@ |
|
|
|
console.log(item); |
|
|
|
console.log(item); |
|
|
|
}); |
|
|
|
}); |
|
|
|
// 当两个列表没有数据时, 清空限制 |
|
|
|
// 当两个列表没有数据时, 清空限制 |
|
|
|
if (this.inventoryData.length === 0 && this.orderData.length === 0) this.marketName = ''; |
|
|
|
if (this.inventoryData.length === 0 && this.orderData.length === 0) { |
|
|
|
|
|
|
|
this.marketName = ''; |
|
|
|
|
|
|
|
this.warehouseId = ''; |
|
|
|
|
|
|
|
} |
|
|
|
// 当列表没有数据时, 表单清空 |
|
|
|
// 当列表没有数据时, 表单清空 |
|
|
|
if (this.orderData.length === 0) { |
|
|
|
if (this.orderData.length === 0) { |
|
|
|
this.form.consignee = ''; |
|
|
|
this.form.consignee = ''; |
|
|
@ -2454,7 +2465,10 @@ |
|
|
|
console.log('item>>>>>>>>>>>', item); |
|
|
|
console.log('item>>>>>>>>>>>', item); |
|
|
|
}); |
|
|
|
}); |
|
|
|
// 当两个列表没有数据时, 清空限制 |
|
|
|
// 当两个列表没有数据时, 清空限制 |
|
|
|
if (this.inventoryData.length === 0 && this.orderData.length === 0) this.marketName = ''; |
|
|
|
if (this.inventoryData.length === 0 && this.orderData.length === 0) { |
|
|
|
|
|
|
|
this.marketName = ''; |
|
|
|
|
|
|
|
this.warehouseId = ''; |
|
|
|
|
|
|
|
} |
|
|
|
console.log('>>>>>>>>>>>>>>>row', row); |
|
|
|
console.log('>>>>>>>>>>>>>>>row', row); |
|
|
|
}, |
|
|
|
}, |
|
|
|
showStockListEdit(row) { |
|
|
|
showStockListEdit(row) { |
|
|
@ -2668,15 +2682,20 @@ |
|
|
|
console.log('this.inventoryList :>> ', this.inventoryList); |
|
|
|
console.log('this.inventoryList :>> ', this.inventoryList); |
|
|
|
// 检测商场是否选择统一商场 |
|
|
|
// 检测商场是否选择统一商场 |
|
|
|
let _marketName = ''; |
|
|
|
let _marketName = ''; |
|
|
|
|
|
|
|
let _warehouseName = ''; |
|
|
|
const _isUnifyMarketName = this.inventoryList.every(value => { |
|
|
|
const _isUnifyMarketName = this.inventoryList.every(value => { |
|
|
|
if (_marketName === '') _marketName = value.marketName; |
|
|
|
if (_marketName === '') { |
|
|
|
return _marketName === value.marketName; |
|
|
|
_marketName = value.marketName; |
|
|
|
|
|
|
|
_warehouseName = value.warehouseId; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return _marketName === value.marketName && _warehouseName === value.warehouseId; |
|
|
|
}); |
|
|
|
}); |
|
|
|
if (!_isUnifyMarketName) { |
|
|
|
if (!_isUnifyMarketName) { |
|
|
|
this.$message.warning('请选择统一商场!!!'); |
|
|
|
this.$message.warning('请选择统一仓库操作!!!'); |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
this.marketName = _marketName; |
|
|
|
this.marketName = _marketName; |
|
|
|
|
|
|
|
this.warehouseId = _warehouseName; |
|
|
|
console.log('this.inventoryList :>> ', this.inventoryList); |
|
|
|
console.log('this.inventoryList :>> ', this.inventoryList); |
|
|
|
this.inventoryData = [...this.inventoryData, ...this.inventoryList]; |
|
|
|
this.inventoryData = [...this.inventoryData, ...this.inventoryList]; |
|
|
|
|
|
|
|
|
|
|
@ -2693,6 +2712,7 @@ |
|
|
|
let _address = list[0].customerAddress; |
|
|
|
let _address = list[0].customerAddress; |
|
|
|
let _phone = list[0].customerTelephone; |
|
|
|
let _phone = list[0].customerTelephone; |
|
|
|
let _marketName = list[0].mallName; |
|
|
|
let _marketName = list[0].mallName; |
|
|
|
|
|
|
|
let _warehouseId = list[0].warehouseId; |
|
|
|
|
|
|
|
|
|
|
|
// 循环查看数据是否符合要求 |
|
|
|
// 循环查看数据是否符合要求 |
|
|
|
const isRturn = list.every(item => { |
|
|
|
const isRturn = list.every(item => { |
|
|
@ -2708,13 +2728,22 @@ |
|
|
|
this.$message.warning('请选择统一顾客订单!!!'); |
|
|
|
this.$message.warning('请选择统一顾客订单!!!'); |
|
|
|
return false; |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (item.warehouseId !== _warehouseId) { |
|
|
|
|
|
|
|
console.log('item.warehouseId :>> ', item.warehouseId); |
|
|
|
|
|
|
|
console.log('_warehouseId :>> ', _warehouseId); |
|
|
|
|
|
|
|
this.$message.warning('请选择统一仓库!!!'); |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
} |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
if (!isRturn) return; |
|
|
|
if (!isRturn) return; |
|
|
|
|
|
|
|
|
|
|
|
// 设置商场名称 |
|
|
|
// 设置商场名称 |
|
|
|
if (this.marketName === '') this.marketName = _marketName; |
|
|
|
if (this.marketName === '') { |
|
|
|
|
|
|
|
this.marketName = _marketName; |
|
|
|
|
|
|
|
this.warehouseId = _warehouseId; |
|
|
|
|
|
|
|
} |
|
|
|
// this.marketName = list[0].marketName; |
|
|
|
// this.marketName = list[0].marketName; |
|
|
|
|
|
|
|
|
|
|
|
this.form.consignee = _name; |
|
|
|
this.form.consignee = _name; |
|
|
@ -2822,9 +2851,7 @@ |
|
|
|
this.query['freezeStatus'] = index; |
|
|
|
this.query['freezeStatus'] = index; |
|
|
|
} else if (row.prop === 'completeSetName') { |
|
|
|
} else if (row.prop === 'completeSetName') { |
|
|
|
this.query['completeSet'] = index; |
|
|
|
this.query['completeSet'] = index; |
|
|
|
} |
|
|
|
} else { |
|
|
|
|
|
|
|
|
|
|
|
else { |
|
|
|
|
|
|
|
this.query[row.prop] = index; |
|
|
|
this.query[row.prop] = index; |
|
|
|
} |
|
|
|
} |
|
|
|
this.onLoadOrder(this.page); |
|
|
|
this.onLoadOrder(this.page); |
|
|
@ -2841,7 +2868,7 @@ |
|
|
|
page.pageSize, |
|
|
|
page.pageSize, |
|
|
|
Object.assign(params, this.query) |
|
|
|
Object.assign(params, this.query) |
|
|
|
); |
|
|
|
); |
|
|
|
console.log('res ===>>', res) |
|
|
|
console.log('res ===>>', res); |
|
|
|
const { records, total } = res.data.data; |
|
|
|
const { records, total } = res.data.data; |
|
|
|
|
|
|
|
|
|
|
|
this.stockArticleInfo = records; |
|
|
|
this.stockArticleInfo = records; |
|
|
@ -2904,6 +2931,7 @@ |
|
|
|
console.log('reservation>>>>>>>>', reservation); |
|
|
|
console.log('reservation>>>>>>>>', reservation); |
|
|
|
// 添加限制的商场名称 |
|
|
|
// 添加限制的商场名称 |
|
|
|
this.marketName = reservation.mallName; |
|
|
|
this.marketName = reservation.mallName; |
|
|
|
|
|
|
|
this.warehouseId = reservation.warehouseId; |
|
|
|
this.orderData = reservation.stockArticleList; |
|
|
|
this.orderData = reservation.stockArticleList; |
|
|
|
this.inventoryData = reservation.inventoryList; |
|
|
|
this.inventoryData = reservation.inventoryList; |
|
|
|
this.inventoryData.forEach(item => { |
|
|
|
this.inventoryData.forEach(item => { |
|
|
@ -2925,26 +2953,25 @@ |
|
|
|
this.loading = false; |
|
|
|
this.loading = false; |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
}; |
|
|
|
}; |
|
|
|
</script> |
|
|
|
</script> |
|
|
|
<style lang="scss"> |
|
|
|
<style lang="scss"> |
|
|
|
input::-webkit-outer-spin-button, |
|
|
|
input::-webkit-outer-spin-button, |
|
|
|
input::-webkit-inner-spin-button { |
|
|
|
input::-webkit-inner-spin-button { |
|
|
|
-webkit-appearance: none; |
|
|
|
-webkit-appearance: none; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
input[type='number'] { |
|
|
|
input[type='number'] { |
|
|
|
-moz-appearance: textfield; |
|
|
|
-moz-appearance: textfield; |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |
|
|
|
</style> |
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
|
<style lang="scss" scoped> |
|
|
|
.el-btn-xz { |
|
|
|
.el-btn-xz { |
|
|
|
width: 68px; |
|
|
|
width: 68px; |
|
|
|
height: 26px; |
|
|
|
height: 26px; |
|
|
|
border: 1px solid; |
|
|
|
border: 1px solid; |
|
|
|
margin-bottom: 8px; |
|
|
|
margin-bottom: 8px; |
|
|
|
border-radius: 4px; |
|
|
|
border-radius: 4px; |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |
|
|
|
</style> |
|
|
|
|
|
|
|
|
|
|
|