Commit 4eb51605 authored by dcy's avatar dcy

Merge remote-tracking branch 'origin/dev' into dev

parents 077e3d7e bc3c84d9
......@@ -38,10 +38,10 @@
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['bpm:process-instance:query']">发起流程</el-button>
</el-col>
</el-col> -->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
......
......@@ -163,7 +163,7 @@
</template>
<template v-if="dialogCfg.dialogType === 'notice'">
<div class="notice-dialog">
<div class="notice-title">您有一个/多个待处理出货操作,请尽快前往处理:</div>
<div class="notice-title">您有{{noticeList.length}}个待处理出货操作,请尽快前往处理:</div>
<el-table :data="noticeList" height="500px" border>
<el-table-column label="自编号" align="center" prop="selfNo" />
<el-table-column label="类型" align="center">
......
......@@ -63,7 +63,8 @@
<template v-slot="{row}">
<section>
<div v-for="(item, index) in row.goodsList" :key="index">
{{index+1}}{{item.prodTitleZh}}
<div>{{index+1}}{{item.prodTitleZh}}</div>
<div>{{index+1}}{{item.prodTitleEn}}</div>
</div>
</section>
</template>
......@@ -97,6 +98,7 @@ import {
} from "./shippingSea/utils";
import { getCabinetPage } from "@/api/ecw/cabinet";
import { getChannelList } from "@/api/ecw/channel";
import Decimal from "decimal.js";
/**
* 出货审核详情
......@@ -162,13 +164,13 @@ export default {
calcSum(goodsList) {
let sum = 0;
goodsList.forEach((element) => {
sum = sum + element.num;
sum = Decimal.add(sum, element.num);
});
return sum;
},
/* 跳转订单详情 */
jumpOrderDetail(row) {
this.$router.push("/order/associated-order/" + row.orderId);
this.$router.push("/order/detail?orderId=" + row.orderId);
},
},
watch: {
......
......@@ -16,7 +16,7 @@
{{orderData.status==99?'异常':'正常'}}
</el-descriptions-item>
<el-descriptions-item label="送货日期">
{{orderData.consigneeVO?orderData.consigneeVO.deliveryDate:''}}
{{orderData.deliveryDate}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4">
......@@ -95,9 +95,10 @@
</template>
</el-table-column>
<el-table-column label="状态" align="center">
<template slot-scope="scope">
{{orderData.abnormalState!=0?$t('异常'):$t('正常')}}
<!-- <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="scope.row.status" />
</template>
</template> -->
</el-table-column>
</el-table>
</el-card>
......@@ -223,6 +224,7 @@ import WorkFlow from "@/components/WorkFlow";
import { getOrder } from "@/api/ecw/order";
import { serviceMsg, toReviewDetail } from "../../utils";
import { createApproval, approvalCancel } from "@/api/ecw/boxSea";
import Decimal from "decimal.js";
export default {
name: "splitOrder",
......@@ -310,7 +312,7 @@ export default {
let _total = 0;
const { orderSplitItemBackVOList = [] } = this.splitData;
orderSplitItemBackVOList.forEach((v) => {
_total += Number(v.num);
_total = Decimal.add(_total, Number(v.num));
});
return _total;
},
......@@ -380,12 +382,15 @@ export default {
let leviteV = 0;
let leviteW = 0;
this.orderData.orderItemVOList.forEach((column, index) => {
orderSum += column.num ?? 0;
orderV += column.volume ?? 0;
orderW += column.weight ?? 0;
leviteSum += column.warehouseInInfoVO?.cartonsNum ?? 0;
leviteV += column.warehouseInInfoVO?.volume ?? 0;
leviteW += column.warehouseInInfoVO?.weight ?? 0;
orderSum = Decimal.add(orderSum, column.num ?? 0);
orderV = Decimal.add(orderV, column.volume ?? 0);
orderW = Decimal.add(orderW, column.weight ?? 0);
leviteSum = Decimal.add(
leviteSum,
column.warehouseInInfoVO?.cartonsNum ?? 0
);
leviteV += Decimal.add(leviteV, column.warehouseInInfoVO?.volume ?? 0);
leviteW += Decimal.add(leviteW, column.warehouseInInfoVO?.weight ?? 0);
});
sums[1] =
"下单统计:" +
......@@ -455,8 +460,8 @@ export default {
if (valid) {
// 输入箱数大于实装箱数
const total = this.totalSplitNum();
const canSplitNum = this.currRow.num - this.currRow.installNum;
const remain = canSplitNum - total;
const canSplitNum = Decimal.sub(this.currRow.num, this.currRow.installNum);
const remain = Decimal.sub(canSplitNum, total);
if (this.shopForm.num > remain) {
this.$message.error("放入箱数不能大于总箱数");
return;
......
......@@ -147,7 +147,7 @@
<el-option v-for="warehouse in $attrs.warehouseList" :key="warehouse.id" :label="warehouse.titleZh" :value="warehouse.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="预计时间">{{preinstallDate}}</el-form-item>
<el-form-item label="预装日期">{{preinstallDate}}</el-form-item>
<el-form-item label="选择柜型" prop="cabinetId">
<el-select v-model="modifyCabinetObj.cabinetId" placeholder="请选择柜型">
<el-option v-for="item in cabinetList" :label="item.name" :value="item.id" :key="item.id"></el-option>
......@@ -262,6 +262,7 @@ import {
} from "../../utils";
import splitOrder from "./splitOrder.vue";
import WorkFlow from "@/components/WorkFlow";
import Decimal from "decimal.js";
/**
* 开始装柜
......@@ -618,8 +619,10 @@ export default {
},
/* 预计时间 */
preinstallDate() {
if (this.shipmentObj.yzDate) {
return dayjs(this.shipmentObj.yzDate).format("YYYY-MM-DD HH:mm:ss");
if (this.shipmentObj.preInstallInfo.createTime) {
return dayjs(this.shipmentObj.preInstallInfo.createTime).format(
"YYYY-MM-DD HH:mm:ss"
);
}
return null;
},
......@@ -639,7 +642,7 @@ export default {
this.listData.forEach((item) => {
const { sectionOrderList = [] } = item;
sectionOrderList.forEach((item) => {
count = count + item.installNum;
count = Decimal.add(count, item.installNum);
});
});
}
......
......@@ -156,6 +156,7 @@ import {
downloadFile,
} from "../utils";
import ImageUpload from "@/components/ImageUpload";
import Decimal from 'decimal.js'
/**
* 报关
......@@ -403,7 +404,7 @@ export default {
this.$set(
this.cusDeclarationObj,
"dcVgmWgt",
dcBoxWgtTmp + dcGoodsWgtTmp
Decimal.add(dcBoxWgtTmp, dcGoodsWgtTmp)
);
},
// 审核详情
......
......@@ -142,6 +142,7 @@
<template slot-scope="scope">
<p v-if="scope.row.volume">{{getTotlContent(scope.row,['volume'])}}</p>
<p v-if="scope.row.weight">{{getTotlContent(scope.row,['weight'])}}</p>
<p>{{getRatioMax(scope.row)}}</p>
</template>
</el-table-column>
<el-table-column label="报关方式" align="center" prop="customsType" width="120">
......@@ -323,6 +324,7 @@ import {
} from "../utils";
import dayjs from "dayjs";
import WorkFlow from "@/components/WorkFlow";
import Decimal from "decimal.js";
/**
* 预装
......@@ -370,7 +372,9 @@ export default {
operatorData: {},
// 校验
rules: {
noticeUser: [{ required: true, message: "目的地操作员必填", trigger: "change" }],
noticeUser: [
{ required: true, message: "目的地操作员必填", trigger: "change" },
],
},
// 出货信息
shipmentObj: this.$attrs.shipmentObj,
......@@ -511,7 +515,7 @@ export default {
return values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
return Decimal.add(prev, curr);
} else {
return prev;
}
......@@ -638,6 +642,11 @@ export default {
toReviewDetail.apply(this, [shipmentObj[currNode.voName].bpmProcessId]);
this.$emit("closeDialog");
},
getRatioMax(row) {
let volume = row.volume ?? 0;
let weight = row.weight ?? 0;
return Decimal.div(volume, weight).toFixed(2);
},
},
};
</script>
......
......@@ -33,16 +33,20 @@ export default {
},
created() {
const { currNode, shipmentObj } = this.$attrs;
const { preInstallBackInfo, cabinetUnloadBackApprovalInfo } = shipmentObj;
if (currNode.type === "preinstall") {
this.isReview = shipmentObj["preInstallBackInfo"] ? true : false;
this.bpmProcessId = shipmentObj["preInstallBackInfo"]?.bpmProcessId;
this.isReview = preInstallBackInfo ? true : false;
if (preInstallBackInfo && preInstallBackInfo.approvalStatus !== 1) {
this.isReview = false;
}
this.bpmProcessId = preInstallBackInfo?.bpmProcessId;
}
if (currNode.type === "unloading") {
this.isReview = shipmentObj["cabinetUnloadBackApprovalInfo"]
? true
: false;
this.bpmProcessId =
shipmentObj["cabinetUnloadBackApprovalInfo"]?.bpmProcessId;
this.isReview = cabinetUnloadBackApprovalInfo ? true : false;
if (cabinetUnloadBackApprovalInfo && cabinetUnloadBackApprovalInfo.approvalStatus !== 1) {
this.isReview = false;
}
this.bpmProcessId = cabinetUnloadBackApprovalInfo?.bpmProcessId;
}
},
methods: {
......
......@@ -125,6 +125,7 @@ import {
} from "@/api/ecw/boxSea";
import { serviceMsg, getTotlContent, toReviewDetail } from "../../utils";
import WorkFlow from "@/components/WorkFlow";
import Decimal from "decimal.js";
/**
* 开始卸柜
......@@ -328,7 +329,7 @@ export default {
let count = 0;
if (this.pageData.sectionOrderList) {
this.pageData.sectionOrderList.forEach((item) => {
count = count + item.unloadNum;
count = Decimal.add(count, item.unloadNum);
});
}
return count;
......
import dayjs from "dayjs";
import * as _BOX from "@/api/ecw/box";
import FileSaver from "file-saver";
import Decimal from "decimal.js";
/**
* 节点状态值
......@@ -1436,13 +1437,13 @@ function sumStatistics(val) {
const { secStatistics } = item;
if (secStatistics) {
if (!Number.isNaN(Number(secStatistics.num))) {
count.num = count.num + Number(secStatistics.num);
count.num = Decimal.add(count.num, Number(secStatistics.num));
}
if (!Number.isNaN(Number(secStatistics.volume))) {
count.volume = count.volume + Number(secStatistics.volume);
count.volume = Decimal.add(count.volume, Number(secStatistics.volume));
}
if (!Number.isNaN(Number(secStatistics.weight))) {
count.weight = count.weight + Number(secStatistics.weight);
count.weight = Decimal.add(count.weight, Number(secStatistics.weight));
}
}
});
......
......@@ -210,7 +210,7 @@ export default {
Editor,
},
data() {
var areaCheck = (rule, value, callback) => {
const areaCheck = (rule, value, callback) => {
if(!this.form.zhou) {
callback(new Error('请选择大洲'));
} else if(!this.form.guojia){
......@@ -221,7 +221,6 @@ export default {
callback();
}
};
return {
// 遮罩层
loading: true,
......
......@@ -18,43 +18,43 @@
<label>{{$t('报价单所属')}}{{list.relation?list.relation==1?$t('发货人'):$t('收货人'):$t('发货人')}}</label>
</div>
<el-descriptions :column="3" border class="card">
<el-descriptions-item :label="$t('发货人:')">
<el-descriptions-item :label="$t('发货人')+':'">
{{consignorData.contactsName||$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('手机号:')">
<el-descriptions-item :label="$t('手机号')+':'">
{{consignorData?(checkCode(consignorData.areaCode)+consignorData.phoneNew)||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('联系地址:')">
<el-descriptions-item :label="$t('联系地址')+':'">
{{consignorData.address||$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('客户来源:')">
<el-descriptions-item :label="$t('客户来源')+':'">
{{consignorData.source||$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('发货人公司名称:')">
<el-descriptions-item :label="$t('发货人公司名称')+':'">
{{consignorData.company||$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('社交软件:')">
<el-descriptions-item :label="$t('社交软件')+':'">
{{consignorData.social||$t('')+' '+consignorData.socialNumber||''}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="3" border class="card">
<el-descriptions-item :label="$t('收货人:')">
<el-descriptions-item :label="$t('收货人')+':'">
{{consigneeData.contactsName||$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('手机号:')">
<el-descriptions-item :label="$t('手机号')+':'">
{{consigneeData?(checkCode(consigneeData.areaCode)+consigneeData.phoneNew)||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('联系地址:')">
<el-descriptions-item :label="$t('联系地址')+':'">
{{consigneeData.address||$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('客户来源:')">
<el-descriptions-item :label="$t('客户来源')+':'">
{{consigneeData.source||$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('发货人公司名称:')">
<el-descriptions-item :label="$t('发货人公司名称')+':'">
{{consigneeData.company||$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('社交软件:')">
<el-descriptions-item :label="$t('社交软件')+':'">
{{consigneeData.social||$t('')+' '+consigneeData.socialNumber||''}}
</el-descriptions-item>
</el-descriptions>
......@@ -139,19 +139,19 @@
<el-card class="card">
<div slot="header" class="card-title">{{$t('费用小计')}}</div>
<el-descriptions border class="card" :column="5">
<el-descriptions-item :label="$t('总件数:')">
<el-descriptions-item :label="$t('总件数')+':'">
{{list.estCostVO?list.estCostVO.totalNum||'0':0}}
</el-descriptions-item>
<el-descriptions-item :label="$t('总体积:')">
<el-descriptions-item :label="$t('总体积')+':'">
{{list.estCostVO?(list.estCostVO.totalVolume+'m³')||'0':0}}
</el-descriptions-item>
<el-descriptions-item :label="$t('总重量:')">
<el-descriptions-item :label="$t('总重量')+':'">
{{list.estCostVO?(list.estCostVO.totalWeight+'kg')||'0':0}}
</el-descriptions-item>
<el-descriptions-item :label="$t('总数量:')">
<el-descriptions-item :label="$t('总数量')+':'">
{{list.estCostVO?list.estCostVO.totalQuantity||'0':0}}
</el-descriptions-item>
<el-descriptions-item :label="$t('总货值(RMB):')">
<el-descriptions-item :label="$t('总货值(RMB)')+':'">
{{list.estCostVO?list.estCostVO.totalWorth||'0':0}}
</el-descriptions-item>
<!-- <el-descriptions-item :label="报价费:">
......
<!--拆单审核中的申请信息部分-->
<template>
<div v-if="order">
<el-descriptions :column="4" v-if="order" :colon="false">
<el-descriptions :column="4" v-if="order" :colon="true">
<el-descriptions-item :label="$t('订单号')">{{order.orderNo}}</el-descriptions-item>
<el-descriptions-item :label="$t('运输方式')">
<dict-tag class="mr-10" :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.transportId" />
......@@ -19,12 +19,8 @@
<el-descriptions-item :label="$t('目的仓')" :span="2">
{{order.logisticsInfoDto.destAddressZh}}
</el-descriptions-item>
<!-- 提单审核 -->
<el-descriptions-item>
<el-button type="primary" @click="ShowLandingBill=true">查看提单</el-button>
</el-descriptions-item>
</el-descriptions>
<el-button type="primary" @click="ShowLandingBill=true">查看提单</el-button>
<el-dialog title="查看提单" :visible.sync="ShowLandingBill">
<div style="text-align:center; width: 600px; margin: auto" v-html="billContent" />
......
......@@ -12,50 +12,50 @@
<span style="margin: 0 8px;">{{$t('')}}</span>
<el-date-picker clearable v-model="queryParams.endCreateTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" :placeholder="$t('请选择结束日期')" />
</el-form-item>
<el-form-item :label="$t('始发地:')">
<el-form-item :label="$t('始发地')+':'">
<el-select v-model="queryParams.originId" :placeholder="$t('请选择始发地')" clearable>
<el-option v-for="item in expoerCityList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('目的地:')" >
<el-form-item :label="$t('目的地')+':'" >
<el-select v-model="queryParams.destinationId" :placeholder="$t('请选择目的地')" clearable>
<el-option v-for="item in importCityList" :label="$l(item, 'title')" :value="item.id" :key="item.id" ></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('运输方式:')" >
<el-form-item :label="$t('运输方式')+':'" >
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :clearable="true" v-model="queryParams.transportId" />
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('控货:')">
<el-form-item :label="$t('控货')+':'">
<dict-selector :type="DICT_TYPE.ECW_YESNO" :clearable="true" v-model="queryParams.isCargoControl" @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('异常状态:')">
<el-form-item :label="$t('异常状态')+':'">
<dict-selector :type="DICT_TYPE.ORDER_EXCEPTION_STATUS" :clearable="true" v-model="queryParams.orderExceptionStatus" @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('异常类型:')">
<el-form-item :label="$t('异常类型')+':'">
<dict-selector :type="DICT_TYPE.ORDER_ERROR_TYPE" :clearable="true" v-model="queryParams.orderExceptionType" @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('订单号:')">
<el-form-item :label="$t('订单号')+':'">
<el-input v-model="queryParams.orderNo" :placeholder="$t('请输入订单号')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('发货人:')">
<el-form-item :label="$t('发货人')+':'">
<customer-selector v-model="queryParams.consignor" :clearable="true" @change="consignor = $event" />
</el-form-item>
<el-form-item :label="$t('唛头:')">
<el-form-item :label="$t('唛头')+':'">
<el-input v-model="queryParams.marks" :placeholder="$t('请输入唛头')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('品名:')">
<el-form-item :label="$t('品名')+':'">
<product-selector v-model="queryParams.goodsName" :clearable="true" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('备案:')">
<el-form-item :label="$t('备案')+':'">
<dict-selector :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :clearable="true" v-model="queryParams.productRecord" @keyup.enter.native="handleQuery"/>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('跟进业务:')">
<el-form-item :label="$t('跟进业务')+':'">
<el-select v-model="queryParams.salesmanId" :placeholder="$t('请选择跟进业务')" clearable>
<el-option v-for="item in creatorData" :key="item.id" :label="item.nickname" :value="item.id"/>
</el-select>
......
......@@ -19,11 +19,11 @@
<el-descriptions-item :label="$t('运输方式')">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="orderData.transportId" />
</el-descriptions-item>
<el-descriptions-item :label="$t('始发地')" :span="2">
{{orderData.logisticsInfoDto?orderData.logisticsInfoDto.startAddressZh:$t('')}}
<el-descriptions-item :label="$t('始发地')">
{{orderData.logisticsInfoDto?orderData.logisticsInfoDto.startTitleZh:$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('目的地')">
{{orderData.logisticsInfoDto?orderData.logisticsInfoDto.destAddressZh:$t('')}}
{{orderData.logisticsInfoDto?orderData.logisticsInfoDto.destTitleZh:$t('')}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4">
......
This diff is collapsed.
......@@ -186,12 +186,12 @@
<el-dialog :title="$t('新建拆单')" :visible.sync="open" width="400px" append-to-body>
<el-form ref="formSplit" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-form-item :label="$t('运输方式')">
<el-form-item :label="$t('运输方式')+':'">
<dict-selector :clearable="true" :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="form.transportId" formatter="number"/>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('目的仓库:')" >
<el-form-item :label="$t('目的仓库')+':'" >
<el-select v-model="form.destWarehouseId" :placeholder="$t('请选择目的仓库')" clearable>
<el-option v-for="item in importCityList" :label="item.titleZh" :value="item.id" :key="item.id" ></el-option>
</el-select>
......@@ -213,25 +213,25 @@
<el-dialog :title="$t('放入品名')" :visible.sync="shopOpen" width="400px" append-to-body>
<el-form ref="shopForm" :model="shopForm" :rules="shopRules" label-width="80px">
<el-row>
<el-form-item :label="$t('中文品名:')" v-if="splitData.length>0">
<el-form-item :label="$t('中文品名')+':'" v-if="splitData.length>0">
<el-select v-model="shopForm.prodTitleZh" :placeholder="$t('请选择中文品名')" @change="changeProdTitleZh" clearable>
<el-option v-for="item in splitData[0].orderSplitItemBackVOList" :label="item.prodTitleZh" :value="item.prodTitleZh" :key="item.prodTitleZh" ></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('英文品名:')" v-if="splitData.length>0">
<el-form-item :label="$t('英文品名')+':'" v-if="splitData.length>0">
<el-select v-model="shopForm.prodTitleEn" :placeholder="$t('请选择英文品名')" @change="changeProdTitleEn" clearable>
<el-option v-for="item in splitData[0].orderSplitItemBackVOList" :label="item.prodTitleEn" :value="item.prodTitleEn" :key="item.prodTitleEn" ></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('剩余箱数:')">
<el-form-item :label="$t('剩余箱数')+':'">
{{shopForm.sum||0}}
</el-form-item>
<el-form-item :label="$t('放入箱数:')">
<el-form-item :label="$t('放入箱数')+':'">
<el-input-number v-model="shopForm.num" controls-position="right" :min="1" :max="shopForm.sum"></el-input-number>
</el-form-item>
<el-form-item :label="$t('备注信息:')">
<el-form-item :label="$t('备注信息')+':'">
<el-input v-model="shopForm.remarks"></el-input>
</el-form-item>
</el-row>
......
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