Commit 0faed767 authored by dragondean@qq.com's avatar dragondean@qq.com
parents a9399d8c 15f66bff
...@@ -56,3 +56,20 @@ export function warehouseApprovalGetById(params){ ...@@ -56,3 +56,20 @@ export function warehouseApprovalGetById(params){
params, params,
}) })
} }
//调仓-查看状态
export function adjustApplyStatus(params){
return request({
url:'/order/order-warehouse-in/adjust-apply-status',
method:'get',
params
})
}
//调仓-撤销
export function cancelAdjustApply(data){
return request({
url:'/order/order-warehouse-in/cancel-adjust-apply',
method:'post',
data
})
}
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" @click="moveOut(scope.row)" v-if="!isUnderReview && scope.row.installNum === 0">移出</el-button> <el-button type="text" size="small" @click="moveOut(scope.row)" v-if="!isUnderReview && scope.row.installNum === 0">移出</el-button>
<el-button type="text" size="small" v-if="isShowSplitOrder(scope.row)" @click="handlerSplitOrder(scope.row, 'splitOrder','拆单')">拆单</el-button> <!-- <el-button type="text" size="small" v-if="isShowSplitOrder(scope.row)" @click="handlerSplitOrder(scope.row, 'splitOrder','拆单')">拆单</el-button> -->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
......
...@@ -11,31 +11,31 @@ ...@@ -11,31 +11,31 @@
<el-table-column label="订单编号" prop="orderNo"></el-table-column> <el-table-column label="订单编号" prop="orderNo"></el-table-column>
<el-table-column label="唛头" prop="marks"></el-table-column> <el-table-column label="唛头" prop="marks"></el-table-column>
<el-table-column label="已到箱数/总箱数"> <el-table-column label="已到箱数/总箱数">
<template v-slot = {row}> <template v-slot={row}>
{{row.sumQuantity || 0}}/{{row.totalNum}} {{ row.sumQuantity || 0 }}/{{ row.totalNum }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="下单统计"> <el-table-column label="下单统计">
<template v-slot="{row}"> <template v-slot="{row}">
<div v-if="row.costVO"> <div v-if="row.costVO">
箱数:{{row.costVO.totalNum}} 箱数:{{ row.costVO.totalNum }}
{{row.costVO.totalVolume}} {{ row.costVO.totalVolume }}
{{row.costVO.totalWeight}}kg {{ row.costVO.totalWeight }}kg
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="入仓统计" width="150"> <el-table-column label="入仓统计" width="150">
<template v-slot="{row}"> <template v-slot="{row}">
<div>总箱数:{{row.sumNum || 0}}</div> <div>总箱数:{{ row.sumNum || 0 }}</div>
<div>体积:{{row.sumVolume || 0}}CBM</div> <div>体积:{{ row.sumVolume || 0 }}CBM</div>
<div>重量:{{row.sumWeight || 0}}KG</div> <div>重量:{{ row.sumWeight || 0 }}KG</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="入仓时间"> <el-table-column label="入仓时间">
</el-table-column> </el-table-column>
<el-table-column label="运输方式"> <el-table-column label="运输方式">
<template v-slot = {row}> <template v-slot={row}>
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="row.transportId"></dict-tag> <dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="row.transportId"></dict-tag>
</template> </template>
</el-table-column> </el-table-column>
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
<div> <div>
<div> <div>
<p> <p>
{{row.consignorName}} {{ row.consignorName }}
</p> </p>
<p> <p>
</p> </p>
...@@ -61,17 +61,17 @@ ...@@ -61,17 +61,17 @@
<template v-slot="{row}"> <template v-slot="{row}">
<div> <div>
<p> <p>
{{row.consigneeName}} {{ row.consigneeName }}
</p> </p>
<p> <p>
{{row.consigneePhone}} {{ row.consigneePhone }}
</p> </p>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column> <el-table-column>
<template v-slot="{row}"> <template v-slot="{row}">
<el-button type="text" v-if="row.inWarehouseState === 10"> <el-button @click="canceLtiaoCang(row)" type="text" v-if="row.inWarehouseState === 10">
取消调仓 取消调仓
</el-button> </el-button>
</template> </template>
...@@ -83,7 +83,8 @@ ...@@ -83,7 +83,8 @@
</div> </div>
<div style="width: 200px;"> <div style="width: 200px;">
<el-select v-model="params.warehouseInId"> <el-select v-model="params.warehouseInId">
<el-option v-for="(item ,index) in availableWarehouse" :value="item.id" :label="item.titleZh" :key="index"></el-option> <el-option v-for="(item ,index) in availableWarehouse" :value="item.id" :label="item.titleZh"
:key="index"></el-option>
</el-select> </el-select>
</div> </div>
</div> </div>
...@@ -92,10 +93,10 @@ ...@@ -92,10 +93,10 @@
审批流程 审批流程
</h1> </h1>
<div style="padding: 20px"> <div style="padding: 20px">
<work-flow xmlkey="warehouse_transfer" v-model="params.copyUserId" /> <work-flow xmlkey="warehouse_transfer" v-model="params.copyUserId"/>
</div> </div>
<div style="text-align: center"> <div style="text-align: center">
<el-button style="margin-right: 50px" v-if="adjustmentBol" >审核中</el-button> <el-button style="margin-right: 50px" v-if="adjustmentBol">审核中</el-button>
<el-button v-else style="margin-right: 50px" @click="submit" :disabled="isSubmit">提交申请</el-button> <el-button v-else style="margin-right: 50px" @click="submit" :disabled="isSubmit">提交申请</el-button>
<el-button @click="$emit('update:dialogVisible',false)">取消</el-button> <el-button @click="$emit('update:dialogVisible',false)">取消</el-button>
</div> </div>
...@@ -107,6 +108,7 @@ ...@@ -107,6 +108,7 @@
<script> <script>
import {DICT_TYPE, getDictDatas} from "@/utils/dict"; import {DICT_TYPE, getDictDatas} from "@/utils/dict";
import { import {
adjustApplyStatus, cancelAdjustApply,
ecwOrderList, ecwOrderList,
orderWarehouseInAdjustApply, orderWarehouseInAdjustApply,
warehouseAdjustmentList, warehouseAdjustmentList,
...@@ -116,87 +118,128 @@ import warehouseDetails from "@/views/ecw/order/components/warehouseDetails"; ...@@ -116,87 +118,128 @@ import warehouseDetails from "@/views/ecw/order/components/warehouseDetails";
import {getOrderPage} from "@/api/ecw/order"; import {getOrderPage} from "@/api/ecw/order";
import workFlow from "@/components/WorkFlow"; import workFlow from "@/components/WorkFlow";
import Template from "@/views/cms/template"; import Template from "@/views/cms/template";
export default { export default {
name: "batchSingleApplication", name: "batchSingleApplication",
props:{ props: {
orderList:[String,Number], orderList: [String, Number],
dialogVisible:{ dialogVisible: {
type:Boolean, type: Boolean,
default:false, default: false,
} }
}, },
components:{ components: {
Template, Template,
warehouseDetails, warehouseDetails,
workFlow workFlow
}, },
watch:{ watch: {
dialogVisible(val){ dialogVisible(val) {
if(val){ if (val) {
getOrderPage({orderIdList:this.orderList}).then(r =>{ this.getOrderListFn()
this.list = r.data.list } else {
warehouseAdjustmentList({id:this.list[0].startWarehouseId}).then( r => this.availableWarehouse = r.data) this.params = {
}) orderIds: undefined,
warehouseInId: undefined,
warehouseOutId: undefined,
copyUserId: [],
}
} }
} }
}, },
computed:{ computed: {
isSubmit(){ isSubmit() {
let flag = true; let flag = true;
if(this.list.length === 1 && this.list[0].status === 5){ if (this.list.length === 1 && this.list[0].status === 5) {
flag = false flag = false
}else { } else {
let l = this.list.map(e => e.startWarehouseId) let l = this.list.map(e => e.startWarehouseId)
if(this.list.every(e => e.status === 5) && [...new Set(l)].length === 1) flag = false if (this.list.every(e => e.status === 5) && [...new Set(l)].length === 1) flag = false
} }
return flag; return flag;
}, },
adjustmentBol(){ adjustmentBol() {
return this.list.some(e => e.inWarehouseState === 10) return this.list.some(e => e.inWarehouseState === 10)
} }
}, },
data(){ data() {
return { return {
list:[], list: [],
selectedUsers:[], selectedUsers: [],
availableWarehouse:[], availableWarehouse: [],
DICT_TYPE, DICT_TYPE,
departureWarehouse:undefined, departureWarehouse: undefined,
adjustment:undefined, adjustment: undefined,
params:{ params: {
orderIds:undefined, orderIds: undefined,
warehouseInId:undefined, warehouseInId: undefined,
warehouseOutId: undefined, warehouseOutId: undefined,
copyUserId:[], copyUserId: [],
}, },
} }
}, },
methods:{ methods: {
submit(){ getOrderListFn() {
getOrderPage({orderIdList: this.orderList}).then(r => {
this.list = r.data.list
warehouseAdjustmentList({id: this.list[0].startWarehouseId}).then(r => this.availableWarehouse = r.data)
})
},
submit() {
let p = this.list.map(e => e.orderId).join(','); let p = this.list.map(e => e.orderId).join(',');
this.params.orderIds = p; this.params.orderIds = p;
this.params.warehouseOutId = this.list[0].startWarehouseId; this.params.warehouseOutId = this.list[0].startWarehouseId;
this.params.orderNo = this.list[0].orderNo this.params.orderNo = this.list[0].orderNo
orderWarehouseInAdjustApply(this.params).then( r=>{ orderWarehouseInAdjustApply(this.params).then(r => {
if(r.code === 0){ if (r.code === 0) {
this.$emit('update:dialogVisible',false) this.$emit('update:dialogVisible', false)
this.$message.success('调仓成功'); this.$message.success('调仓成功');
} }
}) })
},
async canceLtiaoCang(row) {
let res = await adjustApplyStatus({orderId: row.orderId})
if (res.data.isBatch) {
this.$message.warning('批量提提交请耐心等待')
} else {
this.$prompt('请问您是否要取消调仓?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then((val) => {
cancelAdjustApply({orderId: row.orderId, reason: val.value}).then(r => {
if (r.code === 0) {
this.$message({
type: 'success',
message: '取消调仓成功!'
});
this.getOrderListFn()
} }
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消'
});
});
}
},
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.batch-single-application{ .batch-single-application {
padding: 20px; padding: 20px;
box-sizing: border-box; box-sizing: border-box;
.title{
.title {
font-weight: 600; font-weight: 600;
text-align: left; text-align: left;
} }
} }
.my-process-designer { .my-process-designer {
height: calc(100vh - 200px); height: calc(100vh - 200px);
} }
......
...@@ -25,7 +25,11 @@ ...@@ -25,7 +25,11 @@
</el-select> </el-select>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="是否备案">{{ isBeian }}</el-descriptions-item> <el-descriptions-item label="是否备案">{{ isBeian }}</el-descriptions-item>
<el-descriptions-item label="填单参数"></el-descriptions-item> <el-descriptions-item label="填单参数">
箱数:{{ warehousing.num }}<br>
体积:{{ warehousing.volume }}<br>
重量:{{ warehousing.weight }}Kg
</el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-form ref="form" :model="form" label-width="80px" style="margin-top: 20px"> <el-form ref="form" :model="form" label-width="80px" style="margin-top: 20px">
<el-form-item label="材质"> <el-form-item label="材质">
...@@ -160,7 +164,13 @@ export default { ...@@ -160,7 +164,13 @@ export default {
mounted() { mounted() {
getProductBrankPage({pageSize: 100000}).then(r => { getProductBrankPage({pageSize: 100000}).then(r => {
this.brandList = r.data.list.map(e => { this.brandList = [
{
"titleZh":"",
"titleEn":"",
"id":'0'
},
...r.data.list.map(e => {
if(e.id){ if(e.id){
e.id = e.id.toString() e.id = e.id.toString()
} }
...@@ -172,6 +182,7 @@ export default { ...@@ -172,6 +182,7 @@ export default {
} }
return e return e
}) })
]
}) })
}, },
......
...@@ -122,7 +122,7 @@ ...@@ -122,7 +122,7 @@
<el-button type="primary" @click="handleSubmit()">确 定</el-button> <el-button type="primary" @click="handleSubmit()">确 定</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog :title="order.orderNo + '转异常单'" center :visible.sync="escapeBol"> <el-dialog :title="order.orderNo + '订单转异'" center :visible.sync="escapeBol">
<el-form label-position="top" label-width="200"> <el-form label-position="top" label-width="200">
<el-form-item label="原因类型"> <el-form-item label="原因类型">
<dict-selector v-model="form.manualExceptionType" form-type="checkbox" :type="DICT_TYPE.MANUAL_EXCEPTION_TYPE" multiple ></dict-selector> <dict-selector v-model="form.manualExceptionType" form-type="checkbox" :type="DICT_TYPE.MANUAL_EXCEPTION_TYPE" multiple ></dict-selector>
...@@ -135,7 +135,7 @@ ...@@ -135,7 +135,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleSubmit">完成并入仓</el-button> <el-button type="primary" @click="handleSubmit">完成并入仓</el-button>
<el-button @click="escapeBol = false">取消</el-button> <el-button @click="escapeBol = false">取消</el-button>
</span> </span>
</el-dialog> </el-dialog>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="关键字" prop="nickname"> <el-form-item label="关键字" prop="nickname">
<el-input v-model="queryParams.nickname" placeholder="搜索昵称、姓名、手机、Email" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.searchKey" placeholder="搜索昵称、姓名、手机、Email" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item label="成交" prop="mobile"> <el-form-item label="成交" prop="mobile">
<el-select v-model="queryParams.isDeal"> <el-select v-model="queryParams.isDeal">
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页组件 --> <!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.rows"
@pagination="getList"/> @pagination="getList"/>
<el-dialog <el-dialog
title="保函/证书" title="保函/证书"
...@@ -287,8 +287,8 @@ export default { ...@@ -287,8 +287,8 @@ export default {
dateRangeCreateTime: [], dateRangeCreateTime: [],
// 查询参数 // 查询参数
queryParams: { queryParams: {
pageNo: 1, page: 1,
pageSize: 10, rows: 10,
isDeal:undefined,// 是否成交 isDeal:undefined,// 是否成交
searchKey:undefined,//关键字 searchKey:undefined,//关键字
auditStatus:undefined,//审核状态 auditStatus:undefined,//审核状态
......
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