Commit 2268d1f5 authored by 我在何方's avatar 我在何方
parents f40130e4 63d91de7
...@@ -93,3 +93,14 @@ export function getOrderReportVolume(params){ ...@@ -93,3 +93,14 @@ export function getOrderReportVolume(params){
params params
}) })
} }
// 根据运输方式ID获取待排单订单方数
export function getWarehousingVolume(params){
return request({
url: '/ecw/future-box/getWarehousingVolume',
method: 'get',
params
})
}
...@@ -68,6 +68,7 @@ export function printTag(id) { ...@@ -68,6 +68,7 @@ export function printTag(id) {
return request({ return request({
url: '/order/print/orderTagPrint?orderId=' + id, url: '/order/print/orderTagPrint?orderId=' + id,
method: 'get', method: 'get',
timeout: 3 * 60000
}) })
} }
......
...@@ -107,7 +107,9 @@ export function exportExcel(params) { ...@@ -107,7 +107,9 @@ export function exportExcel(params) {
return request({ return request({
url: '/ecw/order-exception/export-excel', url: '/ecw/order-exception/export-excel',
method: 'get', method: 'get',
timeout: 6*60*1000,
params, params,
//timeout: 3*60*1000,
responseType: 'arraybuffer' responseType: 'arraybuffer'
}) })
} }
\ No newline at end of file
This diff is collapsed.
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('自单代报订单方数')" align="center" prop="orderReportNumber" > <el-table-column :label="$t('自单代报订单方数')" align="center" prop="orderReportNumber" >
<template slot-scope="{row}"> <template slot-scope="{row}">
{{row.warehousingNumber || 0}} {{row.orderReportNumber || 0}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('已装柜方数')" align="center" prop="loadingNumber" > <el-table-column :label="$t('已装柜方数')" align="center" prop="loadingNumber" >
...@@ -190,7 +190,7 @@ ...@@ -190,7 +190,7 @@
</template> </template>
<script> <script>
import { createFutureBox, updateFutureBox, deleteFutureBox, getFutureBox, getFutureBoxPage, exportFutureBoxExcel, getBoxedVolume, getToBeWareHousedVolume,getWareHousedVolume,getExceptionVolume, getOrderReportVolume} from "@/api/ecw/futureBox"; import { createFutureBox, updateFutureBox, deleteFutureBox, getFutureBox, getFutureBoxPage, exportFutureBoxExcel, getBoxedVolume, getToBeWareHousedVolume,getWareHousedVolume,getExceptionVolume, getOrderReportVolume,getWarehousingVolume} from "@/api/ecw/futureBox";
import {getCabinetPage} from "@/api/ecw/cabinet"; import {getCabinetPage} from "@/api/ecw/cabinet";
import { getChannelList } from '@/api/ecw/channel'; import { getChannelList } from '@/api/ecw/channel';
import { getWarehouseList } from "@/api/ecw/warehouse" import { getWarehouseList } from "@/api/ecw/warehouse"
...@@ -334,10 +334,10 @@ export default { ...@@ -334,10 +334,10 @@ export default {
'form.shippingChannelId'(){ 'form.shippingChannelId'(){
this.getVolume() this.getVolume()
}, },
'form.warehousedNumber'(){ //'form.warehousedNumber'(){
//在仓 = 已入仓-已封柜 //在仓 = 已入仓-已封柜
this.$set(this.form, 'warehousingNumber', Decimal(this.form.warehousedNumber).minus(this.form.loadingNumber)) //this.$set(this.form, 'warehousingNumber', Decimal(this.form.warehousedNumber).minus(this.form.loadingNumber))
}, //},
'form.loadingNumber'(){ 'form.loadingNumber'(){
//在仓 = 已入仓-已封柜 //在仓 = 已入仓-已封柜
this.$set(this.form, 'warehousingNumber', Decimal(this.form.warehousedNumber).minus(this.form.loadingNumber)) this.$set(this.form, 'warehousingNumber', Decimal(this.form.warehousedNumber).minus(this.form.loadingNumber))
...@@ -378,6 +378,11 @@ export default { ...@@ -378,6 +378,11 @@ export default {
getOrderReportVolume(data).then(res => { getOrderReportVolume(data).then(res => {
this.$set(this.form, 'orderReportNumber', res.data || 0) this.$set(this.form, 'orderReportNumber', res.data || 0)
}) })
// 获得待排单订单方数
getWarehousingVolume(data).then(res => {
this.$set(this.form, 'warehousingNumber', res.data || 0)
})
}, },
setDefaultVolume(){ setDefaultVolume(){
this.$set(this.form, 'loadingNumber', 0) this.$set(this.form, 'loadingNumber', 0)
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
{{orderData.marks?orderData.marks:$t('')}} {{orderData.marks?orderData.marks:$t('')}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('已实装箱数/总箱数')"> <el-descriptions-item :label="$t('已实装箱数/总箱数')">
<span>{{currRow.installNum||0}}/{{orderData.costVO?orderData.costVO.totalNum:0}}</span> <span>{{currRow.installNum||0}}/{{currRow.num||0}}</span>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('订单状态')"> <el-descriptions-item :label="$t('订单状态')">
{{orderData.status==99? $t('异常'):$t('正常')}} {{orderData.status==99? $t('异常'):$t('正常')}}
...@@ -183,14 +183,14 @@ ...@@ -183,14 +183,14 @@
<el-row> <el-row>
<el-form-item :label="$t('中文品名')+':'" prop="zhId"> <el-form-item :label="$t('中文品名')+':'" prop="zhId">
<el-select v-model="shopForm.zhId" :placeholder="$t('请选择中文品名')" @change="changeProdTitleZh"> <el-select v-model="shopForm.zhId" :placeholder="$t('请选择中文品名')" @change="changeProdTitleZh">
<el-option v-for="item in orderItems" :label="item.prodTitleZh" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in orderItems" :label="item.prodTitleZh" :value="item.id" :key="item.id" :disabled="itemDisabled(item)"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item :label="$t('英文品名')+':'" prop="enId"> <el-form-item :label="$t('英文品名')+':'" prop="enId">
<el-select v-model="shopForm.enId" :placeholder="$t('请选择英文品名')" @change="changeProdTitleEn"> <el-select v-model="shopForm.enId" :placeholder="$t('请选择英文品名')" @change="changeProdTitleEn">
<el-option v-for="item in orderItems" :label="item.prodTitleEn" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in orderItems" :label="item.prodTitleEn" :value="item.id" :key="item.id" :disabled="itemDisabled(item)"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-row> <el-row>
...@@ -206,7 +206,7 @@ ...@@ -206,7 +206,7 @@
</el-col> </el-col>
</el-row> </el-row>
<el-form-item :label="$t('放入箱数')+':'"> <el-form-item :label="$t('放入箱数')+':'">
{{shopForm.num||0}} {{shopForm.putNum||0}}
</el-form-item> </el-form-item>
<el-form-item :label="$t('放入数量(个)')+':'" prop="putQuantity" v-show="isQuantity"> <el-form-item :label="$t('放入数量(个)')+':'" prop="putQuantity" v-show="isQuantity">
<el-input-number v-model="shopForm.putQuantity" controls-position="right" :min="0"></el-input-number> <el-input-number v-model="shopForm.putQuantity" controls-position="right" :min="0"></el-input-number>
...@@ -339,6 +339,14 @@ export default { ...@@ -339,6 +339,14 @@ export default {
}); });
return _total; return _total;
}, },
totalSplitQty() {
let _total = 0;
const { orderSplitItemBackVOList = [] } = this.splitData;
orderSplitItemBackVOList.forEach((v) => {
_total = Decimal.add(_total, Number(v.quantity)).toNumber();
});
return _total;
},
/* 打开拆单 */ /* 打开拆单 */
getSplit() { getSplit() {
this.orderItems = this.currRow.goodsList ?? []; this.orderItems = this.currRow.goodsList ?? [];
...@@ -352,6 +360,13 @@ export default { ...@@ -352,6 +360,13 @@ export default {
this.splitData = data.filter((item) => !item.isMaster)?.[0] ?? {}; this.splitData = data.filter((item) => !item.isMaster)?.[0] ?? {};
}); });
}, },
itemDisabled(data) {
const { orderSplitItemBackVOList = [] } = this.splitData;
const isExist = orderSplitItemBackVOList.find(
(item) => item.orderItemId === data.orderItemId
);
return isExist ? true : false;
},
/* 查询拆单项 */ /* 查询拆单项 */
querySplitGoods() { querySplitGoods() {
getSplitList({ getSplitList({
...@@ -448,31 +463,63 @@ export default { ...@@ -448,31 +463,63 @@ export default {
this.isQuantity = false; this.isQuantity = false;
}, },
async changeProdTitleZh() { async changeProdTitleZh() {
const data = await this.getSelectData("zhId"); const item = this.setShopForm("zhId");
this.shopForm.enId = data.id; this.shopForm.enId = item.id;
this.shopForm = { ...this.shopForm }; this.shopForm = { ...this.shopForm };
await this.getSelectData(item);
}, },
async changeProdTitleEn() { async changeProdTitleEn() {
const data = await this.getSelectData("enId"); const item = this.setShopForm("enId");
this.shopForm.zhId = data.id; this.shopForm.zhId = item.id;
this.shopForm = { ...this.shopForm }; this.shopForm = { ...this.shopForm };
await this.getSelectData(item);
}, },
async getSelectData(key) { setShopForm(key) {
let list = []; let list = [];
list = this.orderItems.filter((item) => item.id == this.shopForm[key]); list = this.orderItems.filter((item) => item.id == this.shopForm[key]);
this.shopForm.num = this.currRow.num - this.currRow.installNum;
const data = list[0]; const data = list[0];
const itemNum = data.num ?? 0;
const itemQty = data.quantity ?? 0;
// 获取拆单项的总num
const total = this.totalSplitNum();
// 订单的剩余
const orderNum = this.currRow.num - this.currRow.installNum;
// 剩余可装
const remainNum = Decimal.sub(orderNum, total).toNumber();
this.shopForm.num = 0;
this.shopForm.putNum = 0;
// 剩余可装大于等于订单项剩余,显示订单剩余
if (remainNum >= itemNum) {
this.shopForm.num = remainNum;
this.shopForm.putNum = itemNum;
}
// 订单剩余小于订单项剩余,显示订单项剩余
if (remainNum < itemNum) {
this.shopForm.num = this.shopForm.putNum = remainNum;
}
const totalQty = this.totalSplitQty();
this.shopForm.quantity = 0;
if (totalQty >= itemQty) {
this.shopForm.quantity = totalQty;
}
if (totalQty < itemQty) {
this.shopForm.quantity = itemQty;
}
this.shopForm.orderItemId = data.orderItemId; this.shopForm.orderItemId = data.orderItemId;
this.shopForm.quantity = data.quantity;
this.shopForm.putQuantity = Decimal.div( this.shopForm.putQuantity = Decimal.div(
data.quantity, this.shopForm.quantity,
this.shopForm.num this.shopForm.num
).toFixed(0); ).toFixed(0);
return data;
},
async getSelectData(item) {
await quantitycheck({ await quantitycheck({
seaFreightVolume: data.seaFreightVolume, seaFreightVolume: item.seaFreightVolume,
clearanceFreightVolume: data.clearanceFreightVolume, clearanceFreightVolume: item.clearanceFreightVolume,
}).then((res) => { }).then((res) => {
if (res.data) { if (res.data) {
this.isQuantity = true; this.isQuantity = true;
...@@ -488,7 +535,6 @@ export default { ...@@ -488,7 +535,6 @@ export default {
delete this.shopRules.putQuantity; delete this.shopRules.putQuantity;
} }
}); });
return data;
}, },
shopAdd() { shopAdd() {
this.$refs["shopForm"].validate((valid) => { this.$refs["shopForm"].validate((valid) => {
...@@ -514,7 +560,7 @@ export default { ...@@ -514,7 +560,7 @@ export default {
} }
let params = { let params = {
num: this.shopForm.num, num: this.shopForm.putNum,
quantity: this.shopForm.putQuantity, quantity: this.shopForm.putQuantity,
orderItemId: this.shopForm.orderItemId, orderItemId: this.shopForm.orderItemId,
orderSplitId: this.splitData.id, orderSplitId: this.splitData.id,
......
...@@ -662,7 +662,7 @@ export default { ...@@ -662,7 +662,7 @@ export default {
} }
}) })
this.$set(this.form, 'suitableProdType', this.isAllProduct ? 0 : 1)
let data = Object.assign({}, this.form, {discountDetailedVOs}) let data = Object.assign({}, this.form, {discountDetailedVOs})
...@@ -681,6 +681,7 @@ export default { ...@@ -681,6 +681,7 @@ export default {
if(this.form.type != 1 && !this.isAllProduct && !this.form.prodIds){ if(this.form.type != 1 && !this.isAllProduct && !this.form.prodIds){
return this.$message.error('请选择商品') return this.$message.error('请选择商品')
} }
this.$set(this.form, 'suitableProdType', this.isAllProduct ? 0 : 1)
// 修改的提交 // 修改的提交
if (data.couponId != null) { if (data.couponId != null) {
......
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('市场获客')" prop="department"> <el-form-item :label="$t('市场获客')" prop="department">
<dict-selector clearable :type="DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE" v-model="queryParams.marketType" formatter="number"></dict-selector> <dict-selector clearable :type="DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE" v-model="queryParams.resourceType" formatter="number"></dict-selector>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
...@@ -575,7 +575,7 @@ export default { ...@@ -575,7 +575,7 @@ export default {
department: null, department: null,
creditLevel:null, creditLevel:null,
country:null, country:null,
marketType:null, resourceType:null,
}, },
// 表单参数 // 表单参数
form: {}, form: {},
......
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
<el-descriptions-item :label="$t('公司名称')">{{ customer.company }}</el-descriptions-item> <el-descriptions-item :label="$t('公司名称')">{{ customer.company }}</el-descriptions-item>
<el-descriptions-item :label="$t('联系地址')">{{ customer.address }}</el-descriptions-item> <el-descriptions-item :label="$t('联系地址')">{{ customer.address }}</el-descriptions-item>
<el-descriptions-item :label="$t('创建时间')">{{ parseTime(customer.createTime) }}</el-descriptions-item> <el-descriptions-item :label="$t('创建时间')">{{ parseTime(customer.createTime) }}</el-descriptions-item>
<el-descriptions-item :label="$t('创建人')">{{ customer.founderName }}</el-descriptions-item>
<el-descriptions-item :label="$t('状态')">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_STATUS, customer.status) }}</el-descriptions-item> <el-descriptions-item :label="$t('状态')">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_STATUS, customer.status) }}</el-descriptions-item>
<el-descriptions-item :label="$t('主营类别')">{{ productType }}</el-descriptions-item> <el-descriptions-item :label="$t('主营类别')">{{ productType }}</el-descriptions-item>
<el-descriptions-item :label="$t('常提货网点')">{{ pickupPoint }}</el-descriptions-item> <el-descriptions-item :label="$t('常提货网点')">{{ pickupPoint }}</el-descriptions-item>
......
...@@ -20,8 +20,8 @@ ...@@ -20,8 +20,8 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('创建时间')"> <el-form-item :label="$t('创建时间')">
<el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd" <el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" label-format="yyyy-MM-dd HH:mm:ss"
type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" /> type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
...@@ -232,7 +232,7 @@ export default { ...@@ -232,7 +232,7 @@ export default {
this.loading = true; this.loading = true;
// 处理查询参数 // 处理查询参数
let params = {...this.queryParams}; let params = {...this.queryParams};
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime'); this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime',false);
// 执行查询 // 执行查询
getMessageLeavePage(params).then(response => { getMessageLeavePage(params).then(response => {
this.list = response.data.list; this.list = response.data.list;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item :label="$t('日期筛选')"> <el-form-item :label="$t('日期筛选')">
<dict-selector defaultable :type="DICT_TYPE.ECW_BEGINTIME_TYPE_ENDTIME" v-model="dateFilterType" class="w-100 mr-10" /> <dict-selector defaultable :type="DICT_TYPE.ECW_BEGINTIME_TYPE_ENDTIME" v-model="dateFilterType" class="w-100 mr-10" />
<el-date-picker v-model="dateFilter" type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss" @change="handleQuery"></el-date-picker> <el-date-picker v-model="dateFilter" type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss" @change="handleQuery"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item :label="$t('始发仓')" prop="startWarehouseId"> <el-form-item :label="$t('始发仓')" prop="startWarehouseId">
<el-select v-model="queryParams.startWarehouseId" :placeholder="$t('请选择始发地')" clearable @change="handleQuery"> <el-select v-model="queryParams.startWarehouseId" :placeholder="$t('请选择始发地')" clearable @change="handleQuery">
...@@ -35,18 +35,18 @@ ...@@ -35,18 +35,18 @@
<el-form-item :label="$t('提单号')" prop="tidanNo"> <el-form-item :label="$t('提单号')" prop="tidanNo">
<el-input v-model="queryParams.tidanNo" :placeholder="$t('提单号')" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.tidanNo" :placeholder="$t('提单号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('发货人')" prop="consignorId"> <el-form-item :label="$t('发货人')" prop="consignorKey">
<el-input v-model="queryParams.consignorId" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.consignorKey" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('收货人')" prop="consigneeId"> <el-form-item :label="$t('收货人')" prop="consigneeKey">
<el-input v-model="queryParams.consigneeId" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('报关方式')" prop="customsType"> <el-form-item :label="$t('报关方式')" prop="customsType">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" v-model="queryParams.customsType" clearable @change="handleQuery" /> <dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" v-model="queryParams.customsType" clearable @change="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('唛头')" prop="marks"> <el-form-item :label="$t('唛头')" prop="marks">
<el-input v-model="queryParams.marks" :placeholder="$t('唛头')" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.marks" :placeholder="$t('唛头')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<!-- 列表 --> <!-- 列表 -->
<el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
...@@ -108,7 +108,7 @@ ...@@ -108,7 +108,7 @@
<dict-tag v-else :type="DICT_TYPE.CONTROL_GOODS_STATUS" :value="row.cargoControlStatus" /> <dict-tag v-else :type="DICT_TYPE.CONTROL_GOODS_STATUS" :value="row.cargoControlStatus" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width" width="150px"> <el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width" width="150px">
<template slot-scope="scope"> <template slot-scope="scope">
<!--控货中,已入仓--> <!--控货中,已入仓-->
...@@ -136,7 +136,7 @@ ...@@ -136,7 +136,7 @@
<!-- <el-button type="text" size="mini" @click="toDetail(scope.row)" >{{$t('查看')}}</el-button> --> <!-- <el-button type="text" size="mini" @click="toDetail(scope.row)" >{{$t('查看')}}</el-button> -->
<el-button type="text" size="mini" @click="cargoTransfer(scope.row)" v-hasPermi="['ecw:cargo_control:cargo_transfer']">{{$t('调货')}}</el-button> <el-button type="text" size="mini" @click="cargoTransfer(scope.row)" v-hasPermi="['ecw:cargo_control:cargo_transfer']">{{$t('调货')}}</el-button>
<el-button type="text" size="mini" @click="showFallbackOrder=scope.row" v-if="scope.row.isReleaseAfterGoods" v-hasPermi="['ecw:cargo_control:fallback']">{{$t('反复核')}}</el-button> <el-button type="text" size="mini" @click="showFallbackOrder=scope.row" v-if="scope.row.isReleaseAfterGoods" v-hasPermi="['ecw:cargo_control:fallback']">{{$t('反复核')}}</el-button>
</template> </template>
<el-button type="text" size="mini" @click="toDetail(scope.row)" v-hasPermi="['ecw:cargo_control:show']">{{$t('查看')}}</el-button> <el-button type="text" size="mini" @click="toDetail(scope.row)" v-hasPermi="['ecw:cargo_control:show']">{{$t('查看')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
...@@ -246,15 +246,20 @@ export default { ...@@ -246,15 +246,20 @@ export default {
this.loading = true; this.loading = true;
// 执行查询 // 执行查询
getCargoControlOrderPage(this.combinedQueryParams).then(response => { getCargoControlOrderPage(this.combinedQueryParams).then(response => {
this.list = response.data.list; this.list = []
this.total = response.data.total; // 直接更细数据,可能因为elTable的部分渲染产生bug,比如权限控制异常
this.$nextTick( () => {
this.list = response.data.list;
this.total = response.data.total;
})
this.loading = false; this.loading = false;
}); });
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNo = 1; this.queryParams.page = 1;
this.getList(); this.getList();
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
...@@ -262,7 +267,7 @@ export default { ...@@ -262,7 +267,7 @@ export default {
this.resetForm("queryForm"); this.resetForm("queryForm");
this.handleQuery(); this.handleQuery();
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
// 处理查询参数 // 处理查询参数
......
...@@ -42,7 +42,11 @@ ...@@ -42,7 +42,11 @@
<template slot-scope="scope">{{scope.$index + 1}}</template> <template slot-scope="scope">{{scope.$index + 1}}</template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('收货人')" prop="consigneeName" /> <el-table-column :label="$t('收货人')" prop="consigneeName" />
<el-table-column :label="$t('收货人电话')" prop="consigneePhone" /> <el-table-column :label="$t('收货人电话')" prop="consigneePhone">
<template slot-scope="{row}">
+{{row.consigneeCountryCode}} {{row.consigneePhone}}
</template>
</el-table-column>
<el-table-column :label="$t('控货箱数')" prop="controlNum"></el-table-column> <el-table-column :label="$t('控货箱数')" prop="controlNum"></el-table-column>
<el-table-column :label="$t('放货箱数')" prop="pickNum"></el-table-column> <el-table-column :label="$t('放货箱数')" prop="pickNum"></el-table-column>
<el-table-column :label="$t('体积') + '(m³)'" prop="pickVolume"></el-table-column> <el-table-column :label="$t('体积') + '(m³)'" prop="pickVolume"></el-table-column>
...@@ -67,7 +71,7 @@ ...@@ -67,7 +71,7 @@
<el-button v-if="scope.row.status == 3" type="danger" size="mini" @click="fallbackIndex=scope.$index">{{$t('反复核')}}</el-button> <el-button v-if="scope.row.status == 3" type="danger" size="mini" @click="fallbackIndex=scope.$index">{{$t('反复核')}}</el-button>
<el-button v-if="scope.row.status == 3" type="success" size="mini" @click="cargoControlPickId=scope.row.id">{{$t('调货')}}</el-button> <el-button v-if="scope.row.status == 3" type="success" size="mini" @click="cargoControlPickId=scope.row.id">{{$t('调货')}}</el-button>
<el-button v-if="[2,4, 5, 6].indexOf(scope.row.status) > -1" type="primary" size="mini" @click="showApprovalDetail(scope.row.id)">{{$t('审核详情')}}</el-button> <el-button v-if="[2,4, 5, 6].indexOf(scope.row.status) > -1" type="primary" size="mini" @click="showApprovalDetail(scope.row.formId)">{{$t('审核详情')}}</el-button>
<el-button v-if="[2,4, 5, 6].indexOf(scope.row.status) > -1" type="danger" size="mini" @click="cancelApproval(scope.row.id)">{{$t('取消审核')}}</el-button> <el-button v-if="[2,4, 5, 6].indexOf(scope.row.status) > -1" type="danger" size="mini" @click="cancelApproval(scope.row.id)">{{$t('取消审核')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
...@@ -181,8 +185,8 @@ export default { ...@@ -181,8 +185,8 @@ export default {
this.loadData() this.loadData()
}, },
// 查看审核详情 // 查看审核详情
showApprovalDetail(id){ showApprovalDetail(formId){
this.$router.push('/bpm/process-instance/detail?id=' + this.getApproval(id, 'formId')) this.$router.push('/bpm/process-instance/detail?id=' + formId)
}, },
// 取消审核 // 取消审核
cancelApproval(id){ cancelApproval(id){
......
...@@ -93,7 +93,9 @@ export default { ...@@ -93,7 +93,9 @@ export default {
}, },
computed:{ computed:{
printTags(){ printTags(){
return this.tags.filter(tag => tag.num >= this.form.start && tag.num <= this.form.end) return this.tags.filter(tag => {
return +tag.num >= +this.form.start && +tag.num <= +this.form.end
})
}, },
detail(){ detail(){
return this.tags.length ? this.tags[0] : null return this.tags.length ? this.tags[0] : null
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<p style="padding-bottom:10px;font-size:16px;"> <p style="padding-bottom:10px;font-size:16px;">
{{$t('订单号')}}{{detail.orderNo}} {{$t('订单号')}}{{detail.orderNo}}
&nbsp;&nbsp;&nbsp;{{$t('发货人电话')}}{{detail.consignorVO.countryCode}} {{detail.consignorVO.phone}} &nbsp;&nbsp;&nbsp;{{$t('发货人电话')}}{{detail.consignorVO.countryCode}} {{detail.consignorVO.phone}}
&nbsp;&nbsp;&nbsp;{{$t('提货地点')}}{{objective.titleZh}} &nbsp;&nbsp;&nbsp;{{$t('提货地点')}}{{$l(objective, 'title')}}
<img :src="qrcode" style="margin-left: 10px;width:17mm;vertical-align:middle" /> <img :src="qrcode" style="margin-left: 10px;width:17mm;vertical-align:middle" />
</p> </p>
<div id="table1" width="205mm"> <div id="table1" width="205mm">
...@@ -100,10 +100,14 @@ export default { ...@@ -100,10 +100,14 @@ export default {
return t return t
}, },
objective(){ objective(){
if(this.detail && this.detail.orderObjectiveVO && this.detail.orderObjectiveVO.objective){ return {
titleZh: this.detail.logisticsInfoDto.destTitleZh,
titleEn: this.detail.logisticsInfoDto.destTitleEn
}
/* if(this.detail && this.detail.orderObjectiveVO && this.detail.orderObjectiveVO.objective){
return JSON.parse(this.detail.orderObjectiveVO.objective) return JSON.parse(this.detail.orderObjectiveVO.objective)
} }
return {} return {} */
}, },
items(){ items(){
let arr = [] let arr = []
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<el-table-column :label="$t('体积') + '(m³)'" prop="volume" /> <el-table-column :label="$t('体积') + '(m³)'" prop="volume" />
<el-table-column :label="$t('重量') + '(kg)'" prop="weight" /> <el-table-column :label="$t('重量') + '(kg)'" prop="weight" />
<el-table-column :label="$t('数量(个)')" prop="quantityAll" /> <el-table-column :label="$t('数量(个)')" prop="quantityAll" />
<el-table-column :label="$t('快递单号')" prop="expressNo" /> <el-table-column :label="$t('入仓快递单号')" prop="expressNo" />
<el-table-column :label="$t('入仓时间')" prop="inTime" > <el-table-column :label="$t('入仓时间')" prop="inTime" >
<template slot-scope="{row}">{{row.inTime|parseTime}}</template> <template slot-scope="{row}">{{row.inTime|parseTime}}</template>
</el-table-column> </el-table-column>
......
...@@ -51,8 +51,8 @@ ...@@ -51,8 +51,8 @@
</el-card> </el-card>
<el-card class="card"> <el-card class="card">
<el-descriptions border :title="$t('物流信息')" :column="2"> <el-descriptions border :title="$t('物流信息')" :column="2">
<el-descriptions-item :label="$t('始发仓')">{{order.logisticsInfoDto.startTitleZh}}</el-descriptions-item> <el-descriptions-item :label="$t('始发仓')">{{$l(order.logisticsInfoDto, 'startTitle')}}</el-descriptions-item>
<el-descriptions-item :label="$t('目的仓')">{{order.logisticsInfoDto.destTitleZh}}</el-descriptions-item> <el-descriptions-item :label="$t('目的仓')">{{$l(order.logisticsInfoDto, 'destTitle')}}</el-descriptions-item>
<!-- <el-descriptions-item :label="$t('地址')" :span="2">{{order.logisticsInfoDto.startAddressZh}}</el-descriptions-item> --> <!-- <el-descriptions-item :label="$t('地址')" :span="2">{{order.logisticsInfoDto.startAddressZh}}</el-descriptions-item> -->
<el-descriptions-item :label="$t('运输方式')" :span="2"> <el-descriptions-item :label="$t('运输方式')" :span="2">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.transportId" /> <dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.transportId" />
...@@ -200,7 +200,7 @@ ...@@ -200,7 +200,7 @@
</template> </template>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="" :label="$t('快递单号')"> <el-table-column prop="" :label="$t('填单快递单号')">
<template slot-scope="{row}"> <template slot-scope="{row}">
{{ row.expressNo }} {{ row.expressNo }}
</template> </template>
...@@ -210,7 +210,7 @@ ...@@ -210,7 +210,7 @@
<el-tab-pane :label="$t('订单动态')" name="second"> <el-tab-pane :label="$t('订单动态')" name="second">
<el-timeline v-if="order.orderTimeVOList && order.orderTimeVOList.length" :reverse="true"> <el-timeline v-if="order.orderTimeVOList && order.orderTimeVOList.length" :reverse="true">
<el-timeline-item v-for="(activity, index) in order.orderTimeVOList" :key="index" :timestamp="activity.timestamp"> <el-timeline-item v-for="(activity, index) in order.orderTimeVOList" :key="index" :timestamp="activity.timestamp">
{{ activity.titleZh }} {{ $l(activity, 'title') }}
<div>{{$l(activity, 'remarks')}}</div> <div>{{$l(activity, 'remarks')}}</div>
</el-timeline-item> </el-timeline-item>
</el-timeline> </el-timeline>
...@@ -232,12 +232,16 @@ ...@@ -232,12 +232,16 @@
{{channelName}} {{channelName}}
</el-table-column> </el-table-column>
<el-table-column :label="$t('始发地')" prop="orderNo"> <el-table-column :label="$t('始发地')" prop="orderNo">
{{departure.titleZh || '-'}} {{$l(departure, 'title') || '-'}}
</el-table-column> </el-table-column>
<el-table-column :label="$t('目的地')"> <el-table-column :label="$t('目的地')">
{{objective.titleZh || '-'}} {{$l(objective, 'title') || '-'}}
</el-table-column>
<el-table-column :label="$t('品名')" prop="titleZh">
<template slot-scope="{row}">
{{$l(row, 'title')}}
</template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('品名')" prop="titleZh"></el-table-column>
<el-table-column :label="$t('箱数')" prop="num"> <el-table-column :label="$t('箱数')" prop="num">
<template slot-scope="{row}"> <template slot-scope="{row}">
{{row.num || '-'}} {{row.num || '-'}}
...@@ -404,14 +408,14 @@ export default { ...@@ -404,14 +408,14 @@ export default {
currencyMap(){ currencyMap(){
let map = {} let map = {}
this.currencyList.forEach(item => { this.currencyList.forEach(item => {
map[item.id] = item.titleZh map[item.id] = this.$l(item, 'title')
}) })
return map return map
}, },
unitMap(){ unitMap(){
let map = {} let map = {}
this.unitList.forEach(item => { this.unitList.forEach(item => {
map[item.id] = item.titleZh map[item.id] = this.$l(item, 'title')
}) })
return map return map
}, },
...@@ -443,7 +447,7 @@ export default { ...@@ -443,7 +447,7 @@ export default {
console.log('listById', res) console.log('listById', res)
let region = '' let region = ''
res.data.forEach(item => { res.data.forEach(item => {
region += " " + item.titleZh region += " " + this.$l(item, 'title')
}) })
this.region = region this.region = region
}) })
......
...@@ -100,8 +100,8 @@ ...@@ -100,8 +100,8 @@
<el-card class="mt-10"> <el-card class="mt-10">
<div slot="header" class="card-title"> <div slot="header" class="card-title">
<div class="card-name">{{$t('商品信息')}}</div> <div class="card-name">{{$t('商品信息')}}</div>
<el-button type="primary" size="mini" @click="addProduct(null)" :disabled="!canAddProduct">{{$t('添加货物')}}</el-button> <el-button type="primary" size="mini" @click="addProduct(null)" :disabled="!canAddProduct || !productEditable">{{$t('添加货物')}}</el-button>
<el-button type="primary" size="mini" @click="showBatchImportDialog=true" :disabled="!canAddProduct">{{$t('批量添加货物')}}</el-button> <el-button type="primary" size="mini" @click="showBatchImportDialog=true" :disabled="!canAddProduct || !productEditable">{{$t('批量添加货物')}}</el-button>
</div> </div>
<el-table :data="form.orderItemVOList" border class="product-list" v-if="!initing"> <el-table :data="form.orderItemVOList" border class="product-list" v-if="!initing">
<el-table-column :label="$t('序号')" width="60px" fixed> <el-table-column :label="$t('序号')" width="60px" fixed>
...@@ -253,7 +253,7 @@ ...@@ -253,7 +253,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('操作')" width="80px" fixed="right"> <el-table-column :label="$t('操作')" width="80px" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="danger" @click="delProduct(scope.$index)">{{$t('删除')}}</el-button> <el-button size="mini" type="danger" @click="delProduct(scope.$index)" :disabled="!productEditable">{{$t('删除')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<el-input v-model="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label=""> <el-form-item label="">
<dict-selector :type="DICT_TYPE.ECW_BEGINTIME_TYPE_ENDTIME" v-model="dateFilterType" defaultable style="width: 150px; margin-right: 5px" /> <dict-selector :type="DICT_TYPE.ECW_BEGINTIME_TYPE_ENDTIME" :filter="(item) => item.value != 'PickTime'" v-model="dateFilterType" defaultable style="width: 150px; margin-right: 5px" />
<el-date-picker v-model="dateFilter" type="datetimerange" range-separator="-" <el-date-picker v-model="dateFilter" type="datetimerange" range-separator="-"
:start-placeholder="$t('开始日期')" :start-placeholder="$t('开始日期')"
:end-placeholder="$t('结束日期')" :end-placeholder="$t('结束日期')"
...@@ -801,6 +801,7 @@ export default { ...@@ -801,6 +801,7 @@ export default {
page: 1, page: 1,
rows: 10 rows: 10
} }
this.dateFilter = []
this.handleQuery(); this.handleQuery();
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
......
...@@ -31,7 +31,11 @@ ...@@ -31,7 +31,11 @@
:label="$t('入库货物属性')"> :label="$t('入库货物属性')">
<template v-slot="{row}"> <template v-slot="{row}">
<template v-if="row.warehouseInInfoVO"> <template v-if="row.warehouseInInfoVO">
{{$t('品牌')}}<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="row.feeType" /><br> {{$t('品牌')}}
<!-- 23-03-27 根据需求方要求,按照详情页一样的规则显示 -->
<template v-if="row.brandName">{{row.brandName}}</template>
<dict-tag v-else :type="DICT_TYPE.ECW_IS_BRAND" :value="row.brandType" />
<!-- <dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="row.feeType" /> --><br>
{{$t('箱数')}}:{{ row.warehouseInInfoVO.cartonsNum }}<br> {{$t('箱数')}}:{{ row.warehouseInInfoVO.cartonsNum }}<br>
{{$t('体积')}}:{{ row.warehouseInInfoVO.volume }}m³<br> {{$t('体积')}}:{{ row.warehouseInInfoVO.volume }}m³<br>
{{$t('重量')}}:{{ row.warehouseInInfoVO.weight }}Kg {{$t('重量')}}:{{ row.warehouseInInfoVO.weight }}Kg
......
...@@ -700,7 +700,8 @@ export default { ...@@ -700,7 +700,8 @@ export default {
this.$set(this.form, 'clearancePriceUnit', priceUnit) this.$set(this.form, 'clearancePriceUnit', priceUnit)
this.$set(this.form, 'allPriceUnit', priceUnit) this.$set(this.form, 'allPriceUnit', priceUnit)
}, },
submitForm() { // force 为是否强制提交,在价格过期的时候需要确认后强制提交
submitForm(force = false) {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (!valid) { if (!valid) {
return; return;
...@@ -747,6 +748,20 @@ export default { ...@@ -747,6 +748,20 @@ export default {
} }
} }
// 设置了有效期,且已过期则给提示
if(this.form.validateEndDate && force !== true){
let validateEndDate = new Date(this.form.validateEndDate)
if(validateEndDate.getTime() < Date.now()){
return this.$confirm('您设置的线路价格已过期,确定提交吗?', '提示', {
confirmButtonText: '确认提交',
cancelButtonText: '取消提交',
type: 'warning'
}).then(res => {
this.submitForm(true)
})
}
}
// 修改单条路线 // 修改单条路线
if (this.$route.query.action == 'update') { if (this.$route.query.action == 'update') {
this.loading = true this.loading = true
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
<!-- 对话框(添加 / 修改) --> <!-- 对话框(添加 / 修改) -->
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
<el-upload ref="upload" :limit="1" accept=".jpg, .png, .gif" :auto-upload="false" drag <el-upload ref="upload" :limit="1" accept=".jpg, .png, .gif,.apk" :auto-upload="false" drag
:headers="upload.headers" :action="upload.url" :data="upload.data" :disabled="upload.isUploading" :headers="upload.headers" :action="upload.url" :data="upload.data" :disabled="upload.isUploading"
:on-change="handleFileChange" :on-change="handleFileChange"
:on-progress="handleFileUploadProgress" :on-progress="handleFileUploadProgress"
......
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