Commit 2fa74d32 authored by dragondean@qq.com's avatar dragondean@qq.com
parents bb983352 a1a853fb
......@@ -163,6 +163,15 @@ export function orderWarehouseIn(data){
})
}
// 入仓
export function orderWarehouseInUpdateApply(data){
return request({
url: '/order/order-warehouse-in/update-apply',
method: 'put',
data
})
}
// 入仓完成
export function orderWarehouseInFinish(data){
return request({
......
......@@ -170,8 +170,11 @@ export default {
},
},
watch: {
processId(val) {
this.getApprovalDetail(val);
processId: {
immediate: true,
handler(val) {
this.getApprovalDetail(val);
},
},
boxBackVO(val) {
// 柜型
......
This diff is collapsed.
......@@ -79,8 +79,8 @@
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button type="text" size="small" @click="moveOut(scope.row)" v-if="!isUnderReview">移出</el-button>
<!-- <el-button type="text" size="small" disabled>拆单</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>
</template>
</el-table-column>
</el-table>
......@@ -162,7 +162,7 @@
</el-row>
</template>
<!-- 批量装柜纠错(订单号) -->
<template v-if=" dialogConfig.type === 'correctionOrder' && dialogConfig.dialogVisible">
<template v-if="dialogConfig.type === 'correctionOrder' && dialogConfig.dialogVisible">
<el-form ref="orderForm" :rules="rules" :model="orderObj" label-position="top">
<el-form-item label="装柜纠错(订单号)" prop="orderNo">
<el-input type="textarea" :rows="3" v-model="orderObj.orderNo" placeholder="请输入,多个以逗号分隔" clearable />
......@@ -174,7 +174,7 @@
</el-row>
</template>
<!-- 装柜批量输入 -->
<template v-if=" dialogConfig.type === 'batchInput' && dialogConfig.dialogVisible">
<template v-if="dialogConfig.type === 'batchInput' && dialogConfig.dialogVisible">
<el-form ref="batchForm" :rules="rules" :model="batchObj" label-position="top">
<el-form-item label="" prop="qrCode">
<el-input type="textarea" :rows="3" v-model="batchObj.qrCode" placeholder="请输入,多个以逗号分隔" clearable />
......@@ -185,6 +185,8 @@
<el-button @click="closeDialog">取消</el-button>
</el-row>
</template>
<!-- 拆单 -->
<splitOrder v-if="dialogConfig.type === 'splitOrder' && dialogConfig.dialogVisible" :currRow="currRow" @closeDialog="closeDialog" />
</el-dialog>
</div>
</template>
......@@ -205,6 +207,7 @@ import {
approvalCreate,
} from "@/api/ecw/boxSea";
import { getTotlContent, serviceMsg } from "../../utils";
import splitOrder from "./splitOrder.vue";
/**
* 开始装柜
......@@ -214,6 +217,7 @@ export default {
inheritAttrs: false,
components: {
supplementOrder,
splitOrder,
},
props: {
shipmentObj: Object,
......@@ -259,6 +263,8 @@ export default {
qrCode: [{ required: true, message: "必填", trigger: "change" }],
orderNo: [{ required: true, message: "必填", trigger: "change" }],
},
// 当前行
currRow: {},
};
},
created() {
......@@ -289,6 +295,11 @@ export default {
handlerClick(type, title) {
this.shwoDialog({ type, title });
},
/* 拆单 */
handlerSplitOrder(row, type, title) {
this.currRow = row;
this.shwoDialog({ type, title });
},
/** 表格订单号点击 */
orderClick(row) {
orderTagList({ orderId: row.orderId }).then((res) => {
......@@ -340,6 +351,9 @@ export default {
this.$set(this.dialogConfig, "fullscreen", false);
this.modifyCabinetObj = {};
break;
case "splitOrder":
this.$set(this.dialogConfig, "fullscreen", true);
break;
}
this.$set(this.dialogConfig, "dialogVisible", true);
},
......@@ -465,6 +479,13 @@ export default {
serviceMsg(res, this);
});
},
/* 是否显示拆单 */
isShowSplitOrder(row) {
if (row.num > row.installNum) {
return true;
}
return false;
},
},
watch: {
listData(val) {
......
......@@ -277,26 +277,12 @@
<el-row class="process-area" v-show="isAudit">
<div class="process">
<div>审批流程</div>
<div>流程图</div>
<work-flow xmlkey="shipment_preassemble" v-model="selectedUsers"></work-flow>
</div>
<!-- <div class="copy-user">
<div>
<label class="el-form-item__label">抄送</label>
<userSelect v-model="copyUser" placeholder="请选择抄送人" :allUsers="this.$attrs.allUsers" size="small" multiple collapse-tags />
</div>
<div>
<label class="el-form-item__label">抄送人</label>
<div class="copyUser-tag">
<el-tag v-for="user in copyUsers" :key="user.id" closable @close="removeCopyUser(user)">
{{user.nickname}}
</el-tag>
</div>
</div>
</div> -->
<div>
<el-button type="primary" :disabled=true>审核中</el-button>
<el-button type="primary" @click="canclAudit">取消审核</el-button>
<el-button type="primary" @click="closeDialog">返回</el-button>
<el-button plain type="primary" @click="canclAudit">取消审核</el-button>
<el-button plain type="primary" @click="closeDialog">返回</el-button>
</div>
</el-row>
</div>
......@@ -317,6 +303,7 @@ import {
import userSelect from "./common/userSelect.vue";
import { formatDate, getTotlContent, serviceMsg } from "../utils";
import dayjs from "dayjs";
import WorkFlow from "@/components/WorkFlow";
/**
* 预装
......@@ -324,7 +311,7 @@ import dayjs from "dayjs";
export default {
name: "preinstall",
inheritAttrs: false,
components: { userSelect },
components: { userSelect, WorkFlow },
data() {
return {
// 状态
......@@ -364,10 +351,8 @@ export default {
},
// 出货信息
shipmentObj: this.$attrs.shipmentObj,
// 抄送人
copyUser: undefined,
// 抄送人数组
copyUsers: [],
selectedUsers: [],
};
},
computed: {
......@@ -594,10 +579,6 @@ export default {
: rucangtime[1],
};
},
/* 删除抄送人 */
removeCopyUser(user) {
this.copyUser = this.copyUser.filter((id) => id !== user.id);
},
/* 关闭弹框 */
closeDialog() {
this.$emit("closeDialog");
......@@ -617,17 +598,6 @@ export default {
});
},
},
watch: {
copyUser(val) {
const { allUsers } = this.$attrs;
let users = [];
for (const id of val) {
const user = allUsers.find((item) => item.id === id);
if (user) users.push(user);
}
this.copyUsers = users;
},
},
};
</script>
......@@ -730,26 +700,6 @@ export default {
font-weight: bolder;
font-size: 16px;
}
> :last-child {
height: 300px;
}
}
.copy-user {
margin-bottom: 15px;
> div {
display: flex;
align-items: center;
}
> :last-child {
.copyUser-tag {
display: flex;
flex-wrap: wrap;
> span {
margin-right: 10px;
}
}
}
}
}
}
......
......@@ -74,7 +74,6 @@ export default {
seaBaseData: Array,
},
data() {
console.log(this.$store.state.user);
return {
// 弹窗配置
dialogConfig: {
......@@ -177,8 +176,17 @@ export default {
let nodeIndex = 0;
for (let j = 0; j < nodes.length; j++) {
const node = nodes[j];
const { keyName, voName, status } = node;
if (!keyName) continue;
const { keyName, voName, status, type } = node;
if (!keyName && type === "agent") {
if (val[voName]) {
// 已完成agent节点
node.currStatus = "end";
++nodeIndex;
}
continue;
}
const { start, wait, end } = status;
if (start.includes(val[keyName])) {
......@@ -199,7 +207,7 @@ export default {
++nodeIndex;
}
}
// 如果相等标识步骤已完成
// 如果相等标识步骤已完成
if (nodeIndex === nodes.length) {
// 加1表示为已完成步骤后一步
this.currIndex = i + 1;
......
......@@ -162,6 +162,11 @@
<el-input v-model="form.remarks" placeholder="请输入备注"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否显示提单价格" prop="remarks">
<el-switch v-model="form.isShowTidanPrice"></el-switch>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="到仓确认" prop="arrivalConfirm">
<el-switch v-model="form.arrivalConfirm" :active-value="0" :inactive-value="1" />
......@@ -493,9 +498,6 @@ export default {
if (!valid) {
return;
}
this.form.customerContacts.forEach(e => {
e.userid = e.userid.join(',')
})
// 修改的提交
if (this.form.id != null) {
this.form.customerContacts.forEach(e => {
......@@ -556,7 +558,8 @@ export default {
remarks: undefined,
arrivalConfirm: undefined,
weightUnit: undefined,
createTime: undefined
createTime: undefined,
isShowTidanPrice:true,
};
this.resetForm("form");
},
......
......@@ -75,11 +75,11 @@
</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="集运仓库">{{ warehouseDetails && warehouseDetails.warehouseOutName ? warehouseDetails.warehouseOutName : '' }}</el-descriptions-item>
<el-descriptions-item label="储位">
<div v-for="item in storageSpaceList" style="display: flex;"><div>{{item.warehouseName}}</div><div>{{item.regionName}} 区</div></div>
<div v-for="item in storageSpaceList" style="display: flex;"><div>{{item.warehouseName ? item.warehouseName : ''}}</div><div>{{item.warehouseName ? item.regionName :''}} 区</div></div>
</el-descriptions-item>
<el-descriptions-item label="调拨目标仓">{{ warehouseDetails.warehouseInName }}</el-descriptions-item>
<el-descriptions-item label="调拨目标仓">{{ warehouseDetails && warehouseDetails.warehouseInName ? warehouseDetails.warehouseInName : '' }}</el-descriptions-item>
<el-descriptions-item label="物流公司">
<el-select v-model="params.logisticsCompany" >
<el-option v-for="(item,index) in expressList " :key="index" :value="item.id" :label="item.companyZh"></el-option>
......@@ -208,7 +208,7 @@ export default {
})
}
})
this.params.phone = this.warehouseDetails.phone;
this.params.phone = this.warehouseDetails.phone || '';
this.params.logisticsNo = this.warehouseDetails.logisticsNo;
this.params.id = this.warehouseDetails.id;
this.params.deliveryDate = this.warehouseDetails.deliveryDate
......
......@@ -88,7 +88,7 @@
<el-input v-else v-model.number="tableData[$index].weight" placeholder=""></el-input>
</template>
</el-table-column>
<el-table-column label="数量">
<el-table-column label="数量" width="130px">
<template v-slot="{r,c,$index}">
<span v-if="tableData[$index].id">{{ tableData[$index].quantityAll }}</span>
<el-input v-else v-model.number="tableData[$index].quantityAll" placeholder="">
......@@ -105,6 +105,13 @@
</el-table>
</el-card>
<div v-if="edit">
<h2>审批流程</h2>
<work-flow xmlkey="free_apply" v-model="selectedUsers" />
<!-- <div>选择的用户:{{selectedUsers}}</div>-->
</div>
<span slot="footer">
<el-button @click="opened = false">关 闭</el-button>
<el-button type="primary" @click="handleSubmit()">提 交</el-button>
......@@ -116,15 +123,17 @@
<script>
import dictSelector from "@/components/DictSelector"
import {DICT_TYPE, getDictDataLabel} from "@/utils/dict"
import warehousing from "@/views/ecw/order/warehousing"
import {orderWarehouseIn} from "@/api/ecw/order"
import { orderWarehouseIn, orderWarehouseInUpdateApply } from '@/api/ecw/order'
import {getProductBrankPage} from "@/api/ecw/productBrank"
import WorkFlow from "@/components/WorkFlow"
import elSelect from '@/components/render/slots/el-select'
export default {
name: 'editDialog',
components: {
dictSelector
dictSelector,
WorkFlow
},
props: {
......@@ -132,6 +141,11 @@ export default {
type: Boolean,
default: false
},
// 入仓修改
edit: {
type: Boolean,
default: false
},
warehousing: {
type: Object,
default: () => {
......@@ -183,7 +197,9 @@ export default {
"prodType": 0,
"type": 0
},
// orderItem: {}
// orderItem: {},
selectedUsers: undefined
};
},
......@@ -218,27 +234,48 @@ export default {
}
},
handleSubmit() {
const orderWarehouseInItemDoList = this.form.orderWarehouseInItemDoList.map(e => {
return {
...e,
boxGauge: e.boxGauge1 + '*' + e.boxGauge2 + '*' + e.boxGauge3
}
})
return orderWarehouseIn({
...this.form,
brandType: this.form.brand ? 1 : 0,
orderId: this.warehousing.orderId,
orderItemId: this.warehousing.orderItemId,
orderNo: this.warehousing.orderNo,
orderWarehouseInItemDoList
}).then(r => {
if (r.data){
this.$message.success('入仓成功')
this.handleClose()
}else {
this.$message.success('入仓失败')
}
})
const orderWarehouseInItemDoList = [
...this.warehousing.orderWarehouseInBackItemDoList,
...this.form.orderWarehouseInItemDoList.map(e => {
return {
...e,
boxGauge: e.boxGauge1 + '*' + e.boxGauge2 + '*' + e.boxGauge3
}
})
]
if (this.edit)
return orderWarehouseInUpdateApply({
...this.form,
brandType: this.form.brand ? 1 : 0,
orderId: this.warehousing.orderId,
orderItemId: this.warehousing.orderItemId,
orderNo: this.warehousing.orderNo,
"orderWarehouseInUpdateItemDoList": orderWarehouseInItemDoList,
copyUserId: this.selectedUsers
}).then(r => {
if (r.data){
this.$message.success('入仓修改发起成功')
this.handleClose()
}else {
this.$message.success('入仓修改发起失败')
}
})
else
return orderWarehouseIn({
...this.form,
brandType: this.form.brand ? 1 : 0,
orderId: this.warehousing.orderId,
orderItemId: this.warehousing.orderItemId,
orderNo: this.warehousing.orderNo,
orderWarehouseInItemDoList
}).then(r => {
if (r.data){
this.$message.success('入仓成功')
this.handleClose()
}else {
this.$message.success('入仓失败')
}
})
},
handleClose() {
this.form.orderWarehouseInItemDoList = []
......
......@@ -63,10 +63,13 @@
prop="address"
label="操作">
<template v-slot="{ row, column, $index }">
<el-button v-if="orderItemList[$index] && orderItemList[$index].orderWarehouseInBackItemDoList && orderItemList[$index].orderWarehouseInBackItemDoList.length > 0" size="mini" type="text" @click="handleWarehousing($index)">追加</el-button>
<el-button v-else size="mini" type="text" @click="handleWarehousing($index)">入仓</el-button>
<el-button size="mini" type="text" @click="handleWarehousingReturn(row)">退仓</el-button>
<el-button v-if="order.status === 5" size="mini" type="text" @click="handleWarehousing($index)">修改</el-button>
<template v-else>
<el-button v-if="orderItemList[$index] && orderItemList[$index].orderWarehouseInBackItemDoList && orderItemList[$index].orderWarehouseInBackItemDoList.length > 0" size="mini" type="text" @click="handleWarehousing($index)">追加</el-button>
<el-button v-else size="mini" type="text" @click="handleWarehousing($index)">入仓</el-button>
<el-button size="mini" type="text" @click="handleWarehousingReturn(row)">退仓</el-button>
</template>
</template>
</el-table-column>
</el-table>
......@@ -86,7 +89,16 @@
</el-input>
</el-form-item>
<div style="text-align: center;margin-top: 15px">
<el-card style="margin-top: 15px;">
<div slot="header" class="clearfix">
<span style="font-size: 18px">入仓影像</span>
</div>
<div>
<image-and-video-upload :fileSize="50" :isShowTip="true" v-model="form.urls" ></image-and-video-upload>
</div>
</el-card>
<div style="text-align: center;margin-top: 15px" v-if="order.status !== 5">
<el-button @click="escapeBol = true;" type="primary">转异</el-button>
<el-button type="primary" @click="finishVisible = true">完成入仓</el-button>
</div>
......@@ -94,7 +106,7 @@
<warehouse-area-dialog ref="area" :visible.sync="areaVisible" v-model="form.orderLocationCreateReqVOList" :order-id="orderId"></warehouse-area-dialog>
<edit-dialog :visible.sync="warehousingVisible" :warehousing="warehousing"></edit-dialog>
<edit-dialog :visible.sync="warehousingVisible" :warehousing="warehousing" :edit="order.status === 5"></edit-dialog>
<!-- 完成入仓 -->
<el-dialog
......@@ -127,6 +139,20 @@
<el-button @click="escapeBol = false">取消</el-button>
</span>
</el-dialog>
<!-- <el-dialog-->
<!-- title="转异常单"-->
<!-- :visible.sync="dialogVisible"-->
<!-- width="30%"-->
<!-- :before-close="handleClose(done)"-->
<!-- >-->
<!-- <span>这是一段信息</span>-->
<!-- <span slot="footer" class="dialog-footer">-->
<!-- <el-button type="primary" @click="dialogVisible = false">确认并完成入仓</el-button>-->
<!-- <el-button @click="dialogVisible = false">取 消</el-button>-->
<!-- </span>-->
<!-- </el-dialog>-->
<print-tag v-if="isShowPrintTag" :order-id="orderId" @close="isShowPrintTag = false"></print-tag>
<print-warehouse-receipt v-if="isShowPrint" :order-id="orderId" @close="isShowPrint = false" />
......@@ -150,6 +176,7 @@ import PrintTag from "@/views/ecw/order/components/PrintTag"
import PrintWarehouseReceipt from "@/views/ecw/order/components/PrintWarehouseReceipt"
import imageUpload from "@/components/ImageUpload";
import {parseTime} from "@/utils/ruoyi"
import ImageAndVideoUpload from '@/components/ImageAndVideoUpload'
export default {
name: "Warehousing",
......@@ -159,7 +186,8 @@ export default {
editDialog,
PrintTag,
PrintWarehouseReceipt,
imageUpload
imageUpload,
ImageAndVideoUpload,
},
mounted() {
......@@ -186,6 +214,7 @@ export default {
exceptionUrls:[],
descZh:'',
manualExceptionType:'',
urls: []
},
currencyList:[],
order: {},
......@@ -204,7 +233,8 @@ export default {
let p = {
orderSpecialNeedReceivableReqVoList: this.form.orderSpecialNeedReceivableReqVoList,
"orderLocationCreateReqVOList": this.form.orderLocationCreateReqVOList,
"orderId": this.order.orderId
"orderId": this.order.orderId,
urls: this.form.urls
}
if(this.escapeBol){
p.exceptionUrls = this.form.exceptionUrls.split(',');
......
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