Commit 38c1529c authored by Marcus's avatar Marcus

入仓主流程

parent 492ec523
......@@ -26,14 +26,6 @@ export function deleteOrderWarehouseIn(id) {
})
}
// 获得入仓货物详情
export function getOrderWarehouseIn(id) {
return request({
url: '/depository/order-warehouse-in/get?id=' + id,
method: 'get'
})
}
// 获得入仓货物详情分页
export function getOrderWarehouseInPage(query) {
return request({
......
......@@ -120,3 +120,31 @@ export function getLadingBill(query){
params: query,
})
}
// 获得入仓货物详情
export function getOrderWarehouseIn(id) {
return request({
url: '/order/order-warehouse-in/get-order-warehouse-in?orderId=' + id,
method: 'get'
})
}
// 入仓
export function orderWarehouseIn(data){
return request({
url: '/order/order-warehouse-in/create',
method: 'post',
data
})
}
// 入仓完成
export function orderWarehouseInFinish(data){
return request({
url: '/order/order-warehouse-in/finish',
method: 'post',
data
})
}
......@@ -45,7 +45,7 @@
</el-tabs>
<span slot="footer">
<el-button @click="opened = false">关 闭</el-button>
<el-button type="primary" @click="opened = false">提 交</el-button>
<el-button type="primary" @click="handleSubmit()">提 交</el-button>
</span>
</el-dialog>
</div>
......@@ -61,6 +61,7 @@ export default {
type: Boolean,
default: false
},
value: String
},
data() {
......@@ -92,6 +93,10 @@ export default {
},
methods: {
handleSubmit() {
this.$emit('input', this.selected.join(','))
this.opened = false
},
handleClose() {},
handleSelectWarehouse(warehouse) {
this.activeWarehouse = warehouse
......
......@@ -5,12 +5,11 @@
title="入仓-货物入仓"
:visible.sync="opened"
width="960px"
:before-close="handleClose()"
>
<el-descriptions border :column="2">
<el-descriptions-item label="中文品名"></el-descriptions-item>
<el-descriptions-item label="英文品名"></el-descriptions-item>
<el-descriptions-item label="品牌"></el-descriptions-item>
<el-descriptions-item label="品牌">{{['无牌', '有牌', '中性'][warehousing.brandType]}}</el-descriptions-item>
<el-descriptions-item label="是否备案"></el-descriptions-item>
<el-descriptions-item label="填单参数"></el-descriptions-item>
</el-descriptions>
......@@ -26,45 +25,95 @@
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>入仓记录</span>
<el-button style="float: right;margin-left: 15px" size="mini" type="primary" icon="el-icon-minus" circle></el-button>
<el-button style="float: right" size="mini" type="primary" icon="el-icon-plus" circle></el-button>
<el-button style="float: right;margin-left: 15px" size="mini" type="primary" icon="el-icon-minus" circle @click="handleDelete"></el-button>
<el-button style="float: right" size="mini" type="primary" icon="el-icon-plus" circle @click="handleAdd()"></el-button>
</div>
<el-table
:data="[]"
:data="warehousing.orderWarehouseInBackItemDoList"
style="width: 100%">
<el-table-column label="箱数" prop="cartonsNum">
</el-table-column>
<el-table-column label="包装类型" prop="boxGauge">
</el-table-column>
<el-table-column label="长(cm)" prop="">
</el-table-column>
<el-table-column label="款(cm)" prop="">
</el-table-column>
<el-table-column label="高(cm)" prop="">
</el-table-column>
<el-table-column label="体积(m³)" prop="">
</el-table-column>
<el-table-column label="重量(Kg)" prop="">
</el-table-column>
<el-table-column label="数量" prop="quantityAll">
</el-table-column>
<el-table-column label="快递单号" prop="expressNo">
</el-table-column>
</el-table>
<el-table
:data="warehousingInNewList"
style="width: 100%">
<el-table-column label="箱数">
<template v-slot="{r,c,$index}">
<el-input v-model="warehousingInNewList[$index].cartonsNum" placeholder=""></el-input>
</template>
</el-table-column>
<el-table-column label="包装类型">
<template v-slot="{r,c,$index}">
<el-input v-model="warehousingInNewList[$index].boxGauge" placeholder=""></el-input>
</template>
</el-table-column>
<el-table-column label="长(cm)">
<!-- <template v-slot="{r,c,$index}">-->
<!-- <el-input v-model="warehousingInNewList[$index].cartonsNum" placeholder=""></el-input>-->
<!-- </template>-->
</el-table-column>
<el-table-column label="款(cm)">
<!-- <template v-slot="{r,c,$index}">-->
<!-- <el-input v-model="warehousingInNewList[$index].cartonsNum" placeholder=""></el-input>-->
<!-- </template>-->
</el-table-column>
<el-table-column label="高(cm)">
<!-- <template v-slot="{r,c,$index}">-->
<!-- <el-input v-model="warehousingInNewList[$index].cartonsNum" placeholder=""></el-input>-->
<!-- </template>-->
</el-table-column>
<el-table-column label="体积(m³)">
<!-- <template v-slot="{r,c,$index}">-->
<!-- <el-input v-model="warehousingInNewList[$index].cartonsNum" placeholder=""></el-input>-->
<!-- </template>-->
</el-table-column>
<el-table-column label="重量(Kg)">
<!-- <template v-slot="{r,c,$index}">-->
<!-- <el-input v-model="warehousingInNewList[$index].cartonsNum" placeholder=""></el-input>-->
<!-- </template>-->
</el-table-column>
<el-table-column label="数量">
<template v-slot="{r,c,$index}">
<el-input v-model="warehousingInNewList[$index].quantityAll" placeholder=""></el-input>
</template>
</el-table-column>
<el-table-column label="快递单号">
<template v-slot="{r,c,$index}">
<el-input v-model="warehousingInNewList[$index].expressNo" placeholder=""></el-input>
</template>
</el-table-column>
</el-table>
</el-card>
<span slot="footer">
<el-button @click="opened = false">关 闭</el-button>
<el-button type="primary" @click="opened = false">提 交</el-button>
<el-button type="primary" @click="handleSubmit()">提 交</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import {getOrderWarehouseIn} from "@/api/ depository/orderWarehouseIn"
import dictSelector from "@/components/DictSelector"
import {DICT_TYPE} from "@/utils/dict"
import warehousing from "@/views/ecw/order/warehousing"
import {orderWarehouseIn} from "@/api/ecw/order"
export default {
name: 'editDialog',
......@@ -78,7 +127,16 @@ export default {
type: Boolean,
default: false
},
id: Number
warehousing: {
type: Object,
default: () => {
return {
material: undefined,
inTime: undefined,
orderWarehouseInBackItemDoList: []
}
}
}
},
mounted() {
......@@ -90,9 +148,10 @@ export default {
opened: false,
form: {
material: undefined,
time: 0
inTime: 0
},
orderItem: {}
// orderItem: {}
warehousingInNewList: []
};
},
......@@ -100,16 +159,16 @@ export default {
visible(val) {
if (val) {
this.opened = true
if (this.id) {
getOrderWarehouseIn(this.id).then(r => {
this.orderItem = r.data
})
if (this.warehousing) {
// this.orderItem = this.warehousing
this.inTime = this.warehousing.inTime
}
} else {
}
},
opened(val) {
if (val) {
this.form.material = warehousing.material
} else {
this.$emit('update:visible', false)
}
......@@ -117,7 +176,55 @@ export default {
},
methods: {
handleClose() {},
handleSubmit() {
Promise.all(
this.warehousingInNewList.map(e => {
return orderWarehouseIn({
...e,
inTime: this.form.inTime,
material: this.form.material,
brandType: this.warehousing.brandType,
orderId: this.warehousing.orderId,
orderItemId: this.warehousing.orderItemId,
orderNo: this.warehousing.orderNo
})
})
).then(() => {
this.handleClose()
})
},
handleClose() {
this.warehousingInNewList = []
this.opened = false
},
handleDelete() {
this.warehousingInNewList.pop()
},
handleAdd() {
this.warehousingInNewList.push({
"boxGauge": "",
"brand": "",
"brandType": 0,
"cartonsNum": 0,
"expressNo": "",
"inTime": "",
"material": "",
"orderId": 0,
"orderItemId": 0,
"orderNo": "",
"prodAttrIds": "",
"prodId": 0,
"prodTitleEn": "",
"prodTitleZh": "",
"prodType": 0,
"quantityAll": 0,
"type": 0,
"unit": "package",
"volume": 0,
"weight": 0
})
}
}
}
</script>
......
......@@ -54,8 +54,8 @@
<el-table-column
prop="address"
label="操作">
<template v-slot="{row}">
<el-button size="mini" type="text" @click="handleWarehousing(row.prodId)">入仓</el-button>
<template v-slot="{ row, column, $index }">
<el-button size="mini" type="text" @click="handleWarehousing($index)">入仓</el-button>
<el-button size="mini" type="text" @click="handleWarehousing(row.prodId)">追加</el-button>
<el-button size="mini" type="text" @click="handleWarehousingReturn(row)">退仓</el-button>
</template>
......@@ -151,19 +151,19 @@
<div style="text-align: center">
<el-button type="primary">转异</el-button>
<el-button type="primary">完成入仓</el-button>
<el-button type="primary" @click="handleSubmit()">完成入仓</el-button>
</div>
</el-form>
<warehouse-area-dialog :visible.sync="areaVisible"></warehouse-area-dialog>
<warehouse-area-dialog :visible.sync="areaVisible" v-model="locationName"></warehouse-area-dialog>
<edit-dialog :visible.sync="warehousingVisible" :id="warehousingId"></edit-dialog>
<edit-dialog :visible.sync="warehousingVisible" :warehousing="warehousing"></edit-dialog>
</div>
</template>
<script>
import {getCurrencyList} from "@/api/ecw/currency"
import {getOrder} from "@/api/ecw/order"
import {getOrder, getOrderWarehouseIn, orderWarehouseInFinish} from "@/api/ecw/order"
import orderBaseInfo from "@/components/OrderBaseInfo"
import WarehouseAreaDialog from '@/components/WarehouseAreaDialog'
import editDialog from '@/views/ecw/order/warehousing/components/editDialog'
......@@ -181,6 +181,7 @@ export default {
if(this.$route.query.id){
this.orderId = this.$route.query.id
getOrder(this.orderId).then(r => this.order = r.data)
getOrderWarehouseIn(this.orderId).then(r => this.orderItemList = r.data)
}
getCurrencyList().then(res => this.currencyList = res.data)
},
......@@ -188,6 +189,7 @@ export default {
data() {
return {
areaVisible: false,
locationName: '',
warehousingVisible: false,
form: {
a: '',
......@@ -195,13 +197,20 @@ export default {
},
currencyList:[],
order: {},
warehousingId: undefined
orderItemList: [],
warehousing: undefined
}
},
methods: {
handleWarehousing(id) {
this.warehousingId = id
handleSubmit() {
orderWarehouseInFinish({
"locationName": this.locationName,
"orderId": this.order.orderId
})
},
handleWarehousing(index) {
this.warehousing = {...this.order.orderItemVOList[index], ...this.orderItemList[index]}
this.warehousingVisible = true
},
handleWarehousingReturn(item){
......@@ -222,6 +231,15 @@ export default {
});
});
}
},
watch: {
warehousingVisible(val) {
if (!val){
getOrder(this.orderId).then(r => this.order = r.data)
getOrderWarehouseIn(this.orderId).then(r => this.orderItemList = r.data)
}
}
}
}
</script>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment