|
|
@@ -7,6 +7,7 @@
|
|
|
@columns-change="handleColumnChange"
|
|
|
:cache-key="cacheKeyUrl"
|
|
|
:datasource="form.datasource"
|
|
|
+ :selection.sync="selection"
|
|
|
class="time-form"
|
|
|
>
|
|
|
<!-- 表头工具栏 -->
|
|
|
@@ -21,6 +22,10 @@
|
|
|
>
|
|
|
新增
|
|
|
</el-button>
|
|
|
+ <warehouseAll
|
|
|
+ @success="warehouseAllChange"
|
|
|
+ :disabled="!selection.length"
|
|
|
+ ></warehouseAll>
|
|
|
</div>
|
|
|
</template>
|
|
|
<template v-slot:technicalDrawings="{ row, $index }">
|
|
|
@@ -177,7 +182,7 @@
|
|
|
</el-form>
|
|
|
</template>
|
|
|
<script>
|
|
|
- import { emailReg, phoneReg, numberReg } from 'ele-admin';
|
|
|
+ import { numberReg } from 'ele-admin';
|
|
|
import dictMixins from '@/mixins/dictMixins';
|
|
|
import productList from '@/BIZComponents/product-list.vue';
|
|
|
|
|
|
@@ -186,9 +191,8 @@
|
|
|
getWarehouseOutStock
|
|
|
} from '@/api/saleManage/saleorder';
|
|
|
|
|
|
- import { copyObj } from '@/utils/util';
|
|
|
- import { getFile } from '@/api/system/file';
|
|
|
- // import fileMain from '@/components/addDoc/index.vue';
|
|
|
+ import warehouseAll from '@/BIZComponents/warehouseAll.vue';
|
|
|
+
|
|
|
import tabMixins from '@/mixins/tableColumnsMixin';
|
|
|
|
|
|
export default {
|
|
|
@@ -202,7 +206,7 @@
|
|
|
pricingWay: [Number, String]
|
|
|
},
|
|
|
components: {
|
|
|
- // fileMain,
|
|
|
+ warehouseAll,
|
|
|
productList
|
|
|
},
|
|
|
data() {
|
|
|
@@ -301,13 +305,13 @@
|
|
|
headerSlot: 'headerWarehouseId',
|
|
|
align: 'center'
|
|
|
},
|
|
|
- {
|
|
|
- minWidth: 80,
|
|
|
- prop: 'warehouseNum',
|
|
|
- label: '库存',
|
|
|
- slot: 'warehouseNum',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
+ // {
|
|
|
+ // minWidth: 80,
|
|
|
+ // prop: 'warehouseNum',
|
|
|
+ // label: '库存',
|
|
|
+ // slot: 'warehouseNum',
|
|
|
+ // align: 'center'
|
|
|
+ // },
|
|
|
{
|
|
|
width: 110,
|
|
|
prop: 'orderTotalCount',
|
|
|
@@ -530,20 +534,38 @@
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
- async warehouseChange(index, row, data) {
|
|
|
- this.$set(this.form.datasource[index], 'warehouseName', data.name);
|
|
|
- this.$set(this.form.datasource[index], 'warehouseCode', data.code);
|
|
|
- const warehouseOutStock = await getWarehouseOutStock({
|
|
|
- warehouseId: data.id,
|
|
|
- code: row.productCode
|
|
|
+ async warehouseChange(index, row) {
|
|
|
+ let data = null;
|
|
|
+ if (row.warehouseId) {
|
|
|
+ data = this.warehouseList.find((item) => item.id == row.warehouseId);
|
|
|
+ } else {
|
|
|
+ data = this.warehouseList.find(
|
|
|
+ (item) => item.inventoryType == row.categoryRootLevelId
|
|
|
+ );
|
|
|
+ }
|
|
|
+ if (data) {
|
|
|
+ this.$set(this.form.datasource[index], 'warehouseName', data.name);
|
|
|
+ this.$set(this.form.datasource[index], 'warehouseCode', data.code);
|
|
|
+ this.$set(this.form.datasource[index], 'warehouseId', data.id);
|
|
|
+ // const warehouseOutStock = await getWarehouseOutStock({
|
|
|
+ // warehouseId: data.id,
|
|
|
+ // code: row.productCode
|
|
|
+ // });
|
|
|
+ // this.$set(
|
|
|
+ // this.form.datasource[index],
|
|
|
+ // 'warehouseNum',
|
|
|
+ // warehouseOutStock
|
|
|
+ // );
|
|
|
+ }
|
|
|
+ },
|
|
|
+ warehouseAllChange(data) {
|
|
|
+ let keyS = this.selection.map((item) => item.key - 1);
|
|
|
+ keyS.forEach((key) => {
|
|
|
+ this.$set(this.form.datasource[key], 'warehouseName', data.name);
|
|
|
+ this.$set(this.form.datasource[key], 'warehouseCode', data.code);
|
|
|
+ this.$set(this.form.datasource[key], 'warehouseId', data.id);
|
|
|
});
|
|
|
- this.$set(
|
|
|
- this.form.datasource[index],
|
|
|
- 'warehouseNum',
|
|
|
- warehouseOutStock
|
|
|
- );
|
|
|
},
|
|
|
-
|
|
|
//修改数量更新合计
|
|
|
changeNum(val, row, index) {
|
|
|
this.$set(
|
|
|
@@ -622,16 +644,10 @@
|
|
|
if (data) {
|
|
|
this.form.datasource = data;
|
|
|
data.forEach(async (item, index) => {
|
|
|
- if (item.warehouseId) {
|
|
|
- this.$set(
|
|
|
- this.form.datasource[index],
|
|
|
- 'warehouseNum',
|
|
|
- await getWarehouseOutStock({
|
|
|
- warehouseId: item.warehouseId,
|
|
|
- code: item.productCode
|
|
|
- })
|
|
|
- );
|
|
|
+ if (!item.warehouseId) {
|
|
|
+ this.warehouseChange(index, item);
|
|
|
}
|
|
|
+
|
|
|
//发货数量因已发货数量被修改需要重新计算金额,总重
|
|
|
this.changeNum(item.totalCount, item, index);
|
|
|
});
|
|
|
@@ -683,7 +699,11 @@
|
|
|
|
|
|
this.$set(parasm, 'imgCode', item.imgCode);
|
|
|
this.$set(parasm, 'produceType', item.componentAttribute);
|
|
|
-
|
|
|
+ this.$set(
|
|
|
+ parasm,
|
|
|
+ 'categoryRootLevelId',
|
|
|
+ item.categoryLevelPathIdParent
|
|
|
+ );
|
|
|
this.$set(parasm, 'approvalNumber', item.extField?.approvalNumber);
|
|
|
this.$set(
|
|
|
parasm,
|
|
|
@@ -697,6 +717,11 @@
|
|
|
this.form.datasource.push(row);
|
|
|
}
|
|
|
});
|
|
|
+ this.form.datasource.forEach((item, index) => {
|
|
|
+ if (!item.warehouseId) {
|
|
|
+ this.warehouseChange(index, item);
|
|
|
+ }
|
|
|
+ });
|
|
|
},
|
|
|
validateForm(callback) {
|
|
|
//开始表单校验
|