Browse Source

新增商城预约单添加同一仓库限制

fix_bug_pro20231227
qb 1 year ago
parent
commit
d8d289e732
  1. 137
      src/views/mail/order/add.vue

137
src/views/mail/order/add.vue

@ -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>

Loading…
Cancel
Save