Commit 38c1529c authored by Marcus's avatar Marcus

入仓主流程

parent 492ec523
...@@ -26,14 +26,6 @@ export function deleteOrderWarehouseIn(id) { ...@@ -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) { export function getOrderWarehouseInPage(query) {
return request({ return request({
......
...@@ -120,3 +120,31 @@ export function getLadingBill(query){ ...@@ -120,3 +120,31 @@ export function getLadingBill(query){
params: 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 @@ ...@@ -45,7 +45,7 @@
</el-tabs> </el-tabs>
<span slot="footer"> <span slot="footer">
<el-button @click="opened = false">关 闭</el-button> <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> </span>
</el-dialog> </el-dialog>
</div> </div>
...@@ -61,6 +61,7 @@ export default { ...@@ -61,6 +61,7 @@ export default {
type: Boolean, type: Boolean,
default: false default: false
}, },
value: String
}, },
data() { data() {
...@@ -92,6 +93,10 @@ export default { ...@@ -92,6 +93,10 @@ export default {
}, },
methods: { methods: {
handleSubmit() {
this.$emit('input', this.selected.join(','))
this.opened = false
},
handleClose() {}, handleClose() {},
handleSelectWarehouse(warehouse) { handleSelectWarehouse(warehouse) {
this.activeWarehouse = warehouse this.activeWarehouse = warehouse
......
...@@ -5,12 +5,11 @@ ...@@ -5,12 +5,11 @@
title="入仓-货物入仓" title="入仓-货物入仓"
:visible.sync="opened" :visible.sync="opened"
width="960px" width="960px"
:before-close="handleClose()"
> >
<el-descriptions border :column="2"> <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="英文品名"></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-item label="填单参数"></el-descriptions-item> <el-descriptions-item label="填单参数"></el-descriptions-item>
</el-descriptions> </el-descriptions>
...@@ -26,45 +25,95 @@ ...@@ -26,45 +25,95 @@
<el-card class="box-card"> <el-card class="box-card">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>入仓记录</span> <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;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></el-button> <el-button style="float: right" size="mini" type="primary" icon="el-icon-plus" circle @click="handleAdd()"></el-button>
</div> </div>
<el-table <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%"> style="width: 100%">
<el-table-column label="箱数"> <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>
<el-table-column label="包装类型"> <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>
<el-table-column label="长(cm)"> <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>
<el-table-column label="款(cm)"> <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>
<el-table-column label="高(cm)"> <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>
<el-table-column label="体积(m³)"> <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>
<el-table-column label="重量(Kg)"> <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>
<el-table-column label="数量"> <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>
<el-table-column label="快递单号"> <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-column>
</el-table> </el-table>
</el-card> </el-card>
<span slot="footer"> <span slot="footer">
<el-button @click="opened = false">关 闭</el-button> <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> </span>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import {getOrderWarehouseIn} from "@/api/ depository/orderWarehouseIn"
import dictSelector from "@/components/DictSelector" import dictSelector from "@/components/DictSelector"
import {DICT_TYPE} from "@/utils/dict" import {DICT_TYPE} from "@/utils/dict"
import warehousing from "@/views/ecw/order/warehousing"
import {orderWarehouseIn} from "@/api/ecw/order"
export default { export default {
name: 'editDialog', name: 'editDialog',
...@@ -78,7 +127,16 @@ export default { ...@@ -78,7 +127,16 @@ export default {
type: Boolean, type: Boolean,
default: false default: false
}, },
id: Number warehousing: {
type: Object,
default: () => {
return {
material: undefined,
inTime: undefined,
orderWarehouseInBackItemDoList: []
}
}
}
}, },
mounted() { mounted() {
...@@ -90,9 +148,10 @@ export default { ...@@ -90,9 +148,10 @@ export default {
opened: false, opened: false,
form: { form: {
material: undefined, material: undefined,
time: 0 inTime: 0
}, },
orderItem: {} // orderItem: {}
warehousingInNewList: []
}; };
}, },
...@@ -100,16 +159,16 @@ export default { ...@@ -100,16 +159,16 @@ export default {
visible(val) { visible(val) {
if (val) { if (val) {
this.opened = true this.opened = true
if (this.id) { if (this.warehousing) {
getOrderWarehouseIn(this.id).then(r => { // this.orderItem = this.warehousing
this.orderItem = r.data this.inTime = this.warehousing.inTime
})
} }
} else { } else {
} }
}, },
opened(val) { opened(val) {
if (val) { if (val) {
this.form.material = warehousing.material
} else { } else {
this.$emit('update:visible', false) this.$emit('update:visible', false)
} }
...@@ -117,7 +176,55 @@ export default { ...@@ -117,7 +176,55 @@ export default {
}, },
methods: { 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> </script>
......
...@@ -54,8 +54,8 @@ ...@@ -54,8 +54,8 @@
<el-table-column <el-table-column
prop="address" prop="address"
label="操作"> label="操作">
<template v-slot="{row}"> <template v-slot="{ row, column, $index }">
<el-button size="mini" type="text" @click="handleWarehousing(row.prodId)">入仓</el-button> <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="handleWarehousing(row.prodId)">追加</el-button>
<el-button size="mini" type="text" @click="handleWarehousingReturn(row)">退仓</el-button> <el-button size="mini" type="text" @click="handleWarehousingReturn(row)">退仓</el-button>
</template> </template>
...@@ -151,19 +151,19 @@ ...@@ -151,19 +151,19 @@
<div style="text-align: center"> <div style="text-align: center">
<el-button type="primary">转异</el-button> <el-button type="primary">转异</el-button>
<el-button type="primary">完成入仓</el-button> <el-button type="primary" @click="handleSubmit()">完成入仓</el-button>
</div> </div>
</el-form> </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> </div>
</template> </template>
<script> <script>
import {getCurrencyList} from "@/api/ecw/currency" 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 orderBaseInfo from "@/components/OrderBaseInfo"
import WarehouseAreaDialog from '@/components/WarehouseAreaDialog' import WarehouseAreaDialog from '@/components/WarehouseAreaDialog'
import editDialog from '@/views/ecw/order/warehousing/components/editDialog' import editDialog from '@/views/ecw/order/warehousing/components/editDialog'
...@@ -181,6 +181,7 @@ export default { ...@@ -181,6 +181,7 @@ export default {
if(this.$route.query.id){ if(this.$route.query.id){
this.orderId = this.$route.query.id this.orderId = this.$route.query.id
getOrder(this.orderId).then(r => this.order = r.data) 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) getCurrencyList().then(res => this.currencyList = res.data)
}, },
...@@ -188,6 +189,7 @@ export default { ...@@ -188,6 +189,7 @@ export default {
data() { data() {
return { return {
areaVisible: false, areaVisible: false,
locationName: '',
warehousingVisible: false, warehousingVisible: false,
form: { form: {
a: '', a: '',
...@@ -195,13 +197,20 @@ export default { ...@@ -195,13 +197,20 @@ export default {
}, },
currencyList:[], currencyList:[],
order: {}, order: {},
warehousingId: undefined orderItemList: [],
warehousing: undefined
} }
}, },
methods: { methods: {
handleWarehousing(id) { handleSubmit() {
this.warehousingId = id orderWarehouseInFinish({
"locationName": this.locationName,
"orderId": this.order.orderId
})
},
handleWarehousing(index) {
this.warehousing = {...this.order.orderItemVOList[index], ...this.orderItemList[index]}
this.warehousingVisible = true this.warehousingVisible = true
}, },
handleWarehousingReturn(item){ handleWarehousingReturn(item){
...@@ -222,6 +231,15 @@ export default { ...@@ -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> </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