Commit 8bfd7470 authored by dragondean@qq.com's avatar dragondean@qq.com

解决冲突

parents 54b92f1f 6df8d884
...@@ -443,6 +443,82 @@ export function loadSecGoodsList(params) { ...@@ -443,6 +443,82 @@ export function loadSecGoodsList(params) {
}); });
} }
/**
* 订单装箱编号列表
*
* @export
* @param {*} data
* @return {*}
*/
export function orderTagList(data) {
return request({
url: "/ecw/box-load-info/orderTagList",
method: "post",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: jsonToFormData(data),
});
}
/**
* 批量装柜
*
* @export
* @param {*} data
* @return {*}
*/
export function batchCreate(data) {
return request({
url: "/ecw/box-load-info/batchCreate",
method: "post",
data,
});
}
/**
* 批量删除已装柜标签
*
* @export
* @param {*} data
* @return {*}
*/
export function batchDelete(data) {
return request({
url: "/ecw/box-load-info/batchDelete",
method: "post",
data,
});
}
/**
* 移出
*
* @export
* @param {*} data
* @return {*}
*/
export function remove(data) {
return request({
url: "/ecw/box-load-info/remove",
method: "post",
data,
});
}
/**
* 修改柜信息
*
* @export
* @param {*} data
* @return {*}
*/
export function boxUpdate(data) {
return request({
url: "/ecw/box-load-info/boxUpdate",
method: "post",
data,
});
}
/***************************** 装柜 end **********************************/ /***************************** 装柜 end **********************************/
/** /**
......
...@@ -258,3 +258,40 @@ export function getCargoControlOrderPage(params){ ...@@ -258,3 +258,40 @@ export function getCargoControlOrderPage(params){
}) })
} }
//获得调仓明细
export function orderWarehouseInGetAdjustInfo(params){
return request({
url:'order/order-warehouse-in/get-adjust-info',
method:'get',
params
})
}
export function warehouseAdjustSendOut(data){
return request({
url:'/order/order-warehouse-in/warehouse-adjust-send-out',
method:'put',
data
})
}
//获得订单仓库图片分页
export function orderWarehousePicturePage(params){
return request({
url:'/order/warehouse-picture/page',
method:'get',
params
})
}
export function warehouseAdjustPage(params){
return request({
url:'/order/warehouse-adjust/page',
method:'get',
params
})
}
export function warehouseAdjustArrived(data){
return request({
url:'/order/order-warehouse-in/warehouse-adjust-arrived',
method:'put',
data
})
}
\ No newline at end of file
<template>
<div class="component-upload-image">
<div style="display: flex;flex-wrap: wrap ">
<div v-for="(item, index) in fileList " :key="index" style="height: 148px; width:148px; border:1px solid;margin:5px 10px">
<el-image style="height: 148px; width:148px;" fit="fit" :src="item.url">
<video controls width="148px" height="148px" slot="error" :src="item.url" ></video>
</el-image>
</div>
<div>
<el-upload
multiple
:action="uploadImgUrl"
list-type="picture-card"
:on-success="handleUploadSuccess"
:before-upload="handleBeforeUpload"
:on-error="handleUploadError"
name="file"
:on-remove="handleRemove"
:show-file-list="false"
:headers="headers"
:on-preview="handlePictureCardPreview"
>
<i class="el-icon-plus"></i>
</el-upload>
<!-- 上传提示 -->
<div class="el-upload__tip" slot="tip" v-if="showTip">
请上传
<template v-if="fileSize"> 大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b> </template> <br>
<template v-if="fileType"> 格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b> </template>
的文件
</div>
</div>
</div>
<el-dialog
:visible.sync="dialogVisible"
title="预览"
width="800"
append-to-body
>
<img
:src="dialogImageUrl"
style="display: block; max-width: 100%; margin: 0 auto"
/>
</el-dialog>
</div>
</template>
<script>
import { getToken } from "@/utils/auth";
export default {
props: {
value: [Array],
// 大小限制(MB)
fileSize: {
type: Number,
default: 30,
},
// 文件类型, 例如['png', 'jpg', 'jpeg']
fileType: {
type: Array,
default: () => ["png", "jpg", "jpeg" ,"mp4","m4v" ],
},
// 是否显示提示
isShowTip: {
type: Boolean,
default: true
}
},
data() {
return {
number: 0,
uploadList: [],
dialogImageUrl: "",
dialogVisible: false,
hideUpload: false,
baseUrl: process.env.VUE_APP_BASE_API,
uploadImgUrl: process.env.VUE_APP_BASE_API + "/app-api/file/upload", // 上传的图片服务器地址
headers: {
Authorization: "Bearer " + getToken(),
},
fileList: []
};
},
watch: {
value: {
handler(val) {
if (val) {
// 首先将值转为数组
const list = Array.isArray(val) ? val : this.value.split(',');
// 然后将数组转为对象数组
this.fileList = list.map(item => {
if (typeof item === "string") {
if (item.indexOf(this.baseUrl) === -1) {
item = { name: item, url: item };
} else {
item = { name: item, url: item };
}
}
return item;
});
} else {
this.fileList = [];
return [];
}
},
deep: true,
immediate: true
}
},
computed: {
// 是否显示提示
showTip() {
return this.isShowTip && (this.fileType || this.fileSize);
},
},
methods: {
// 删除图片
handleRemove(file, fileList) {
const findex = this.fileList.map(f => f.name).indexOf(file.name);
if(findex > -1) {
this.fileList.splice(findex, 1);
this.$emit("input", this.listToString(this.fileList));
}
},
// 上传成功回调
handleUploadSuccess(res) {
if(res.code === 0){
this.uploadList.push({ name: res.data.split('/').pop(), url: res.data });
if (this.uploadList.length === this.number) {
this.fileList = this.fileList.concat(this.uploadList);
this.uploadList = [];
this.number = 0;
this.$emit("input", this.listToString(this.fileList));
this.$modal.closeLoading();
}
}else {
this.handleUploadError();
}
},
// 上传前loading加载
handleBeforeUpload(file) {
let isImg = false;
if (this.fileType.length) {
let fileExtension = "";
if (file.name.lastIndexOf(".") > -1) {
fileExtension = file.name.slice(file.name.lastIndexOf(".") + 1);
}
isImg = this.fileType.some(type => {
if (file.type.indexOf(type) > -1) return true;
if (fileExtension && fileExtension.indexOf(type) > -1) return true;
return false;
});
} else {
isImg = file.type.indexOf("image") > -1;
}
if (!isImg) {
this.$modal.msgError(`文件格式不正确, 请上传${this.fileType.join("/")}的图片或视频文件!`);
return false;
}
if (this.fileSize) {
const isLt = file.size / 1024 / 1024 < this.fileSize;
if (!isLt) {
this.$modal.msgError(`上传头像图片大小不能超过 ${this.fileSize} MB!`);
return false;
}
}
this.$modal.loading("正在上传图片或视频,请稍候...");
this.number++;
},
// 上传失败
handleUploadError() {
this.$modal.msgError("上传图片或视频失败,请重试");
this.$modal.closeLoading();
},
// 预览
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
// 对象转成指定字符串分隔
listToString(list) {
return list.map(e => e.url);
}
}
};
</script>
<style scoped lang="scss">
// .el-upload--picture-card 控制加号部分
::v-deep.hide .el-upload--picture-card {
display: none;
}
// 去掉动画效果
::v-deep .el-list-enter-active,
::v-deep .el-list-leave-active {
transition: all 0s;
}
::v-deep .el-list-enter, .el-list-leave-active {
opacity: 0;
transform: translateY(0);
}
</style>
...@@ -356,26 +356,26 @@ export const constantRoutes = [ ...@@ -356,26 +356,26 @@ export const constantRoutes = [
} }
}, },
{ {
path: 'withdrawal/:orderId', path: 'transfer-warehousing/:orderId/:type',
component:()=>import ('@/views/ecw/order/withdrawal'), component:()=>import('@/views/ecw/order/transferWarehousing'),
name:'withdrawal', name:'transferWarehousing',
props: true, props: true,
meta:{ meta:{
title:'退', title:'调拨出',
icon:'', icon:'',
activeMenu:'order/withdrawal', activeMenu:'order/transferWarehousing',
noCache:true, noCache:true,
} }
}, },
{ {
path: 'transfer-warehousing/:orderId', path: 'transfer-to-warehouse/:orderId/:type',
component:()=>import('@/views/ecw/order/transferWarehousing'), component:()=>import('@/views/ecw/order/transferWarehousing'),
name:'transferWarehousing', name:'transferToWarehouse',
props: true, props: true,
meta:{ meta:{
title:'调拨', title:'调拨',
icon:'', icon:'',
activeMenu:'order/transferWarehousing', activeMenu:'order/transferToWarehouse',
noCache:true, noCache:true,
} }
} }
......
...@@ -75,26 +75,22 @@ export default { ...@@ -75,26 +75,22 @@ export default {
onSubmit(operateType) { onSubmit(operateType) {
this.$refs["cabinetForm"].validate((valid) => { this.$refs["cabinetForm"].validate((valid) => {
if (valid) { if (valid) {
if (operateType === 2) {
const { currNode, shipmentObj } = this.$attrs;
const status = shipmentObj[currNode.keyName];
if (status !== 46) {
this.$message.error("请先进行装柜->审批->确认封柜");
return;
}
}
cabinetCreate({ cabinetCreate({
shipmentId: this.$attrs.shipmentObj.id, shipmentId: this.$attrs.shipmentObj.id,
...this.cabinetObj, ...this.cabinetObj,
operateType, operateType,
}).then((res) => { }).then((res) => {
if (operateType === 2) { serviceMsg(res, this).then(() => {
approvalCreate({ this.cancel("submit");
shipmentId: this.$attrs.shipmentObj.id, });
approvalStatus: 0,
approvalType: 2,
}).then((res) => {
serviceMsg(res, this).then(() => {
this.cancel("submit");
});
});
} else {
serviceMsg(res, this).then(() => {
this.cancel("submit");
});
}
}); });
} }
}); });
......
...@@ -120,41 +120,45 @@ ...@@ -120,41 +120,45 @@
<el-button type="primary" size="small" @click="foldTable(index, part)">{{part.fold ? '展开' : '收起'}}</el-button> <el-button type="primary" size="small" @click="foldTable(index, part)">{{part.fold ? '展开' : '收起'}}</el-button>
</div> </div>
</el-row> </el-row>
<el-table v-loading="preLoading" border :data="part.sectionGoodsList" v-show="!part.fold" @select="(selection)=>checkboxSelect(selection, part)" @select-all="(selection)=>checkboxSelect(selection, part)"> <el-collapse-transition>
<el-table-column type="selection" align="center" width="55" fixed="left" /> <div v-show="!part.fold">
<el-table-column label="订单号" align="center" prop="orderId" width="120" /> <el-table v-loading="preLoading" border :data="part.sectionGoodsList" @select="(selection)=>checkboxSelect(selection, part)" @select-all="(selection)=>checkboxSelect(selection, part)">
<el-table-column label="目的地" align="center" prop="destWarehouseName" width="120" /> <el-table-column type="selection" align="center" width="55" fixed="left" />
<el-table-column label="入仓时间" align="center" prop="rucangtime" width="120" /> <el-table-column label="订单号" align="center" prop="orderNo" width="120" />
<el-table-column label="品名" align="center" prop="prodTitleZh" width="120" /> <el-table-column label="目的地" align="center" prop="destWarehouseName" width="120" />
<el-table-column label="箱数" align="center" prop="num" /> <el-table-column label="入仓时间" align="center" prop="rucangtime" width="120" />
<el-table-column label="体积/重量/重货比" align="center" width="140" prop="volumeWeight"> <el-table-column label="品名" align="center" prop="prodTitleZh" width="120" />
<template slot-scope="scope"> <el-table-column label="箱数" align="center" prop="num" />
<p v-if="scope.row.volume">{{scope.row.volume}}</p> <el-table-column label="体积/重量/重货比" align="center" width="140" prop="volumeWeight">
<p v-if="scope.row.weight">{{scope.row.weight}}kg</p> <template slot-scope="scope">
</template> <p v-if="scope.row.volume">{{scope.row.volume}}</p>
</el-table-column> <p v-if="scope.row.weight">{{scope.row.weight}}kg</p>
<el-table-column label="报关方式" align="center" prop="customsType" width="120"> </template>
<template slot-scope="scope"> </el-table-column>
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="scope.row.customsType" /> <el-table-column label="报关方式" align="center" prop="customsType" width="120">
</template> <template slot-scope="scope">
</el-table-column> <dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="scope.row.customsType" />
<el-table-column label="备案" align="center" prop="productRecord" width="100"> </template>
<template slot-scope="scope"> </el-table-column>
<dict-tag :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :value="scope.row.productRecord" /> <el-table-column label="备案" align="center" prop="productRecord" width="100">
</template> <template slot-scope="scope">
</el-table-column> <dict-tag :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :value="scope.row.productRecord" />
<el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width" fixed="right"> </template>
<template slot-scope="scope"> </el-table-column>
<el-dropdown trigger="click" @command="(command)=>handleGoods('singele',scope.row,command)"> <el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width" fixed="right">
<el-button type="primary" size="small" icon="el-icon-edit-outline" circle></el-button> <template slot-scope="scope">
<el-dropdown-menu slot="dropdown"> <el-dropdown trigger="click" @command="(command)=>handleGoods('singele',scope.row,command)">
<el-dropdown-item :command="bPart" v-for="(bPart, index) in preList" :key="bPart.id" v-show="bPart.id !== part.id">{{index+1}}部分</el-dropdown-item> <el-button type="primary" size="small" icon="el-icon-edit-outline" circle></el-button>
</el-dropdown-menu> <el-dropdown-menu slot="dropdown">
</el-dropdown> <el-dropdown-item :command="bPart" v-for="(bPart, index) in preList" :key="bPart.id" v-show="bPart.id !== part.id">{{index+1}}部分</el-dropdown-item>
<el-button type="danger" size="small" icon="el-icon-minus" circle style="margin-left:10px;" @click="deleteOrder('row',scope.row)"></el-button> </el-dropdown-menu>
</template> </el-dropdown>
</el-table-column> <el-button type="danger" size="small" icon="el-icon-minus" circle style="margin-left:10px;" @click="deleteOrder('row',scope.row)"></el-button>
</el-table> </template>
</el-table-column>
</el-table>
</div>
</el-collapse-transition>
</el-row> </el-row>
</el-scrollbar> </el-scrollbar>
</el-col> </el-col>
...@@ -177,8 +181,8 @@ ...@@ -177,8 +181,8 @@
</div> </div>
</div> </div>
</el-row> </el-row>
<el-scrollbar style="height:calc(100% - 40px)"> <el-pagination background layout="prev, pager, next" :page-size="pageParam.pageSize" :total="total" @current-change="pageChange" v-show="total > 0"></el-pagination>
<el-pagination background layout="prev, pager, next" :page-size="pageParam.pageSize" :total="total" @current-change="pageChange" v-show="total > 0"></el-pagination> <el-scrollbar style="height:calc(100% - 75px)">
<el-row v-for="(item, index) in toBePreList" :key="index" class="tobePre-row"> <el-row v-for="(item, index) in toBePreList" :key="index" class="tobePre-row">
<el-row class="preinstall-title order-title"> <el-row class="preinstall-title order-title">
<div> <div>
...@@ -189,7 +193,9 @@ ...@@ -189,7 +193,9 @@
<p>{{item.destWarehouseName}}</p> <p>{{item.destWarehouseName}}</p>
</div> </div>
<div> <div>
<p>{{item.warehouseType}}</p> <p>
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="item.customsType" />
</p>
</div> </div>
<div> <div>
<p>入仓时间:</p> <p>入仓时间:</p>
...@@ -309,7 +315,7 @@ export default { ...@@ -309,7 +315,7 @@ export default {
// 查询参数 // 查询参数
queryParams: {}, queryParams: {},
pageParam: { pageNo: 1, pageSize: 5 }, pageParam: { pageNo: 1, pageSize: 10 },
// 目的地操作员 // 目的地操作员
operatorData: {}, operatorData: {},
// 校验 // 校验
...@@ -441,7 +447,7 @@ export default { ...@@ -441,7 +447,7 @@ export default {
}, },
/* 待预装订单分页 */ /* 待预装订单分页 */
pageChange(page) { pageChange(page) {
this.queryParams.page = page; this.pageParam.pageNo = page;
this.getPreLoad(); this.getPreLoad();
}, },
/* 折叠 */ /* 折叠 */
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<script> <script>
import { shipConfigure, serviceMsg } from "@/api/ecw/boxSea"; import { shipConfigure, serviceMsg } from "@/api/ecw/boxSea";
import { formatNumberString, constantDict } from "../utils"; import { formatNumberString, formatDateStr, constantDict } from "../utils";
/** /**
* 配船 * 配船
*/ */
...@@ -47,6 +47,7 @@ export default { ...@@ -47,6 +47,7 @@ export default {
const voName = this.$attrs.currNode.voName; const voName = this.$attrs.currNode.voName;
let oldData = { ...this.shipmentObj[voName] }; let oldData = { ...this.shipmentObj[voName] };
oldData = formatNumberString(oldData, ["saExmtStatus"]); oldData = formatNumberString(oldData, ["saExmtStatus"]);
oldData = formatDateStr(oldData, ["configTime"]);
this.shipObj = oldData; this.shipObj = oldData;
}, },
methods: { methods: {
......
...@@ -59,7 +59,8 @@ export default { ...@@ -59,7 +59,8 @@ export default {
this.$refs["unloadingForm"].validate((valid) => { this.$refs["unloadingForm"].validate((valid) => {
if (valid) { if (valid) {
if (operateType === 2) { if (operateType === 2) {
const { ulStatus } = this.$attrs.shipmentObj; const { keyName } = this.$attrs.currNode;
const ulStatus = this.$attrs.shipmentObj[keyName];
if (ulStatus !== 145) { if (ulStatus !== 145) {
this.$message.warning("请先通过卸柜审批"); this.$message.warning("请先通过卸柜审批");
return; return;
......
...@@ -107,7 +107,7 @@ ...@@ -107,7 +107,7 @@
<el-input v-model="formData.field110" placeholder="请输入收货人邮箱" clearable></el-input> <el-input v-model="formData.field110" placeholder="请输入收货人邮箱" clearable></el-input>
</el-table-column> </el-table-column>
</el-table> </el-table>
<edit v-if="showEdit" @close="showEdit=false" /> <edit v-if="showEdit" @close="showEdit=false" />
</div> </div>
</template> </template>
...@@ -145,4 +145,4 @@ export default { ...@@ -145,4 +145,4 @@ export default {
margin-right:10px; margin-right:10px;
} }
} }
</style> </style>
\ No newline at end of file
...@@ -13,15 +13,15 @@ ...@@ -13,15 +13,15 @@
<el-descriptions-item label="出货渠道"> <el-descriptions-item label="出货渠道">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="details.channelId"></dict-tag> <dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="details.channelId"></dict-tag>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="始发地">{{details.logisticsInfoDto.startTitleZh}}</el-descriptions-item> <el-descriptions-item label="始发地">{{ details.logisticsInfoDto ? details.logisticsInfoDto.startTitleZh :''}}</el-descriptions-item>
<el-descriptions-item label="目的地">{{details.logisticsInfoDto.destTitleZh}}</el-descriptions-item> <el-descriptions-item label="目的地">{{details.logisticsInfoDto ? details.logisticsInfoDto.destTitleZh : ''}}</el-descriptions-item>
<el-descriptions-item label="发货人姓名">{{details.consignorVO.name}}</el-descriptions-item> <el-descriptions-item label="发货人姓名">{{details.consignorVO ? details.consignorVO.name : ''}}</el-descriptions-item>
<el-descriptions-item label="发货人公司">{{details.consignorVO.company}}</el-descriptions-item> <el-descriptions-item label="发货人公司">{{details.consignorVO ? details.consignorVO.company : ''}}</el-descriptions-item>
<el-descriptions-item label="发货人电话">{{details.consignorVO.phone}}</el-descriptions-item> <el-descriptions-item label="发货人电话">{{details.consignorVO ? details.consignorVO.phone : ''}}</el-descriptions-item>
<el-descriptions-item></el-descriptions-item> <el-descriptions-item></el-descriptions-item>
<el-descriptions-item label="收货人姓名">{{details.consigneeVO.name}}</el-descriptions-item> <el-descriptions-item label="收货人姓名">{{details.consigneeVO ? details.consigneeVO.name :''}}</el-descriptions-item>
<el-descriptions-item label="收货人公司">{{details.consigneeVO.company}}</el-descriptions-item> <el-descriptions-item label="收货人公司">{{details.consigneeVO ? details.consigneeVO.company :''}}</el-descriptions-item>
<el-descriptions-item label="收货人电话">{{details.consigneeVO.phone}}</el-descriptions-item> <el-descriptions-item label="收货人电话">{{details.consigneeVO ? details.consigneeVO.phone :''}}</el-descriptions-item>
<el-descriptions-item></el-descriptions-item> <el-descriptions-item></el-descriptions-item>
</el-descriptions> </el-descriptions>
</div> </div>
...@@ -36,9 +36,14 @@ export default { ...@@ -36,9 +36,14 @@ export default {
type:Object, type:Object,
default:()=>{ default:()=>{
return { return {
logisticsInfoDto:undefined, logisticsInfoDto:{
consignorVO:undefined, startTitleZh:'',
consigneeVO:undefined, destTitleZh:''
},
consignorVO:{},
consigneeVO:{},
} }
} }
}, },
......
...@@ -55,13 +55,13 @@ ...@@ -55,13 +55,13 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div style="text-align: center;margin-top: 20px;">
<el-button style="margin-right: 30px;" @click="submit">提交</el-button>
<el-button>取消</el-button>
</div>
<div style="padding: 20px"> <div style="padding: 20px">
<work-flow xmlkey="free_apply" v-model="selectedUsers" /> <work-flow xmlkey="free_apply" v-model="selectedUsers" />
</div> </div>
<div style="text-align: center;margin-top: 20px;">
<el-button style="margin-right: 30px;" @click="submit">提交</el-button>
<el-button>取消</el-button>
</div>
</div> </div>
</template> </template>
...@@ -128,6 +128,7 @@ export default { ...@@ -128,6 +128,7 @@ export default {
this.isModifyIf = false; this.isModifyIf = false;
}, },
submit(){ submit(){
if(this.isModifyIf){ if(this.isModifyIf){
applicationUpdate({...this.list[this.isModify.findIndex(e => e === false)],status:1}).then(r => { applicationUpdate({...this.list[this.isModify.findIndex(e => e === false)],status:1}).then(r => {
if(r.code === 0){ if(r.code === 0){
...@@ -144,6 +145,8 @@ export default { ...@@ -144,6 +145,8 @@ export default {
this.selectedUsers = []; this.selectedUsers = [];
} }
}) })
}else {
this.$message.success('当前有申请费用为审核中或未提交,请审核后在申请');
} }
} }
}, },
......
...@@ -202,6 +202,7 @@ ...@@ -202,6 +202,7 @@
v-hasPermi="['ecw:order:update']">退仓</el-button> v-hasPermi="['ecw:order:update']">退仓</el-button>
<el-button type="text" v-if="scope.row.status === 5" size="mini" @click="$router.push({path:'/order/batch-single-application',query:{list:scope.row.orderId}})" >调仓</el-button> <el-button type="text" v-if="scope.row.status === 5" size="mini" @click="$router.push({path:'/order/batch-single-application',query:{list:scope.row.orderId}})" >调仓</el-button>
<el-button type="text" size="mini" @click="$router.push({path:'/order/transfer-warehousing/' + scope.row.orderId + '/' + 1 })" >调拨出仓</el-button> <el-button type="text" size="mini" @click="$router.push({path:'/order/transfer-warehousing/' + scope.row.orderId + '/' + 1 })" >调拨出仓</el-button>
<el-button type="text" size="mini" @click="$router.push({path:'/order/transfer-to-warehouse/' + scope.row.orderId + '/' + 2 })" >调拨到仓</el-button>
</div> </div>
</el-popover> </el-popover>
......
<template> <template>
<div style="padding: 0 20px"> <div style="padding: 0 20px">
<h1>调拨出仓</h1> <h1>调拨出仓</h1>
<el-divider content-position="left"> <el-divider content-position="left">
订单信息 订单信息
</el-divider> </el-divider>
<ordeDetailsForm :details="{}"></ordeDetailsForm> <ordeDetailsForm :details="orderDetails"></ordeDetailsForm>
<el-divider content-position="left"> <el-divider content-position="left">
货物信息 货物信息
</el-divider> </el-divider>
<el-table> <el-table :data="orderDetails.orderItemVOList ? orderDetails.orderItemVOList : [] ">
<el-table-column label="序号"></el-table-column> <el-table-column type="index" label="序号"></el-table-column>
<el-table-column label="品名"></el-table-column> <el-table-column label="品名">
<el-table-column label="填单货物属性"></el-table-column> <template v-slot="{row}">
<el-table-column label="入库货物属性"></el-table-column> <div>{{ row.prodTitleZh }}</div>
<el-table-column label="最后操作时间"></el-table-column> <div>{{ row.prodTitleEn }}</div>
<el-table-column label="状态"></el-table-column> </template>
</el-table> </el-table-column>
<el-divider content-position="left"> <el-table-column label="填单货物属性">
调仓明细 <template v-slot="{row}">
</el-divider> <el-descriptions size="mini" :column="1">
<el-table> <el-descriptions-item label="品牌">{{ row.brand }}</el-descriptions-item>
<el-table-column label="调仓编号"></el-table-column> <el-descriptions-item label="箱数">{{ row.num }}</el-descriptions-item>
<el-table-column label="调出仓库"></el-table-column> <el-descriptions-item label="体积">{{ row.volume }}</el-descriptions-item>
<el-table-column label="调入仓库"></el-table-column> <el-descriptions-item label="重量">
<el-table-column label="申请人"></el-table-column> </el-descriptions-item>
<el-table-column label="申请时间"></el-table-column> </el-descriptions>
<el-table-column label="状态"></el-table-column> </template>
<el-table-column label="操作"></el-table-column> </el-table-column>
</el-table> <el-table-column label="入库货物属性">
<el-descriptions :column="4" border> <template v-slot="{row}">
<el-descriptions-item label="集运仓库">kooriookami</el-descriptions-item> <el-descriptions size="mini" :column="4">
<el-descriptions-item label="储位">18100000000</el-descriptions-item> <el-descriptions-item label="品牌">{{ row.brand }}</el-descriptions-item>
<el-descriptions-item label="调拨目标仓">苏州市</el-descriptions-item> <el-descriptions-item label="箱数"> {{ row.warehouseInInfoVO.cartonsNum }}</el-descriptions-item>
<el-descriptions-item label="物流公司"></el-descriptions-item> <el-descriptions-item label="体积">{{ row.warehouseInInfoVO.volume }}</el-descriptions-item>
<el-descriptions-item label="物流单号"> 1188 号</el-descriptions-item> <el-descriptions-item label="重量"> {{ row.warehouseInInfoVO.weight }}</el-descriptions-item>
<el-descriptions-item label="联系电话"> 1188 号</el-descriptions-item> </el-descriptions>
<el-descriptions-item label="出仓日期"> 1188 号</el-descriptions-item> </template>
<el-descriptions-item label="到仓日期"> 1188 号</el-descriptions-item> </el-table-column>
</el-descriptions> <el-table-column label="最后操作时间"></el-table-column>
<el-divider content-position="left"> <el-table-column label="状态">
出仓影像 <template v-slot="{row}">
</el-divider> <dict-tag :value="row.warehouseInInfoVO.diffType" :type="DICT_TYPE.ORDER_WAREHOUSE_IN_STATUS"/>
<el-from> </template>
<el-form-item label="备注"></el-form-item> </el-table-column>
</el-from> </el-table>
<div> <el-divider content-position="left" v-if="type == 2">
<el-button>确认出仓</el-button> 调仓明细
<el-button>返回</el-button> </el-divider>
<el-table :data="warehouseList" v-if="type == 2">
<el-table-column label="调仓编号" prop="id"></el-table-column>
<el-table-column label="调出仓库" prop="warehouseOutId" ></el-table-column>
<el-table-column label="调入仓库" prop="warehouseInId"></el-table-column>
<el-table-column label="申请人"></el-table-column>
<el-table-column label="申请时间">
<template v-slot="{row}">
</template>
</el-table-column>
<el-table-column label="状态">
<template v-slot="{row}">
{{STATUS[row.status]}}
</template>
</el-table-column>
<el-table-column label="操作">
<template v-slot="{row}">
<el-button v-if="row.status === 4" type="text">
撤销
</el-button>
</template>
</el-table-column>
</el-table>
<el-descriptions style="margin-top: 20px" :column="4" border>
<el-descriptions-item label="集运仓库">{{ warehouseDetails.warehouseOutName }}</el-descriptions-item>
<el-descriptions-item label="储位">{{}}</el-descriptions-item>
<el-descriptions-item label="调拨目标仓">{{ warehouseDetails.warehouseInId }}</el-descriptions-item>
<el-descriptions-item label="物流公司">
<el-input v-model="params.logisticsCompany"></el-input>
</el-descriptions-item>
<el-descriptions-item label="物流单号">
<el-input v-model="params.logisticsNo"></el-input>
</el-descriptions-item>
<el-descriptions-item label="联系电话">
<el-input v-model="params.phone"></el-input>
</el-descriptions-item>
<el-descriptions-item label="出仓日期">
<el-date-picker
v-model="params.deliveryDate"
type="date"
placeholder="选择日期">
</el-date-picker>
</el-descriptions-item>
<!-- <el-descriptions-item label="到仓日期">-->
<!-- <el-date-picker-->
<!-- v-model="params.deliveryDate"-->
<!-- type="date"-->
<!-- placeholder="选择日期">-->
<!-- </el-date-picker>-->
<!-- </el-descriptions-item>-->
</el-descriptions>
<el-divider content-position="left">
出仓影像
</el-divider>
<image-and-video-upload :fileSize="50" :isShowTip="true" v-model="params.urls" ></image-and-video-upload>
<el-form>
<el-form-item label="备注">
<el-input v-model="params.deliveryRemark" type="textarea"></el-input>
</el-form-item>
</el-form>
<div>
<el-button v-if="type === 1" @click="submit">确认出仓</el-button>
<el-button v-else @click="submit2">确认到仓</el-button>
<el-button @click="$router.back()">返回</el-button>
</div>
</div> </div>
</div>
</template> </template>
<script> <script>
import ordeDetailsForm from "@/views/ecw/order/components/ordeDetailsForm"; import ordeDetailsForm from "@/views/ecw/order/components/ordeDetailsForm";
import {
getOrder,
orderWarehouseInGetAdjustInfo,
orderWarehousePicturePage, warehouseAdjustArrived, warehouseAdjustPage,
warehouseAdjustSendOut
} from "@/api/ecw/order";
import Template from "@/views/cms/template";
import {DICT_TYPE} from '@/utils/dict';
import ImageAndVideoUpload from "@/components/ImageAndVideoUpload/index";
let STATUS = {1:'审核中', 2:'已通过', 3:'已拒绝', 4:'已出仓', 5:'已到仓'}
export default { export default {
name: "transferWarehousing", name: "transferWarehousing",
components:{ components: {
ordeDetailsForm ImageAndVideoUpload,
Template,
ordeDetailsForm,
},
props: {
orderId: [String, Number],
type: [String],
},
data() {
return {
STATUS,
orderDetails: {},
DICT_TYPE,
warehouseDetails: {},
warehouseList:[],
params: {
deliveryDate: "",
deliveryRemark: "",
id: undefined,
logisticsCompany: "",
logisticsNo: "",
phone: "",
urls: []
}
}
},
created() {
getOrder(this.orderId).then(r => {
if (r.code === 0) {
this.orderDetails = r.data;
}
})
if(this.type == 2){
warehouseAdjustPage({rows:100,orderId:this.orderId}).then(r => {
this.warehouseList = r.data.list
})
}
orderWarehouseInGetAdjustInfo({orderId: this.orderId, lang: 0}).then(r => {
this.warehouseDetails = r.data[0]
this.params.phone = this.warehouseDetails.phone;
this.params.logisticsNo = this.warehouseDetails.logisticsNo;
this.params.id = this.warehouseDetails.id;
this.params.deliveryDate = this.warehouseDetails.deliveryDate
orderWarehousePicturePage({rows:100,bizId:this.params.id,type:this.type == 1 ? 2 : 3 }).then(r => {
if(r.code === 0){
this.params.urls = r.data.list.map(e => e.url);
}
})
})
},
methods:{
submit(){
warehouseAdjustSendOut(this.params).then(
r => {
if(r.code === 0){
this.$message.success('调拨出仓成功');
this.$router.back();
}
}
)
},
submit2(){
warehouseAdjustArrived(this.params).then(r => {
{
if(r.code === 0){
this.$message.success('调到仓成功');
this.$router.back();
}
}
})
}
}, },
} }
</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