Commit ed168d68 authored by dragondean@qq.com's avatar dragondean@qq.com

解决订单列表页冲突

parents e39f0ed1 04e0d9f9
......@@ -355,14 +355,14 @@ export function abnormalCreate(data) {
* 获得已预装部分列表
*
* @export
* @param {*} params
* @param {*} data
* @return {*}
*/
export function secGoodsList(params) {
export function secGoodsList(data) {
return request({
url: "/ecw/box-preload-goods/secGoodsList",
method: "get",
params,
method: "post",
data,
});
}
......@@ -370,14 +370,14 @@ export function secGoodsList(params) {
* 获得预装分页
*
* @export
* @param {*} params
* @param {*} data
* @return {*}
*/
export function preloadPage(params) {
export function preloadPage(data) {
return request({
url: "/ecw/box-preload-goods/preloadPage",
method: "get",
params,
method: "post",
data,
});
}
......@@ -396,6 +396,37 @@ export function createSection(data) {
});
}
/**
* 查询出货单下的所有部分列表
*
* @export
* @param {*} data
* @return {*}
*/
export function getSectionList(params) {
return request({
url: "/ecw/box-preload-section/list",
method: "get",
params,
});
}
/**
* 装柜订单明细
*
* @export
* @param {*} data
* @return {*}
*/
export function boxGoodsDetail(data) {
return request({
url: "/ecw/box-preload-goods/boxGoodsDetail",
method: "post",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: jsonToFormData(data),
});
}
/**
* 删除预装部分
*
......
......@@ -50,6 +50,15 @@ export function getDeptTargetPage(query) {
})
}
// 获得个人目标进度分页
export function getPersonTargetPage(query) {
return request({
url: '/sale/dept-target/personal/page',
method: 'get',
params: query
})
}
// 导出部门业绩目标设置 Excel
export function exportDeptTargetExcel(query) {
return request({
......
......@@ -279,6 +279,13 @@ export function feeApplicationGet(params){
params
})
}
export function getAdjustInfo(params){
return request({
url:'/order/order-warehouse-in/get-adjust-info',
method:'get',
params,
})
}
export function warehouseAdjustArrived(data){
return request({
url:'/order/order-warehouse-in/warehouse-adjust-arrived',
......
import request from '@/utils/request'
// 创建需知
export function createNeedKnow(data) {
return request({
url: '/system/need-know/create',
method: 'post',
data: data
})
}
// 更新需知
export function updateNeedKnow(data) {
return request({
url: '/system/need-know/update',
method: 'put',
data: data
})
}
// 删除需知
export function deleteNeedKnow(id) {
return request({
url: '/system/need-know/delete?id=' + id,
method: 'delete'
})
}
// 获得需知
export function getNeedKnow(id) {
return request({
url: '/system/need-know/get?id=' + id,
method: 'get'
})
}
// 获得需知分页
export function getNeedKnowPage(query) {
return request({
url: '/system/need-know/page',
method: 'get',
params: query
})
}
// 导出需知 Excel
export function exportNeedKnowExcel(query) {
return request({
url: '/system/need-know/export-excel',
method: 'get',
params: query,
responseType: 'blob'
})
}
......@@ -4,36 +4,38 @@
<el-descriptions-item label="唛头">{{ order.marks }}</el-descriptions-item>
<el-descriptions-item label="已到箱数">{{ order.sumNum }}</el-descriptions-item>
<el-descriptions-item label="订单状态"><dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="order.status" /></el-descriptions-item>
<el-descriptions-item label="送货时间">todo</el-descriptions-item>
<el-descriptions-item label="送货时间">{{ order.consigneeVO && order.consigneeVO.deliveryDate || '' }}</el-descriptions-item>
<el-descriptions-item label="运输方式">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.logisticsInfoDto.transportId"></dict-tag>
</el-descriptions-item>
<el-descriptions-item label="始发地">{{ order.logisticsInfoDto.startWarehouseId }}</el-descriptions-item>
<el-descriptions-item label="目的地">{{ order.logisticsInfoDto.destWarehouseId }}</el-descriptions-item>
<el-descriptions-item label="发货人姓名">{{ order.consignorVO && order.consignorVO.name}}</el-descriptions-item>
<el-descriptions-item label="始发地">{{ order.logisticsInfoDto.startAddressZh || '' }}</el-descriptions-item>
<el-descriptions-item label="目的地">{{ order.logisticsInfoDto.destTitleZh || '' }}</el-descriptions-item>
<el-descriptions-item label="发货人姓名">{{ order.consignorVO && order.consignorVO.name || ''}}</el-descriptions-item>
<el-descriptions-item label="发货人公司">{{ order.consignorVO && order.consignorVO.company || '' }}</el-descriptions-item>
<el-descriptions-item label="发货人电话">{{ order.consignorVO && order.consignorVO.phone }}</el-descriptions-item>
<el-descriptions-item label="收货人姓名">{{ order.consigneeVO && order.consigneeVO.name}}</el-descriptions-item>
<el-descriptions-item label="收货人公司">{{ order.consigneeVO && order.consigneeVO.company }}</el-descriptions-item>
<el-descriptions-item label="收货人电话">{{ order.consigneeVO && order.consigneeVO.phone }}</el-descriptions-item>
<el-descriptions-item label="入仓类型">{{ order.warehouseType }}</el-descriptions-item>
<el-descriptions-item label="发货人电话">{{ order.consignorVO && order.consignorVO.phone || '' }}</el-descriptions-item>
<el-descriptions-item label="收货人姓名">{{ order.consigneeVO && order.consigneeVO.name || ''}}</el-descriptions-item>
<el-descriptions-item label="收货人公司">{{ order.consigneeVO && order.consigneeVO.company || '' }}</el-descriptions-item>
<el-descriptions-item label="收货人电话">{{ order.consigneeVO && order.consigneeVO.phone || '' }}</el-descriptions-item>
<el-descriptions-item label="入仓类型">{{ getDictDataLabel(DICT_TYPE.ECW_WAREHOUSING_TYPE, order.warehouseType) }}</el-descriptions-item>
<el-descriptions-item label="订单号">{{ order.orderNo }}</el-descriptions-item>
</el-descriptions>
</div>
</template>
<script>
import {DICT_TYPE} from "@/utils/dict"
import {DICT_TYPE, getDictDataLabel} from "@/utils/dict"
export default {
name: "orderBaseInfo",
props: {
order: Object
},
data () {
return {
DICT_TYPE
DICT_TYPE,
getDictDataLabel
}
}
}
......
......@@ -308,30 +308,6 @@ export const constantRoutes = [
noCache:true,
}
},
{
path: 'batch-single-application',
component:(resolve)=> require(['@/views/ecw/order/batchSingleApplication'],resolve),
name: 'batchSingleApplication',
props: route => ({orderList:route.query.list}),
meta: {
title: '批量调仓申请',
icon:'',
activeMenu: '/order/batchSingleApplication',
noCache:true
}
},
{
path: 'fee-application/:orderId',
component:(resolve)=> require(['@/views/ecw/order/feeApplication'],resolve),
name: 'feeApplication',
props: true,
meta: {
title: '费用申请',
icon:'',
activeMenu: '/order/feeApplication'
}
},
{
path: 'mutex-order/:orderId',
component:()=> import('@/views/ecw/order/mutexOrder'),
......@@ -387,13 +363,13 @@ export const constantRoutes = [
hidden: true,
redirect: 'noredirect',
children: [
/* {
path: 'query/:boxId(\\d+)',
{
path: 'query/:shipmentId(\\d+)',
component: (resolve) => import('@/views/ecw/box/query'),
props: true,
name: 'boxQuery',
meta: {title: '出货详情', icon: '', activeMenu: '/shipment/box'}
}, */
name: 'shippingDetail',
meta: {title: '出货详情', icon: '', activeMenu: '/shipment/boxDetail'}
},
{
path: 'shippingSea/:shipmentId(\\d+)',
component: (resolve) => import('@/views/ecw/box/shippingSea/shippingSea'),
......
......@@ -163,8 +163,9 @@ export const DICT_TYPE = {
ORDER_COD_EXCEPTION_RESULT:'order_cod_exception_result',//代收货款异常处理结果
ORDER_OTHER_EXCEPTION_RESULT:'order_other_exception_result',//其它异常处理结果
ORDER_BULKY_CARGO_EXCEPTION_RESULT:'order_bulky_cargo_exception_result',//泡货异常处理结果
PAYMENT_TYPE:'payment_type',//收款类型
NEED_KNOW_TYPE:'need_know_type',//需知类型
NEED_KNOW_STATUS:'need_know_status',//需知状态
ECASH_INIT:'ecash_init', //e-cash
FEE_TYPE:'receivable_fee_type',
......
......@@ -62,6 +62,62 @@
<div v-if="this.processInstance.processDefinition.formCustomViewPath=='warehouse_transfer'"><!--调仓申请-->
<warehouseDetails :processId="this.processInstance.businessKey" :type="1" ></warehouseDetails>
</div>
<div v-if="this.processInstance.processDefinition.formCustomViewPath=='container_modify'"><!--出货审核-柜子修改审核-->
<shippingDetail :processId="this.processInstance.businessKey"></shippingDetail>
</div>
<div v-if="this.processInstance.processDefinition.formCustomViewPath=='trailer_modify'"><!--出货审核-拖车修改审核-->
<shippingDetail :processId="this.processInstance.businessKey"></shippingDetail>
</div>
<div v-if="this.processInstance.processDefinition.formCustomViewPath=='ship_modify'"><!--出货审核-配船修改审核-->
<shippingDetail :processId="this.processInstance.businessKey"></shippingDetail>
</div>
<div v-if="this.processInstance.processDefinition.formCustomViewPath=='ship_modify'"><!--出货审核-配船修改审核-->
<shippingDetail :processId="this.processInstance.businessKey"></shippingDetail>
</div>
<div v-if="this.processInstance.processDefinition.formCustomViewPath=='customs_declare_modify'"><!--出货审核-报关修改审核-->
<shippingDetail :processId="this.processInstance.businessKey"></shippingDetail>
</div>
<div v-if="this.processInstance.processDefinition.formCustomViewPath=='arrival_modify'"><!--出货审核-到港修改审核-->
<shippingDetail :processId="this.processInstance.businessKey"></shippingDetail>
</div>
<div v-if="this.processInstance.processDefinition.formCustomViewPath=='customs_clearance_modify'"><!--出货审核-清关修改审核-->
<shippingDetail :processId="this.processInstance.businessKey"></shippingDetail>
</div>
<div v-if="this.processInstance.processDefinition.formCustomViewPath=='customs_exit_part'"><!--出货审核-报关部分退场审核-->
<shippingDetail :processId="this.processInstance.businessKey"></shippingDetail>
</div>
<div v-if="this.processInstance.processDefinition.formCustomViewPath=='customs_exit_all'"><!--出货审核-报关退场审核-->
<shippingDetail :processId="this.processInstance.businessKey"></shippingDetail>
</div>
<div v-if="this.processInstance.processDefinition.formCustomViewPath=='start_port_modify'"><!--出货审核-起运修改审核-->
<shippingDetail :processId="this.processInstance.businessKey"></shippingDetail>
</div>
<div v-if="this.processInstance.processDefinition.formCustomViewPath=='book_space_modify'"><!--出货审核-订舱修改审核-->
<shippingDetail :processId="this.processInstance.businessKey"></shippingDetail>
</div>
<div v-if="this.processInstance.processDefinition.formCustomViewPath=='sorting_apply_no'"><!--出货审核-分拣反审核-->
<shippingDetail :processId="this.processInstance.businessKey"></shippingDetail>
</div>
<div v-if="this.processInstance.processDefinition.formCustomViewPath=='sorting_apply'"><!--出货审核-分拣审核-->
<shippingDetail :processId="this.processInstance.businessKey"></shippingDetail>
</div>
<div v-if="this.processInstance.processDefinition.formCustomViewPath=='unload_container_no'"><!--出货审核-卸柜反审核-->
<shippingDetail :processId="this.processInstance.businessKey"></shippingDetail>
</div>
<div v-if="this.processInstance.processDefinition.formCustomViewPath=='unload_container'"><!--出货审核-卸柜审核-->
<shippingDetail :processId="this.processInstance.businessKey"></shippingDetail>
</div>
<div v-if="this.processInstance.processDefinition.formCustomViewPath=='close_container'"><!--出货审核-封柜审核-->
<shippingDetail :processId="this.processInstance.businessKey"></shippingDetail>
</div>
<div v-if="this.processInstance.processDefinition.formCustomViewPath=='shipment_preassemble_no'"><!--出货审核-预装反审核-->
<shippingDetail :processId="this.processInstance.businessKey"></shippingDetail>
</div>
<div v-if="this.processInstance.processDefinition.formCustomViewPath=='shipment_preassemble'"><!--出货审核-预装审核-->
<shippingDetail :processId="this.processInstance.businessKey"></shippingDetail>
</div>
<div v-else>
<router-link :to="this.processInstance.processDefinition.formCustomViewPath + '?id='
+ this.processInstance.businessKey">
......
......@@ -20,7 +20,7 @@
</el-select>
</el-form-item>
<el-row class="two-element">
<el-row class="two-element-formItem">
<el-form-item label="金额">
<el-input-number v-model="costObj.price" controls-position="right" :min="1"></el-input-number>
</el-form-item>
......@@ -36,7 +36,7 @@
</el-form-item>
</el-form>
<div slot="footer" class="operate-button">
<div class="operate-button">
<el-button type="primary" @click="submit">确定</el-button>
<el-button @click="$emit('closeDialog')">取消</el-button>
</div>
......@@ -84,25 +84,3 @@ export default {
},
};
</script>
<style lang="scss">
// 海运操作统一弹窗样式
.app-costForm {
// 页面内元素弹窗form控件宽度设置
.el-form-item__content {
> div:not(.el-input-number) {
width: 100%;
}
}
.operate-button {
text-align: center;
}
.two-element {
display: flex;
> :last-child {
width: 100%;
margin-left: 10px;
}
}
}
</style>
<template>
<div class="app-container">
<div class="app-container shipping-sea">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
......@@ -45,8 +45,8 @@
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="运输方式" prop="transportType">
<el-select v-model="queryParams.transportType" placeholder="请选择运输方式" clearable size="small">
<el-option v-for="dict in transportTypes"
......@@ -54,7 +54,7 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
......@@ -79,7 +79,11 @@
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="自编号" align="center" prop="selfNo"/>
<el-table-column label="自编号" align="center" prop="selfNo">
<template slot-scope="scope">
<el-button type="text" @click="handleCommand(scope.row, 'detail')">{{ scope.row.selfNo }}</el-button>
</template>
</el-table-column>
<el-table-column label="柜号" align="center" prop="cubNo"/>
<el-table-column label="柜型" align="center" prop="cabinetId">
<template slot-scope="scope">
......@@ -100,15 +104,15 @@
<dict-tag :type="DICT_TYPE.BOX_SHIPMENT_STATUS" :value="scope.row.boxStatus"/>
</template>
</el-table-column>
<el-table-column label="日期" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ new Date(scope.row.createTime).format('yyyy-MM-dd') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200px">
<template slot-scope="scope">
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)">
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)" style="marginRight:10px;">
<el-button type="primary">
操作<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
......@@ -120,6 +124,20 @@
<el-dropdown-item command="delete">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown trigger="click">
<el-button type="primary">
下载<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="">预装单</el-dropdown-item>
<el-dropdown-item command="">已装单</el-dropdown-item>
<el-dropdown-item command="">应收汇总表</el-dropdown-item>
<el-dropdown-item command="">agent list</el-dropdown-item>
<el-dropdown-item command="">son cap</el-dropdown-item>
<el-dropdown-item command="">提货单</el-dropdown-item>
<el-dropdown-item command="">提单Copy</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table>
......@@ -128,7 +146,7 @@
@pagination="getList"/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body class="shippingSea-dialog">
<template v-if="dialogType === 'edit' || dialogType === 'add'">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
......@@ -155,9 +173,9 @@
<el-option v-for="item in importWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<div class="operate-button">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
......@@ -165,6 +183,9 @@
<template v-if="dialogType === 'cost'">
<costForm v-if="open" @closeDialog="closeDialog" :currRow="currRow"/>
</template>
<template v-if="dialogType === 'error'">
<regError v-if="open" @closeDialog="closeDialog" :shipmentObj="currRow"/>
</template>
</el-dialog>
</div>
</template>
......@@ -173,13 +194,15 @@
import {createbox, updatebox, deletebox, getbox, getboxPage, exportboxExcel} from "@/api/ecw/box";
import {getCabinetPage} from "@/api/ecw/cabinet";
import { getWarehouseList } from "@/api/ecw/warehouse"
import { getDictDatas, DICT_TYPE } from '@/utils/dict';
import { DICT_TYPE } from '@/utils/dict';
import costForm from './costForm.vue'
import regError from './regError.vue'
export default {
name: "box",
components: {
costForm
costForm,
regError
},
data() {
return {
......@@ -266,7 +289,7 @@
created() {
this.transportTypes = this.transportTypes.filter(item => item.value == '1' || item.value == '2');
getWarehouseList().then(res => this.warehouseList = res.data);
getCabinetPage(null).then(response => {
......@@ -275,7 +298,6 @@
this.getList();
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
......@@ -390,13 +412,6 @@
closeDialog() {
this.open = false;
},
/* 费用登记 */
createCost(row) {
this.title = '费用登记'
this.dialogType = 'cost';
this.open = true;
this.currRow = row;
},
/** 查看按钮操作 */
handleCommand(row, command) {
switch (command) {
......@@ -413,10 +428,53 @@
break;
case 'cost':
this.createCost(row);
this.title = '费用登记'
this.dialogType = 'cost';
this.open = true;
this.currRow = row;
break;
case 'error':
this.title = '异常登记'
this.dialogType = 'error';
this.open = true;
this.currRow = row;
break;
case 'detail':
this.$router.push('/boxSea/query/' + row.id)
break;
}
},
}
};
</script>
<style lang="scss">
// 海运操作统一弹窗样式
.shippingSea-dialog {
// 页面内元素弹窗form控件宽度设置
.el-form-item__content {
> div:not(.el-input-number) {
width: 100%;
}
}
.operate-button {
text-align: center;
}
.two-element-formItem {
display: flex;
> :last-child {
width: 100%;
margin-left: 10px;
}
}
.two-element {
.el-form-item__content {
display: flex;
> :last-child {
margin-left: 10px;
}
}
}
}
</style>
This diff is collapsed.
......@@ -18,6 +18,7 @@
<el-date-picker type="date" placeholder="请选择日期" v-model="errorObj.abnStartTime" value-format="yyyy-MM-dd"></el-date-picker>
<el-date-picker type="date" placeholder="请选择日期" v-model="errorObj.abnEndTime" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="是否更新订单状态">
<el-radio-group v-model="errorObj.orderStatus">
<el-radio v-for="item in status" :key="item.value" :label="item.value">{{item.label}}</el-radio>
......@@ -65,7 +66,7 @@ export default {
},
created() {
const { currNode } = this.$attrs;
this.errorObj = { opStep: currNode.dataKey };
this.errorObj = { opStep: currNode?.dataKey ?? undefined };
},
methods: {
/** 提交 */
......
......@@ -73,7 +73,7 @@
<section class="table-goodList">
<div>合计:{{calcSum(row.goodsList)}}</div>
<div v-for="(item, index) in row.goodsList" :key="index" class="goodList-div">
{{item.volume}}{{item.weight}}kg
{{getTotlContent(item,['volume','weight'])}}
</div>
</section>
</template>
......@@ -90,7 +90,11 @@
<script>
import { approvalDetail } from "@/api/ecw/box";
import { getSeaStatus, getStatusName } from "./shippingSea/utils";
import {
getSeaStatus,
getStatusName,
getTotlContent,
} from "./shippingSea/utils";
import { getCabinetPage } from "@/api/ecw/cabinet";
import { getChannelList } from "@/api/ecw/channel";
......@@ -123,6 +127,7 @@ export default {
getChannelList().then((res) => (this.channelList = res.data));
},
methods: {
getTotlContent,
/* 获取详情 */
getApprovalDetail(processId) {
approvalDetail({ approvalId: processId }).then((res) => {
......@@ -144,7 +149,11 @@ export default {
},
/* 打开订单列表 */
showOrder() {
this.$set(this.dialogConfig, "title", `${this.boxBackVO.selfNo} 订单列表`);
this.$set(
this.dialogConfig,
"title",
`${this.boxBackVO.selfNo} 订单列表`
);
this.$set(this.dialogConfig, "visible", true);
},
/* 合计 */
......@@ -190,9 +199,7 @@ export default {
/* 体积重量 */
getVolumeWeight() {
return (total) => {
return `${total?.num ?? 0} ${total?.volume ?? 0}m³ ${
total?.weight ?? 0
}kg`;
return this.getTotlContent(total);
};
},
/* 是否显示卸柜箱数 */
......
......@@ -30,7 +30,7 @@
</template>
<script>
import regError from "./regError";
import regError from "../../regError";
import dayjs from "dayjs";
import { arrivalCreate, serviceMsg } from "@/api/ecw/boxSea";
import { formatDateStr } from "../utils";
......
......@@ -11,9 +11,7 @@
</div>
<div>
<template v-if="item.secStatistics">
<p>{{item.secStatistics.num}}</p>
<p>{{item.secStatistics.volume}}</p>
<p>{{item.secStatistics.weight}}Kg</p>
{{getTotlContent(item.secStatistics)}}
</template>
</div>
</el-row>
......@@ -54,29 +52,29 @@
<dict-tag :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :value="item.productRecord" />
</p>
<p>其他:<span>{{item.num}}</span><span>{{item.volume}}</span><span>{{item.weight}}Kg</span></p>
<p>其他:{{getTotlContent(item)}}</p>
</div>
</section>
</template>
</el-table-column>
<el-table-column label="计划箱数" align="center" prop="num">
<template slot-scope="scope">
{{ scope.row.num }}
{{getTotlContent(scope.row,['num'])}}
</template>
</el-table-column>
<el-table-column label="实装箱数" align="center" prop="installNum">
<template slot-scope="scope">
{{ scope.row.installNum }}
{{ scope.row.installNum }}
</template>
</el-table-column>
<el-table-column label="体积" align="center" prop="volume">
<template slot-scope="scope">
{{ scope.row.volume }}
{{getTotlContent(scope.row,['volume'])}}
</template>
</el-table-column>
<el-table-column label="重量" align="center" prop="weight">
<template slot-scope="scope">
{{ scope.row.weight }} Kg
{{getTotlContent(scope.row,['weight'])}}
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
......@@ -97,14 +95,15 @@
<el-col :span="6" class="totle-info">
<div class="count-info">
<p>总计:
<!-- <span>{{sumData.count.num}}箱</span><span>{{sumData.count.volume}}m³</span><span>{{sumData.count.weight}}Kg</span> -->111
无返回
<!-- <span>{{sumData.count.num}}箱</span><span>{{sumData.count.volume}}m³</span><span>{{sumData.count.weight}}Kg</span> -->
</p>
</div>
<div>
<p>容量:</p>
<p>111</p>
<p>无返回</p>
</div>
<div>已装0</div>
<div>已装 无返回 </div>
</el-col>
</el-row>
......@@ -204,6 +203,7 @@ import {
boxUpdate,
approvalCreate,
} from "@/api/ecw/boxSea";
import { getTotlContent } from "../../utils";
/**
* 开始装柜
......@@ -268,6 +268,7 @@ export default {
});
},
methods: {
getTotlContent,
/* 装柜部分列表 */
getLoadSecGoodsList() {
loadSecGoodsList({ shipmentId: this.shipmentObj.id }).then((res) => {
......@@ -275,7 +276,7 @@ export default {
this.listData = data.map((item, index) => {
return {
...item,
title: `第 ${++index} 部分`,
title: `第${++index}部分`,
};
});
if (this.listData.length) {
......
......@@ -28,9 +28,7 @@
</el-collapse-transition>
<div class="part-secGoog">
<template>
<p>{{item.secStatistics ? item.secStatistics.num : 0}}</p>
<p>{{item.secStatistics ? item.secStatistics.volume : 0}}</p>
<p>{{item.secStatistics ? item.secStatistics.weight : 0}}Kg</p>
{{getTotlContent(item.secStatistics)}}
</template>
</div>
</el-row>
......@@ -95,12 +93,12 @@
<el-table-column label="箱数" align="center" prop="num" width="120" />
<el-table-column label="体积" align="center" prop="volume" width="120">
<template slot-scope="scope">
<p v-if="scope.row.volume">{{scope.row.volume}}</p>
<p v-if="scope.row.volume">{{getTotlContent(scope.row,['volume'])}}</p>
</template>
</el-table-column>
<el-table-column label="重量" align="center" prop="weight" width="120">
<template slot-scope="scope">
<p v-if="scope.row.weight">{{scope.row.weight}}kg</p>
<p v-if="scope.row.weight">{{getTotlContent(scope.row,['weight'])}}</p>
</template>
</el-table-column>
<el-table-column label="预装柜" align="center" prop="" width="120">
......@@ -151,7 +149,7 @@ import {
createGoods,
remove,
} from "@/api/ecw/boxSea";
import { formatDate } from "../../utils";
import { formatDate, getTotlContent } from "../../utils";
/**
* 补单
*/
......@@ -197,7 +195,7 @@ export default {
}
return {
...item,
title: `第 ${++index} 部分`,
title: `第${++index}部分`,
};
});
......@@ -324,6 +322,7 @@ export default {
.catch((_) => {});
},
formatDate,
getTotlContent,
},
computed: {
/** 目的地 */
......
......@@ -26,7 +26,7 @@
</template>
<script>
import regError from "./regError";
import regError from "../../regError";
import dayjs from "dayjs";
import { clearanceCreate, serviceMsg } from "@/api/ecw/boxSea";
import { formatDateStr } from "../utils";
......
......@@ -30,7 +30,7 @@
</template>
<script>
import regError from "./regError";
import regError from "../../regError";
import { shippingCreate, serviceMsg } from "@/api/ecw/boxSea";
import dayjs from "dayjs";
import { formatDateStr } from "../utils";
......
......@@ -11,7 +11,7 @@
</el-select>
</el-form-item>
<el-form-item label="目的地" prop="destWarehouseIdList">
<el-select v-model="queryParams.destWarehouseIdList" placeholder="请选择目的地" multiple>
<el-select v-model="queryParams.destWarehouseIdList" placeholder="请选择目的地" multiple clearable>
<el-option v-for="item in importWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
......@@ -108,11 +108,7 @@
<el-row class="preinstall-title">
<div class="pre-part-info">
<p>{{index+1}}部分</p>
<p>
<span>{{part.secStatistics ? part.secStatistics.num : 0}}</span>
<span>{{part.secStatistics ? part.secStatistics.volume : 0}}</span>
<span>{{part.secStatistics ? part.secStatistics.weight : 0}}kg</span>
</p>
<p>{{getTotlContent(part.secStatistics)}}</p>
</div>
<div class="table-button">
<el-button type="danger" size="small" @click="deletePart(part)">删除部分</el-button>
......@@ -131,8 +127,8 @@
<el-table-column label="箱数" align="center" prop="num" />
<el-table-column label="体积/重量/重货比" align="center" width="140" prop="volumeWeight">
<template slot-scope="scope">
<p v-if="scope.row.volume">{{scope.row.volume}}</p>
<p v-if="scope.row.weight">{{scope.row.weight}}kg</p>
<p v-if="scope.row.volume">{{getTotlContent(scope.row,['volume'])}}</p>
<p v-if="scope.row.weight">{{getTotlContent(scope.row,['weight'])}}</p>
</template>
</el-table-column>
<el-table-column label="报关方式" align="center" prop="customsType" width="120">
......@@ -169,15 +165,15 @@
<div class="preinstall-title preinstalled">
<div class="red-label">
<p>筛选后待预装数量:</p>
<p>{{unloadStatistics.num}}箱</p>
<p>{{getTotlContent(unloadStatistics,['num'])}}</p>
</div>
<div class="red-label">
<p>方数:</p>
<p>{{unloadStatistics.volume}}m³</p>
<p>{{getTotlContent(unloadStatistics,['volume'])}}</p>
</div>
<div class="red-label">
<p>重量:</p>
<p>{{unloadStatistics.weight}}kg</p>
<p>{{getTotlContent(unloadStatistics,['weight'])}}</p>
</div>
</div>
</el-row>
......@@ -225,8 +221,8 @@
<el-table-column label="箱数" align="center" prop="num" />
<el-table-column label="体积/重量" align="center" prop="volumeWeight">
<template slot-scope="scope">
<p v-if="scope.row.volume">{{scope.row.volume}}</p>
<p v-if="scope.row.weight">{{scope.row.weight}}kg</p>
<p v-if="scope.row.volume">{{getTotlContent(scope.row,['volume'])}}</p>
<p v-if="scope.row.weight">{{getTotlContent(scope.row,['weight'])}}</p>
</template>
</el-table-column>
<el-table-column label="报关方式" align="center" prop="">
......@@ -284,7 +280,8 @@ import {
approvalCreate,
} from "@/api/ecw/boxSea";
import userSelect from "./common/userSelect.vue";
import { formatDate } from "../utils";
import { formatDate, getTotlContent } from "../utils";
import dayjs from "dayjs";
/**
* 预装
......@@ -354,6 +351,7 @@ export default {
},
methods: {
formatDate,
getTotlContent,
/* 获取城市 */
importCityName(id) {
var arr = this.$attrs.warehouseList.filter((item) => item.id == id);
......@@ -370,7 +368,6 @@ export default {
let params = this.getParams();
// 已预装单号
params.orderNo = params.preOrderNo;
delete params.preOrderNo;
params.shipmentId = this.shipmentObj.id;
secGoodsList(params).then((res) => {
this.preList = res.data;
......@@ -384,7 +381,6 @@ export default {
let params = this.getParams();
// 订单号
params.orderNo = params.toBePreOrderNo;
delete params.toBePreOrderNo;
preloadPage({ ...params, ...this.pageParam }).then((res) => {
const { data } = res;
this.toBePreList = data.dataList?.list ?? [];
......@@ -438,7 +434,10 @@ export default {
if (column.property === "volumeWeight") {
const volume = this.calcSum("volume", data);
const weight = this.calcSum("weight", data);
sums[index] = `${volume ?? 0}m³ ${weight ?? 0}kg`;
sums[index] = getTotlContent({ volume, weight }, [
"volume",
"weight",
]);
}
});
......@@ -540,11 +539,14 @@ export default {
},
getParams() {
const { rucangtime = [] } = this.queryParams;
delete this.queryParams.rucangtime;
return {
...this.queryParams,
rucangTimeStart: rucangtime[0],
rucangTimeEnd: rucangtime[1],
rucangTimeStart: rucangtime[0]
? dayjs(rucangtime[0]).format("YYYY-MM-DD 00:00:00")
: rucangtime[0],
rucangTimeEnd: rucangtime[1]
? dayjs(rucangtime[1]).format("YYYY-MM-DD 23:59:59")
: rucangtime[1],
};
},
},
......
......@@ -859,11 +859,24 @@ function formatDateStr(obj, keys, format = "YYYY-MM-DD") {
return obj;
}
/**
* 格式化日期
*
* @param {*} date
* @param {string} [format="YYYY-MM-DD"]
* @return {*}
*/
function formatDate(date, format = "YYYY-MM-DD") {
if (!date) return date;
return dayjs(date).format(format);
}
/**
* 获取海运流程状态
*
* @param {*} val
* @return {*}
*/
function getSeaStatus(val) {
let currNodeStatus = 11,
isBreak = false,
......@@ -896,6 +909,29 @@ function getSeaStatus(val) {
return currNodeStatus;
}
/**
* 组装统计信息文字
*
* @param {*} total
* @param {string} [keys=["num", "volume", "weight"]]
* @return {*}
*/
function getTotlContent(total, keys = ["num", "volume", "weight"]) {
let content = [];
for (const key of keys) {
if (key === "num") {
content.push(`${total?.num ?? 0}`);
}
if (key === "volume") {
content.push(`${total?.volume ?? 0}m³`);
}
if (key === "weight") {
content.push(`${total?.weight ?? 0}kg`);
}
}
return content.join(" ");
}
export const fileTypes = [
"doc",
"xls",
......@@ -917,4 +953,5 @@ export {
formatDateStr,
formatNumberString,
formatDate,
getTotlContent,
};
This diff is collapsed.
<template>
<div class="batch-single-application">
<h1 class="title">调仓申请</h1>
<el-table :data="list">
<el-table-column label="订单编号" prop="orderNo"></el-table-column>
<el-table-column label="唛头" prop="marks"></el-table-column>
<el-table-column label="已到箱数/总箱数">
<template v-slot = {row}>
{{row.sumQuantity || 0}}/{{row.totalNum}}
</template>
</el-table-column>
<el-table-column label="下单统计">
<template v-slot="{row}">
<div v-if="row.costVO">
箱数:{{row.costVO.totalNum}}
{{row.costVO.totalVolume}}
{{row.costVO.totalWeight}}kg
</div>
</template>
</el-table-column>
<el-table-column label="入仓统计" width="150">
<template v-slot="{row}">
<div>总箱数:{{row.sumNum || 0}}</div>
<div>体积:{{row.sumVolume || 0}}CBM</div>
<div>重量:{{row.sumWeight || 0}}KG</div>
</template>
</el-table-column>
<el-table-column label="入仓时间">
<el-dialog
:visible.sync="dialogVisible"
width="80%"
:before-close="()=>{
$emit('update:dialogVisible',false)
}">
<div class="batch-single-application">
<h1 class="title">调仓申请</h1>
<el-table :data="list">
<el-table-column label="订单编号" prop="orderNo"></el-table-column>
<el-table-column label="唛头" prop="marks"></el-table-column>
<el-table-column label="已到箱数/总箱数">
<template v-slot = {row}>
{{row.sumQuantity || 0}}/{{row.totalNum}}
</template>
</el-table-column>
<el-table-column label="下单统计">
<template v-slot="{row}">
<div v-if="row.costVO">
箱数:{{row.costVO.totalNum}}
{{row.costVO.totalVolume}}
{{row.costVO.totalWeight}}kg
</div>
</template>
</el-table-column>
<el-table-column label="入仓统计" width="150">
<template v-slot="{row}">
<div>总箱数:{{row.sumNum || 0}}</div>
<div>体积:{{row.sumVolume || 0}}CBM</div>
<div>重量:{{row.sumWeight || 0}}KG</div>
</template>
</el-table-column>
<el-table-column label="入仓时间">
</el-table-column>
<el-table-column label="运输方式">
<template v-slot = {row}>
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="row.transportId"></dict-tag>
</template>
</el-table-column>
<el-table-column label="出货渠道">
</el-table-column>
<el-table-column label="运输方式">
<template v-slot = {row}>
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="row.transportId"></dict-tag>
</template>
</el-table-column>
<el-table-column label="出货渠道">
</el-table-column>
<!-- <el-table-column label="始发仓" prop="startWarehouseName"></el-table-column>-->
<el-table-column label="目的地" prop="objectiveName"></el-table-column>
<el-table-column label="发货人">
<template v-slot="{row}">
<div>
<p>
</p>
</div>
</template>
</el-table-column>
<el-table-column label="收货人">
<template v-slot="{row}">
<div>
<p>
{{row.consigneeName}}
</p>
<p>
{{row.consigneePhone}}
</p>
</div>
</template>
</el-table-column>
</el-table>
<div style="display: flex;justify-content:center; margin-top: 20px">
<div style="width: 200px; margin: 0 10px">
{{list[0].startWarehouseName}}
</el-table-column>
<!-- <el-table-column label="始发仓" prop="startWarehouseName"></el-table-column>-->
<el-table-column label="目的地" prop="objectiveName"></el-table-column>
<el-table-column label="发货人">
<template v-slot="{row}">
<div>
<div>
<p>
{{row.consignorName}}
</p>
<p>
</p>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="收货人">
<template v-slot="{row}">
<div>
<p>
{{row.consigneeName}}
</p>
<p>
{{row.consigneePhone}}
</p>
</div>
</template>
</el-table-column>
<el-table-column>
<template v-slot="{row}">
<el-button type="text" v-if="row.inWarehouseState === 10">
取消调仓
</el-button>
</template>
</el-table-column>
</el-table>
<div style="display: flex;justify-content:center; margin-top: 20px">
<div style="width: 200px; margin: 0 10px">
{{ list[0] && list[0].startWarehouseName ? list[0].startWarehouseName : '' }}
</div>
<div style="width: 200px;">
<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-select>
</div>
</div>
<div style="width: 200px;">
<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-select>
<el-divider></el-divider>
<h1 class="title">
审批流程
</h1>
<div style="padding: 20px">
<work-flow xmlkey="warehouse_transfer" v-model="params.copyUserId" />
</div>
<div style="text-align: center">
<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 @click="$emit('update:dialogVisible',false)">取消</el-button>
</div>
<!-- <warehouseDetails></warehouseDetails>-->
</div>
<el-divider></el-divider>
<h1 class="title">
审批流程
</h1>
<div style="padding: 20px">
<work-flow xmlkey="warehouse_transfer" v-model="params.copyUserId" />
</div>
<div style="text-align: center">
<el-button style="margin-right: 50px" @click="submit" :disabled="isSubmit">提交申请</el-button>
<el-button @click="$router.push('/order/order')">取消</el-button>
</div>
<!-- <warehouseDetails></warehouseDetails>-->
</div>
</el-dialog>
</template>
<script>
......@@ -95,20 +115,30 @@ import {getProcessDefinitionBpmnXMLByKey} from "@/api/bpm/definition";
import warehouseDetails from "@/views/ecw/order/components/warehouseDetails";
import {getOrderPage} from "@/api/ecw/order";
import workFlow from "@/components/WorkFlow";
import Template from "@/views/cms/template";
export default {
name: "batchSingleApplication",
props:{
orderList:String,
orderList:[String,Number],
dialogVisible:{
type:Boolean,
default:false,
}
},
components:{
Template,
warehouseDetails,
workFlow
},
created() {
getOrderPage({orderIdList:this.orderList}).then(r =>{
this.list = r.data.list
warehouseAdjustmentList({id:this.list[0].startWarehouseId}).then( r => this.availableWarehouse = r.data)
})
watch:{
dialogVisible(val){
if(val){
getOrderPage({orderIdList:this.orderList}).then(r =>{
this.list = r.data.list
warehouseAdjustmentList({id:this.list[0].startWarehouseId}).then( r => this.availableWarehouse = r.data)
})
}
}
},
computed:{
isSubmit(){
......@@ -120,6 +150,9 @@ export default {
if(this.list.every(e => e.status === 5) && [...new Set(l)].length === 1) flag = false
}
return flag;
},
adjustmentBol(){
return this.list.some(e => e.inWarehouseState === 10)
}
},
data(){
......@@ -146,6 +179,7 @@ export default {
this.params.orderNo = this.list[0].orderNo
orderWarehouseInAdjustApply(this.params).then( r=>{
if(r.code === 0){
this.$emit('update:dialogVisible',false)
this.$message.success('调仓成功');
}
})
......
......@@ -4,7 +4,7 @@
<el-form-item label="订单号" prop="field101">
111
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="收货人" prop="field104">
......@@ -20,11 +20,11 @@
<el-form-item label="总控货箱数" prop="field105">
111
</el-form-item>
<el-form-item label="原放货箱数" prop="field106">
111
</el-form-item>
<el-form-item label="现放货箱数" prop="field106">
<el-input v-model="formData.cnt" placeholder=""></el-input>
</el-form-item>
......@@ -32,22 +32,22 @@
<el-form-item label="备注" prop="field106">
<el-input v-model="formData.cnt" placeholder=""></el-input>
</el-form-item>
<el-form-item label="控货手机号" prop="field106">
13000000000
</el-form-item>
<el-form-item label="手机验证码" prop="field106">
<el-input v-model="formData.cnt" placeholder="" style="width: 100px; margin-right:10px"></el-input>
<el-button type="default">获取验证码</el-button>
</el-form-item>
</el-form-item>
<div class="title">审批流程</div>
<work-flow bmpkey="free_apple" />
<el-form-item label="">
<el-button type="primary" @click="$alert('// TODO')">提交申请</el-button>
<el-button @click="closeDialog">关闭</el-button>
</el-form-item>
</el-form-item>
</el-form>
<div v-else>
<release-agreement />
......@@ -86,13 +86,13 @@ export default {
},
methods:{
loadData(){
},
closeDialog(){
this.show = false
this.$emit('close');
},
}
}
</script>
......@@ -110,4 +110,4 @@ export default {
margin-right:10px;
}
}
</style>
\ No newline at end of file
</style>
<template>
<div class="fee-application">
<h1>费用申请-{{orderDetails.orderNo}}
</h1>
<el-divider></el-divider>
<el-form label-width="100px" inline>
<el-form-item label="订单号:"><div class="content">
<el-dialog :visible.sync="dialogVisible" width="80%" :before-close="()=>{
$emit('update:dialogVisible',false)
}">
<div class="fee-application">
<h1>费用申请-{{orderDetails.orderNo}}
</h1>
<el-divider></el-divider>
<el-form label-width="100px" inline>
<el-form-item label="订单号:"><div class="content">
{{orderDetails.orderNo}}
</div></el-form-item>
<el-form-item label="发货人:"><div class="content">{{orderDetails.consignorVO ? orderDetails.consignorVO.name :''}}</div></el-form-item>
<el-form-item label="唛头"><div class="content">{{orderDetails.marks}}</div></el-form-item>
<el-form-item> <el-button @click="addCost">添加申请</el-button></el-form-item>
</el-form>
<el-table :data="list">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="费用类型">
</div></el-form-item>
<el-form-item label="发货人:"><div class="content">{{orderDetails.consignorVO ? orderDetails.consignorVO.name :''}}</div></el-form-item>
<el-form-item label="唛头"><div class="content">{{orderDetails.marks}}</div></el-form-item>
<el-form-item> <el-button @click="addCost">添加申请</el-button></el-form-item>
</el-form>
<el-table :data="list">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="费用类型">
<template v-slot:default = "scope">
<dict-selector :disabled="isModify[forbidden(scope.row)]" :type="DICT_TYPE.FEE_TYPE" v-model="scope.row.feeType" />
</template>
</el-table-column>
<el-table-column label="金额">
<template v-slot:default = 'scope'>
<el-input :disabled="isModify[forbidden(scope.row)]" v-model="scope.row.applicationFee" ></el-input>
</template>
</el-table-column>
<el-table-column label="货币类型">
<template v-slot:default = 'scope'>
<dict-selector :disabled="isModify[forbidden(scope.row)]" :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" v-model="scope.row.applicationFeeCurrency" />
</template>
</el-table-column>
<el-table-column label="付款类型">
<template v-slot = {row}>
<dict-selector :disabled="isModify[forbidden(row)]" :type="DICT_TYPE.PAYMENT_TYPE" v-model="row.payType" />
</template>
</el-table-column>
<el-table-column label="备注">
<template v-slot:default="scope">
<el-input :disabled="isModify[forbidden(scope.row)]" v-model="scope.row.remarks" type="textarea"></el-input>
</template>
</el-table-column>
<el-table-column label="确认收款">
<template v-slot:default ="scope">
<dict-tag :type="DICT_TYPE.RECEIVE_FLAG" :value="scope.row.receiveFlag" />
</template>
</el-table-column>
<el-table-column label="申请人">
</el-table-column>
<el-table-column label="金额">
<template v-slot:default = 'scope'>
<el-input :disabled="isModify[forbidden(scope.row)]" v-model="scope.row.applicationFee" ></el-input>
</template>
</el-table-column>
<el-table-column label="货币类型">
<template v-slot:default = 'scope'>
<dict-selector :disabled="isModify[forbidden(scope.row)]" :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" v-model="scope.row.applicationFeeCurrency" />
</template>
</el-table-column>
<el-table-column label="付款类型">
<template v-slot = {row}>
<dict-selector :disabled="isModify[forbidden(row)]" :type="DICT_TYPE.PAYMENT_TYPE" v-model="row.payType" />
</template>
</el-table-column>
<el-table-column label="备注">
<template v-slot:default="scope">
<el-input :disabled="isModify[forbidden(scope.row)]" v-model="scope.row.remarks" type="textarea"></el-input>
</template>
</el-table-column>
<el-table-column label="确认收款">
<template v-slot:default ="scope">
<dict-tag :type="DICT_TYPE.RECEIVE_FLAG" :value="scope.row.receiveFlag" />
</template>
</el-table-column>
<el-table-column label="申请人">
<template v-slot:default ="scope">
{{scope.row.status === 0 ?'未提交': scope.row.applicationAuthor}}
</template>
</el-table-column>
<el-table-column label="操作">
<template v-slot:default = 'scope'>
<el-button type="text" v-if="scope.row.status !== 0">{{STATUS[scope.row.status]}}</el-button>
<el-button type="text" v-if="scope.row.status === 2" @click="modify(scope.row)">修改</el-button>
</template>
</el-table-column>
</el-table>
<div style="padding: 20px">
<work-flow xmlkey="free_apply" v-model="selectedUsers" />
</div>
<div style="text-align: center;margin-top: 20px;">
<el-button style="margin-right: 30px;" @click="submit">提交</el-button>
<el-button>取消</el-button>
</el-table-column>
<el-table-column label="操作">
<template v-slot:default = 'scope'>
<el-button type="text" v-if="scope.row.status !== 0">{{STATUS[scope.row.status]}}</el-button>
<el-button type="text" v-if="scope.row.status === 2" @click="modify(scope.row)">修改</el-button>
</template>
</el-table-column>
</el-table>
<div style="padding: 20px">
<work-flow xmlkey="free_apply" v-model="selectedUsers" />
</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>
</el-dialog>
</template>
<script>
......@@ -75,6 +80,10 @@ export default {
components: {Template,workFlow},
props:{
orderId:[Number, String],
dialogVisible:{
type:Boolean,
default:false,
}
},
data(){
return {
......@@ -89,12 +98,6 @@ export default {
}
},
created() {
getOrder(this.orderId).then(r =>{
if(r.code === 0){
this.orderDetails = r.data
}
})
this.getOrderList()
this.getDictDatas(this.DICT_TYPE.AUDIT_STATUS).forEach( e =>{
this.STATUS[e.value] = e.label
})
......@@ -128,11 +131,10 @@ export default {
this.isModifyIf = false;
},
submit(){
if(this.isModifyIf){
applicationUpdate({...this.list[this.isModify.findIndex(e => e === false)],status:1}).then(r => {
if(r.code === 0){
this.getOrderList();
this.$emit('update:dialogVisible',false)
this.$message.success('修改成功');
}
})
......@@ -140,7 +142,7 @@ export default {
if(this.list[this.list.length - 1].status === 0){
feeApplicationCreate( {...this.list[this.list.length - 1],status:1,copyUserId:this.selectedUsers}).then(r=>{
if(r.code === 0){
this.getOrderList();
this.$emit('update:dialogVisible',false)
this.$message.success('添加成功');
this.selectedUsers = [];
}
......@@ -163,6 +165,18 @@ export default {
this.isModifyIf = true;
this.$set(this.isModify, this.list.findIndex(e => e.id = row.id), false )
},
},
watch:{
dialogVisible(val){
if(val){
this.getOrderList()
getOrder(this.orderId).then(r =>{
if(r.code === 0){
this.orderDetails = r.data
}
})
}
},
}
}
</script>
......
......@@ -102,7 +102,7 @@
v-hasPermi="['ecw:order:create']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-setting" size="mini" @click="handleEdit" :disabled="multiple">批量调仓
<el-button type="primary" plain icon="el-icon-setting" size="mini" @click="handleEdit" :disabled="!batchWarehouseAdjustment">批量调仓
</el-button>
<el-button type="primary" plain icon="el-icon-setting" size="mini" @click="showBatchPickup=true">批量提货
</el-button>
......@@ -169,7 +169,7 @@
<el-button v-if="scope.row.status < 5" size="mini" type="text" icon="el-icon-delete" @click="oprateOrder(scope.row.orderId, 'cancelOrder')">取消订单</el-button>
<el-button v-if="scope.row.status == 88" size="mini" type="text" icon="el-icon-delete" @click="oprateOrder(scope.row.orderId, 'recoveryOrder')">恢复订单</el-button>
<el-button type="text" size="mini" @click="$router.push(`/order/fee-application/${scope.row.orderId}`)">费用申请</el-button>
<el-button type="text" size="mini" @click="feeApplicationBol = true; orderId = scope.row.orderId">费用申请</el-button>
<el-button type="text" size="mini" @click="orderId = scope.row.orderId;isShow = true" >特需</el-button>
<el-button type="text" size="mini" @click="$router.push(`/order/associated-order/${scope.row.orderId}`)" >关联</el-button>
<el-button type="text" size="mini" @click="$router.push(`/order/mutex-order/${scope.row.orderId}`)" >互斥</el-button>
......@@ -203,7 +203,7 @@
v-hasPermi="['ecw:order:update']">入仓</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="show = true;orderId = scope.row.orderId; "
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" size="mini" @click="orderId = scope.row.orderId;warehouseBol=true;">调仓</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>
......@@ -241,6 +241,8 @@
<print-lading-bill v-if="printLadingBillInfo !== null" v-bind="printLadingBillInfo" @close="printLadingBillInfo=null" />
<batch-pickup v-if="showBatchPickup" @close="showBatchPickup=false"/>
<withdrawal v-if="show" :dialog-visible="show" :orderId="orderId" ></withdrawal>
<batch-single-application :order-list="orderId" :dialog-visible.sync="warehouseBol"></batch-single-application>
<fee-application :order-id="orderId" :dialog-visible.sync="feeApplicationBol"></fee-application>
</div>
</template>
......@@ -270,10 +272,14 @@ import PrintLadingBill from './components/PrintLadingBill'
import BatchPickup from './components/BatchPickup'
import withdrawal from "@/views/ecw/order/withdrawal";
import UserSelector from '@/components/UserSelector'
import BatchSingleApplication from "@/views/ecw/order/batchSingleApplication";
import FeeApplication from "@/views/ecw/order/feeApplication";
export default {
name: "Order",
components: {
UserSelector,
FeeApplication,
BatchSingleApplication,
CustomerSelector, ProductSelector, Selector,specialNeeds,PrintTag, PrintWarehouseReceipt, PrintLadingBill, BatchPickup,withdrawal
},
props: {
......@@ -355,7 +361,9 @@ export default {
getDictDatas */
adjustmentList:[],
show:false,
warehouseBol:false,//调仓申请
feeApplicationBol:false,//费用申请
multipleSelection:[]
};
},
computed: {
......@@ -372,7 +380,11 @@ export default {
timeParams['end' + this.dateFilterType] = this.dateFilter[1]
}
return Object.assign({}, this.queryParams, timeParams)
}
},
batchWarehouseAdjustment(){
return this.multipleSelection.length > 0 && this.multipleSelection.every(e => e.status === 5)
},
},
created() {
this.getList();
......@@ -460,15 +472,14 @@ export default {
},
// 表格多选
handleSelectionChange(selection) {
this.multipleSelection = selection
this.ids = selection.map(item => item.orderId)
this.single = selection.length !== 1
this.multiple = !selection.length
},
handleEdit() {
this.$router.push({
path:'/order/batch-single-application',
query:{list:this.ids.join(',')}
})
this.warehouseBol = true
this.orderId = this.ids.join(',')
},
moleculeChange() { },
denominatorChange() { },
......
......@@ -8,7 +8,7 @@
<el-divider content-position="left">
货物信息
</el-divider>
<el-table :data="orderDetails.orderItemVOList ? orderDetails.orderItemVOList : [] ">
<el-table :data=" orderDetails.orderItemVOList && orderDetails.orderItemVOList.length > 0 ? orderDetails.orderItemVOList : [] ">
<el-table-column type="index" label="序号"></el-table-column>
<el-table-column label="品名">
<template v-slot="{row}">
......@@ -31,16 +31,20 @@
<template v-slot="{row}">
<el-descriptions size="mini" :column="4">
<el-descriptions-item label="品牌">{{ row.brand }}</el-descriptions-item>
<el-descriptions-item label="箱数"> {{ row.warehouseInInfoVO.cartonsNum }}</el-descriptions-item>
<el-descriptions-item label="体积">{{ row.warehouseInInfoVO.volume }}</el-descriptions-item>
<el-descriptions-item label="重量"> {{ row.warehouseInInfoVO.weight }}</el-descriptions-item>
<el-descriptions-item label="箱数"> {{ row.warehouseInInfoVO ? row.warehouseInInfoVO.cartonsNum :'' }}</el-descriptions-item>
<el-descriptions-item label="体积">{{ row.warehouseInInfoVO ? row.warehouseInInfoVO.volume :'' }}</el-descriptions-item>
<el-descriptions-item label="重量"> {{row.warehouseInInfoVO ? row.warehouseInInfoVO.weight : '' }}</el-descriptions-item>
</el-descriptions>
</template>
</el-table-column>
<el-table-column label="最后操作时间"></el-table-column>
<el-table-column label="最后操作时间">
<template v-slot="{row}">
{{parseTime(row.createTime)}}
</template>
</el-table-column>
<el-table-column label="状态">
<template v-slot="{row}">
<dict-tag :value="row.warehouseInInfoVO.diffType" :type="DICT_TYPE.ORDER_WAREHOUSE_IN_STATUS"/>
<dict-tag :value=" row.warehouseInInfoVO ? row.warehouseInInfoVO.diffType :''" :type="DICT_TYPE.ORDER_WAREHOUSE_IN_STATUS"/>
</template>
</el-table-column>
</el-table>
......@@ -49,12 +53,12 @@
</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="调出仓库" prop="warehouseOutName" ></el-table-column>
<el-table-column label="调入仓库" prop="warehouseInName"></el-table-column>
<el-table-column label="申请人" prop="creator"></el-table-column>
<el-table-column label="申请时间">
<template v-slot="{row}">
{{parseTime(row.createTime)}}
</template>
</el-table-column>
<el-table-column label="状态">
......@@ -72,7 +76,9 @@
</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="储位">
<div v-for="item in storageSpaceList" style="display: flex;"><div>{{item.warehouseName}}</div><div>{{item.regionName}} 区</div></div>
</el-descriptions-item>
<el-descriptions-item label="调拨目标仓">{{ warehouseDetails.warehouseInName }}</el-descriptions-item>
<el-descriptions-item label="物流公司">
<el-select v-model="params.logisticsCompany" >
......@@ -110,7 +116,7 @@
</el-form-item>
</el-form>
<div>
<el-button v-if="type === 1" @click="submit">确认出仓</el-button>
<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>
......@@ -120,6 +126,7 @@
<script>
import ordeDetailsForm from "@/views/ecw/order/components/ordeDetailsForm";
import {
getAdjustInfo,
getOrder, listByOrderId,
orderWarehouseInGetAdjustInfo,
orderWarehousePicturePage, warehouseAdjustArrived, warehouseAdjustPage,
......@@ -129,6 +136,7 @@ import Template from "@/views/cms/template";
import {DICT_TYPE} from '@/utils/dict';
import ImageAndVideoUpload from "@/components/ImageAndVideoUpload/index";
import {getSupplierPage} from "@/api/ecw/supplier";
import {getByWarehouseId} from "@/api/ecw/warehouseArea";
let STATUS = {1:'审核中', 2:'已通过', 3:'已拒绝', 4:'已出仓', 5:'已到仓'}
export default {
name: "transferWarehousing",
......@@ -157,7 +165,8 @@ export default {
phone: "",
urls: []
},
expressList:[]
expressList:[],
storageSpaceList:[],
}
},
created() {
......@@ -171,14 +180,33 @@ export default {
}
})
if(this.type == 2){
warehouseAdjustPage({rows:100,orderId:this.orderId}).then(r => {
this.warehouseList = r.data.list
getAdjustInfo({orderId:this.orderId,lang:0}).then(r => {
this.warehouseList = r.data
})
}
orderWarehouseInGetAdjustInfo({orderId: this.orderId, lang: 0}).then(r => {
this.warehouseDetails = r.data[0]
listByOrderId({orderId:this.orderId}).then(r => {
console.log(r,'r')
listByOrderId({orderId:this.orderId}).then(res => {
if(res.code === 0){
getByWarehouseId().then(r =>{
let obj = [];
res.data.forEach(item => {
r.data.forEach(itemm => {
if(item.wareId === itemm.id){
itemm.children.forEach(itemmm => {
if(itemmm.id === item.areaId){
obj.push({
warehouseName:itemm.name,
regionName:itemmm.name
})
}
})
}
})
})
this.storageSpaceList = obj;
})
}
})
this.params.phone = this.warehouseDetails.phone;
this.params.logisticsNo = this.warehouseDetails.logisticsNo;
......@@ -205,12 +233,10 @@ export default {
},
submit2(){
warehouseAdjustArrived(this.params).then(r => {
{
if(r.code === 0){
this.$message.success('调到仓成功');
this.$router.back();
}
}
})
}
},
......
......@@ -103,14 +103,16 @@
<div style="text-align: center">在完成入仓前,您还可以</div>
<div style="text-align: center;padding: 15px 0">
<el-button type="info" @click="areaVisible = true">选择储位</el-button>
<el-button type="info" @click="isShowPrint = true">打印标签</el-button>
<el-button type="info" @click="isShowPrintTag = true">打印标签</el-button>
</div>
<div style="text-align: center">
<el-button type="primary" @click="handleSubmit()">确 定</el-button>
</div>
</el-dialog>
<print-tag v-if="isShowPrint" :order-id="orderId" @close="isShowPrint = false"></print-tag>
<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" />
</div>
</template>
......@@ -128,6 +130,7 @@ import WarehouseAreaDialog from '@/components/WarehouseAreaDialog'
import editDialog from '@/views/ecw/order/warehousing/components/editDialog'
import {DICT_TYPE} from "@/utils/dict"
import PrintTag from "@/views/ecw/order/components/PrintTag"
import PrintWarehouseReceipt from "@/views/ecw/order/components/PrintWarehouseReceipt"
export default {
name: "Warehousing",
......@@ -136,7 +139,8 @@ export default {
orderBaseInfo,
WarehouseAreaDialog,
editDialog,
PrintTag
PrintTag,
PrintWarehouseReceipt
},
mounted() {
......@@ -166,6 +170,7 @@ export default {
orderItemList: [],
specialList: [],
warehousing: undefined,
isShowPrintTag: false,
isShowPrint: false
}
},
......@@ -182,10 +187,12 @@ export default {
'该订单已成功入仓,是否打印?',
'货物已入仓',
{
confirmButtonClass: '',
confirmButtonText: '',
cancelButtonText: ''
}
).then().catch(() => {
).then(() => {
this.isShowPrint = true
}).catch(() => {
// this.$store.dispatch('tagsView/delVisitedView')
this.$message.success('入仓成功')
})
......
This diff is collapsed.
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