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

Merge branch 'release' into dev

# Conflicts:
#	collectI18nMessages.js
#	src/i18n/languages/en_US.json
#	src/views/ecw/deptTarget/allAchievement.vue
#	src/views/ecw/deptTarget/myAchievement.vue
#	src/views/ecw/deptTarget/myDeptAchievement.vue
#	src/views/ecw/order/prepayDeal.vue
#	src/views/ecw/order/stocking/components/ChooseOrderProducts.vue
parents 4741fdde 3c5133c1
......@@ -4426,7 +4426,7 @@
"还有{days}天到期": "Due in {days} days",
"请选择客户经理。": "Please select an account manager.",
"回收客户": "Recycling customers",
"是否要回收当前{name}": "Do you want to recycle the current {name}",
"是否要回收当前{name}": "",
"回收成功。": "Recycling successful.",
"已完成目标值": "Target value completed",
"请输入目标单位": "Please enter the target unit",
......@@ -4506,53 +4506,5 @@
"企业": "enterprise",
"身份证认证状态": "Identity card authentication status",
"角标字段": "Subscript field",
"不清楚请留空,已设勿改": "Unclear, please leave blank. It has been set to remain unchanged",
"出仓纠错": "Out of warehouse correction",
"批量出仓纠错": "Batch outbound error correction",
"未出仓": "Not yet out of warehouse",
"出仓纠错(二维码/条形码编号)": "Out of warehouse correction (QR code/barcode number)",
"开始出仓": "Start warehouse release",
"装箱纠错": "Packing error correction",
"批量装箱纠错": "Batch packing error correction",
"计划/已装": "Planned/Installed",
"计划/已理": "Planned/Planned",
"已理": "Reasonable",
"未理": "Unreasoned",
"理货纠错(二维码/条形码编号)": "Correction of tally errors (QR code/barcode number)",
"仍有订单未理货,请完成所有订单箱号标签扫码后完成理货": "There are still orders that have not been tally. Please scan all order box number labels and complete the tally",
"所属目的国家": "Destination country",
" ": "",
"区间设置不完整,将被忽略": "Incomplete interval settings will be ignored",
"{n}个全包阶梯价": "{n} All inclusive tiered pricing",
"{n}个运费阶梯价": "{n} Shipping cost tiered pricing",
"{n}个清关费阶梯价": "{n} Staircase price for individual customs clearance fees",
"已选择{route}条路线,{product}个商品": "{route} selected, {product} products",
";确认提交修改?": "; Confirm submitting modifications?",
"空运{type}设置": "Air freight {type} settings",
"未选择包装类型将被忽略": "No packaging type selected will be ignored",
"请输入加价金额": "Please enter the markup amount",
"运费快捷加价": "Quick freight markup",
"提交运费": "Submit shipping fee",
"清关费快捷加价": "Quick increase in customs clearance fees",
"提交清关费": "Submit customs clearance fee",
"全包价快捷加价": "Quick and all inclusive price increase",
"提交全包价": "Submit full package price",
"第{no}阶段": "Stage {no}",
"线路重量上限": "Upper limit of line weight",
"包含": "contain",
"不包含": "Excluding",
"等于": "equal to",
"运费+清关费": "Freight+customs clearance fee",
"未设置全包价阶梯价": "No fully inclusive tiered pricing has been set",
"未设置运费阶梯价": "No freight tiered pricing has been set",
"渠道包装清关费": "Channel packaging customs clearance fee",
"所属国家": "Country",
"请输入所属国家": "Please enter your country of origin",
"包装加价": "Packaging markup",
"海运运费价格设置": "Ocean freight price setting",
"海运清关费价格设置": "Price setting for sea freight customs clearance fees",
"请设置{priceName}第{index}阶段的起始值": "Please set the starting value for the {index} stage of {priceName}",
"请设置{priceName}第{index}阶段的结束值": "Please set the end value for the {index} stage of {priceName}",
"请设置第{index}阶段的{priceName}": "Please set the {priceName} for the {index} stage",
"请设置第{index}阶段的包装类型{i}的{priceName}": "Please set the {priceName} for the packaging type {i} in the {index} stage"
}
\ No newline at end of file
"不清楚请留空,已设勿改": "Unclear, please leave blank. It has been set to remain unchanged"
}
......@@ -101,7 +101,7 @@
<el-form-item :label="$t('英文内容')" prop="contentEn">
<editor v-model="form.contentEn" :min-height="150"/>
</el-form-item>
<el-form-item :label="$t('WEB端广告图片(建议尺寸长*宽')+'902*310)'" prop="bannerUrlWeb">
<el-form-item :label="$t('WEB端广告图片(建议尺寸长*宽')+'1120*450)'" prop="bannerUrlWeb">
<el-col :span="8">
<el-input v-model="form.bannerUrlWeb" :placeholder="$t('请上传WEB端广告图片')" />
</el-col>
......@@ -113,7 +113,7 @@
</el-button>
</el-upload>
</el-form-item>
<el-form-item :label="$t('APP端广告图片(建议尺寸长*宽')+'688*294)'" prop="bannerUrlApp">
<el-form-item :label="$t('APP端广告图片(建议尺寸长*宽')+'675*304)'" prop="bannerUrlApp">
<el-col :span="8">
<el-input v-model="form.bannerUrlApp" :placeholder="$t('请上传APP端广告图片')" />
</el-col>
......
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="88px">
<el-form-item :label="$t('自编号')" prop="selfNo">
<el-input v-model="queryParams.selfNo" :placeholder="$t('请输入自编号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
......@@ -43,6 +43,18 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('目的港清关')" prop="destinationClearance">
<el-select v-model="queryParams.destinationClearance" :placeholder="$t('请选择目的港清关')" clearable size="small">
<el-option v-for="item in destinationClearanceData" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('发货方式')" prop="deliveryType">
<el-select v-model="queryParams.deliveryType" :placeholder="$t('请选择发货方式')" clearable size="small">
<el-option v-for="item in deliveryTypeData" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-row>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{ $t('搜索') }}</el-button>
......@@ -332,7 +344,31 @@ export default {
'13':430,
'14':435,
'15':438,
}
},
destinationClearanceData: [
{
label: '我司清关',
value: 1
},
{
label: '合作方清关',
value: 2
},
{
label: '客户',
value: 3
},
],
deliveryTypeData: [
{
label: '多票',
value: 1
},
{
label: '单票',
value: 2
}
]
}
},
computed: {
......
......@@ -209,11 +209,11 @@
<script>
import {
deletebox,
getbox,
getboxPage,
exportboxExcel,
getNoticeList, dealCustomsSplitNotify, exportSeaPreloadGoodsList, zipDownload,
deletebox,
getbox,
getboxPage,
exportboxExcel,
getNoticeList, dealCustomsSplitNotify, exportSeaPreloadGoodsList, zipDownload, downloadLoadGoodsList,
} from "@/api/ecw/box";
import {
downloadFile,
......@@ -498,12 +498,9 @@ export default {
this.exportExcel(exportSeaPreloadGoodsList, { shipmentId: row.id }, this.$t("预装单") + `(${row.selfNo}).xlsx`)
break;
case "downloadLoadGoodsList":
downloadFile(
command,
{ shipmentId: row.id },
this.$t("已装单") + `(${row.selfNo}).xlsx`,
"xlsx"
);
downloadLoadGoodsList({ shipmentId: row.id }).then(res => {
this.$message.success(this.$t('已加入导出队列,请稍后在下载日志中下载'))
})
break;
case "downloadReceivableList":
downloadFile(
......
......@@ -108,10 +108,15 @@
<script>
import {
getMakeBillList,
makeBillService,
getBillService,
deleteBillService, zipDownload, downloadReceivableList, makeAirBillService, downloadAirReceivableList,
getMakeBillList,
makeBillService,
getBillService,
deleteBillService,
zipDownload,
downloadReceivableList,
makeAirBillService,
downloadAirReceivableList,
downloadLoadGoodsList,
} from "@/api/ecw/box";
import {
getTotlContent,
......@@ -217,12 +222,15 @@ export default {
});
break;
case "downloadLoadGoodsList":
downloadFile(
downloadLoadGoodsList({ shipmentId: this.shipmentObj.id }).then(res => {
this.$message.success(this.$t('已加入导出队列,请稍后在下载日志中下载'))
})
/*downloadFile(
type,
{ shipmentId: this.shipmentObj.id },
this.$t("已装单") + `(${this.shipmentObj.selfNo}).xlsx`,
"xlsx"
);
);*/
return;
case "downloadReceivableList":
const api = this.type == 'air' ? downloadAirReceivableList : downloadReceivableList;
......
......@@ -665,6 +665,12 @@ export default {
},
formatDate,
downloadDetailFile(row) {
if(row.serviceName == 'downloadLoadGoods'){
if(this.shipmentObj.tyStatus < 2112){
this.$message.error('请先完成理货后,再下载已装单')
return
}
}
const { fileFormat, type } = row;
if (type === "url") {
downloadFileByUrl(row.serviceName, { shipmentId: this.shipmentId });
......
......@@ -60,6 +60,14 @@
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="airCheckoutObj.checkoutTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item :label="$t('计划箱数')" prop="planNum">
<el-input-number v-model="airCheckoutObj.planNum" :controls="false" :precision="0" disabled />
</el-form-item>
<el-form-item :label="$t('出仓箱数')" prop="realNum">
<el-input-number v-model="airCheckoutObj.realNum" :controls="false" :precision="0" />
</el-form-item>
<el-form-item :label="$t('出仓影像')">
<ImageUpload :limit="1" :isShowTip=false v-model="airCheckoutObj.checkoutFiles" />
</el-form-item>
......@@ -121,6 +129,8 @@ export default {
let oldData = { ...this.$attrs.shipmentObj[voName] };
oldData = formatDateStr(oldData, ["checkoutTime"]);
this.airCheckoutObj = oldData;
this.$set(this.airCheckoutObj, 'planNum', this.$attrs.shipmentObj.planNum)
this.$set(this.airCheckoutObj, 'realNum', this.$attrs.shipmentObj.realNum)
let shipmentdData = { ...this.$attrs.shipmentObj["boxAirShipmentBackVO"] };
shipmentdData = formatDateStr(shipmentdData, ["deliverTime"]);
......@@ -132,6 +142,10 @@ export default {
onSubmit(operateType) {
this.$refs["airCheckoutForm"].validate((valid) => {
if (valid) {
if(this.airCheckoutObj.planNum != this.airCheckoutObj.realNum){
this.$message.error(this.$t("出仓件数与计划出仓件数不一致,请检查"));
return;
}
airCheckoutCreate({
...this.airCheckoutObj,
shipmentId: this.$attrs.shipmentObj.id,
......
......@@ -39,7 +39,7 @@
<el-table border :data="pagList" max-height="600px">
<el-table-column align="center" :label="$t('序号')" width="50" type="index" />
<el-table-column :label="$t('箱号')" align="center" prop="pkgNum">
<template slot-scope="scope">
<template slot-scope="scope">
<el-button type="text" @click="showPageOrder(scope.row)">{{scope.row.pkgNum}}</el-button>
</template>
</el-table-column>
......@@ -118,7 +118,7 @@
<pkg-page v-if="pkgPageType == 2" :pkgData="pkgData" :shipmentObj="shipmentObj" @closeDialog="closeDialog" @reload="getList" />
</el-dialog>
<!-- 打印标签 -->
<el-dialog :title="$t('集运封箱标签')" :visible.sync="printdialogVisible" width="350px" :modal-append-to-body="false" append-to-body>
<el-dialog :title="$t('封箱标签')" :visible.sync="printdialogVisible" width="350px" :modal-append-to-body="false" append-to-body>
<print-tag v-if="printdialogVisible" :tagData="tagData" />
</el-dialog>
......@@ -129,7 +129,7 @@
<el-radio-button :label="2">{{ $t('已装箱列表') }}</el-radio-button>
</el-radio-group>
</div>
<pkg-page :pkgData="showPkgData" :shipmentObj="shipmentObj" flag="show" @closeDialog="closeDialog" @reload="getList" />
<pkg-page v-if="showPagedialogVisible" :pkgData="showPkgData" :shipmentObj="shipmentObj" flag="show" @closeDialog="closeDialog" @reload="getList" />
</el-dialog>
<el-row style="margin-top: 15px" class="operate-button">
......
......@@ -76,25 +76,43 @@
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.rows" @pagination="getList" />
</el-row>
<!-- 封箱 -->
<el-dialog :title="$t('封箱确认')" :visible.sync="sealBoxdialogVisible" width="700px" :modal-append-to-body="false" append-to-body>
<el-dialog :title="$t('封箱确认')" :visible.sync="sealBoxdialogVisible" width="800px" :modal-append-to-body="false" append-to-body>
<el-form ref="sealBoxForm" :model="sealBoxForm" label-width="100px">
<el-form-item :label="$t('箱号')" prop="pkgNum">
{{ pkgData.pkgNum }}
</el-form-item>
<el-row>
<el-col :span="8">
<el-form-item :label="$t('长')" prop="pkgLength">
<el-input-number v-model="sealBoxForm.pkgLength" :controls="false" :precision="2" style="width: 100px" />
<el-form-item :label="$t('长')" prop="pkgLength" :rules="[
{ pattern: /^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*))$/, message: $t('长度保留两位小数')}
]">
<el-input v-model="sealBoxForm.pkgLength" style="width: 150px" @change="culSumVolume">
<template slot="append">
{{ $t('cm') }}
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('宽')" prop="pkgWidth">
<el-input-number v-model="sealBoxForm.pkgWidth" :controls="false" :precision="2" style="width: 100px" />
<el-form-item :label="$t('宽')" prop="pkgWidth" :rules="[
{ pattern: /^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*))$/, message: $t('宽度保留两位小数')}
]">
<el-input v-model="sealBoxForm.pkgWidth" style="width: 150px" @change="culSumVolume">
<template slot="append">
{{ $t('cm') }}
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('高')" prop="pkgHight">
<el-input-number v-model="sealBoxForm.pkgHight" :controls="false" :precision="2" style="width: 100px" />
<el-form-item :label="$t('高')" prop="pkgHight" :rules="[
{ pattern: /^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*))$/, message: $t('高度保留两位小数')}
]">
<el-input v-model="sealBoxForm.pkgHight" style="width: 150px" @change="culSumVolume">
<template slot="append">
{{ $t('cm') }}
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -135,7 +153,7 @@
</div>
</el-dialog>
<!-- 打印标签 -->
<el-dialog :title="$t('集运封箱标签')" :visible.sync="printdialogVisible" width="350px" :modal-append-to-body="false" append-to-body>
<el-dialog :title="$t('封箱标签')" :visible.sync="printdialogVisible" width="350px" :modal-append-to-body="false" append-to-body>
<print-tag v-if="printdialogVisible" :tagData="tagData" />
</el-dialog>
<!-- 对话框 -->
......@@ -310,6 +328,23 @@ export default {
})
return arr.toString()
},
//计算封箱体积
culSumVolume() {
let temp = this.sealBoxForm.pkgLength*this.sealBoxForm.pkgWidth*0.01*0.01
let sumVolume = this.accMul(temp, this.sealBoxForm.pkgHight*0.01)
if(sumVolume <= 0){
sumVolume = 0.01
}
this.$set(this.sealBoxForm, 'sumVolume', sumVolume)
},
accMul(arg1,arg2)
{
var m=0,s1=arg1.toString(),s2=arg2.toString();
try{m+=s1.split(".")[1].length}catch(e){}
try{m+=s2.split(".")[1].length}catch(e){}
let num = Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)
return num.toFixed(2)
},
getpositionNo(arr){
if(!arr) return arr
let data = []
......
<template>
<div>
<div class="tag">
<div style="display: flex;height: 180px;">
<div style="border-right: 1px solid #999; width: 140px">
<div>
<p style="margin-top: 1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 3mm">{{ $t('扫码查看产品数量') }}</span>
</p>
<img :src="tagData.qrCodeUrl" :alt="tagData.qrCodeUrl" style="width: 26mm" />
<p style="margin-top: -1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 4mm">{{ tagData.mergePkgNo }}</span>
</p>
</div>
</div>
<div style="width: 140px">
<p style="margin-top: 1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 4mm">{{ tagData.mergePkgNo }}</span>
</p>
<div style="border-top: 1px solid #999;margin-left: 10px;" />
<p style="margin-top: 1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 4mm">{{ tagData.company }}</span>
</p>
<div style="border-top: 1px solid #999;margin-left: 10px;" />
<p style="margin-top: 1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 4mm">{{ tagData.startWarehouse }} -> {{ tagData.endWarehouse }}</span>
</p>
<div style="border-top: 1px solid #999;margin-left: 10px;" />
<div style="display: flex;margin-top: 10px;">
<div style="border-right: 1px solid #999;width: 45px;">
<div>
<div class="tag">
<div style="display: flex;height: 160px;">
<div style="border-right: 1px solid #999; width: 140px">
<div style="text-align: center">
<p style="margin-top: 1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 4mm">{{ tagData.transportName }}</span>
<span style="text-align: center; font-weight: 600; font-size: 3mm">{{ $t('扫码查看产品数量') }}</span>
</p>
</div>
<div style="width: 90px;">
<p style="margin-top: 1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 4mm">{{ tagData.date }}</span>
<img :src="tagData.qrCodeUrl" :alt="tagData.qrCodeUrl" style="width: 26mm"/>
<p style="margin-top: -1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 4mm">{{ tagData.mergePkgNo }}</span>
</p>
</div>
</div>
<div style="width: 140px">
<p style="margin-top: 1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 4mm">{{ tagData.mergePkgNo }}</span>
</p>
<div style="border-top: 1px solid #999;margin-left: 10px;"/>
<p style="margin-top: 1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 4mm">{{ tagData.company }}</span>
</p>
<div style="border-top: 1px solid #999;margin-left: 10px;"/>
<p style="margin-top: 1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 4mm">{{
tagData.startWarehouse
}} -> {{ tagData.endWarehouse }}</span>
</p>
<div style="border-top: 1px solid #999;margin-left: 10px;"/>
<div style="display: flex;margin-top: 10px;">
<div style="border-right: 1px solid #999;width: 45px;">
<p style="margin-top: 1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 4mm">{{ tagData.transportName }}</span>
</p>
</div>
<div style="width: 90px;">
<p style="margin-top: 1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 4mm">{{ tagData.date }}</span>
</p>
</div>
</div>
</div>
</div>
<div style="border-top: 1px solid #999;margin: 10px;"/>
<div style="padding: 10px; width: 250px; height: 20px; text-align: center; font-size: 12px; color:#000;">
E&C Logistics: www.groupage.com
</div>
</div>
<div style="border-top: 1px solid #999;margin: 10px;" />
<!--<div>
<img :src="tagData.barcodeUrl" style="width:250px;height: 50px;" />
</div>-->
<div style="height: 50px;">
<p style="margin-top: 1mm; text-align: center">
<span style="text-align: center; font-weight: 600; font-size: 3mm">E&C Logistics: www.groupage.com</span>
</p>
</div>
</div>
<div style="text-align:center;margin-top: 20px;">
<el-button type="primary" @click="print">{{$t('确定打印')}}</el-button>
</div>
<el-button type="primary" @click="print">{{ $t('确定打印') }}</el-button>
</div>
</div>
</template>
......@@ -79,7 +76,7 @@ export default {
LODOP.SET_PRINT_PAGESIZE(0, 800, 600, "TAG");
for(let i in items){
LODOP.ADD_PRINT_HTM("2mm",0,800,600, items[i].innerHTML);
LODOP.ADD_PRINT_HTM(0,0,800,600, items[i].outerHTML);
if(i < items.length){
LODOP.NewPage()
}
......
......@@ -25,7 +25,7 @@
<el-button :disabled="shipmentObj.approvaling" size="small" type="primary" @click="()=>tallyClick('batch')">{{$t('批量理货')}}</el-button>
<el-button :disabled="shipmentObj.approvaling" size="small" type="primary" @click="()=>removeClick('batch')">{{$t('批量移出')}}</el-button>
</div>
<div>
<div v-if="false">
<template>
<el-input v-model="qrCode" :placeholder="$t('请输入二维码/条码编号')" clearable></el-input>
<el-button type="primary" @click="handlerBatchCreate()">{{$t('确定')}}</el-button>
......
......@@ -186,6 +186,10 @@ export default {
break;
// 清关
case "cusClearance":
if(!this.shipmentObj.sapStatus || this.shipmentObj.sapStatus <= 151){
this.$message.error(this.$t("请先完成到港操作"));
return;
}
this.$set(this.dialogConfig, "width", "700px");
break;
// AGENT
......@@ -220,6 +224,10 @@ export default {
break;
// 卸柜
case "unloading":
if(!this.shipmentObj.sapStatus || this.shipmentObj.sapStatus <= 151){
this.$message.error(this.$t("请先完成到港操作"));
return;
}
// 卸柜反审
const unStatus = this.shipmentObj[node.keyName];
if ([186].includes(unStatus)) {
......
......@@ -307,12 +307,12 @@
this.totalData.developWeight =this.myAchievementData.devTotalWeight
this.totalData.developVolume =this.myAchievementData.devTotalVolume
this.totalData.developNum =this.myAchievementData.devTotalNum
this.$set(this.totalData,'newTotalNum',this.myAchievementData.newTotalNum )
this.$set(this.totalData,'newTotalVolume',this.myAchievementData.newTotalVolume)
this.$set(this.totalData,'newTotalWeight',this.myAchievementData.newTotalWeight)
this.$set(this.totalData,'oldTotalNum',this.myAchievementData.oldTotalNum)
this.$set(this.totalData,'oldTotalVolume',this.myAchievementData.oldTotalVolume)
this.$set(this.totalData,'oldTotalWeight',this.myAchievementData.oldTotalWeight)
this.$set(this.totalData,'newTotalNum',this.myAchievementData.newTotalNum ||0 )
this.$set(this.totalData,'newTotalVolume',this.myAchievementData.newTotalVolume || 0 )
this.$set(this.totalData,'newTotalWeight',this.myAchievementData.newTotalWeight || 0)
this.$set(this.totalData,'oldTotalNum',this.myAchievementData.oldTotalNum || 0)
this.$set(this.totalData,'oldTotalVolume',this.myAchievementData.oldTotalVolume || 0 )
this.$set(this.totalData,'oldTotalWeight',this.myAchievementData.oldTotalWeight || 0)
this.loading = false;
});
},
......
......@@ -514,11 +514,11 @@
</el-form-item>
</div>
<div v-if="[3,4].indexOf(+form.transportId) > -1">
<!--<div v-if="[3,4].indexOf(+form.transportId) > -1">
<el-form-item :label="$t('航空公司')">
<supplier-selector v-model="form.airlineCompany" company-type="10" :disabled="false"/>
</el-form-item>
</div>
</div>-->
<div v-if="[2].indexOf(+form.transportId) > -1">
<el-form-item :label="$t('船公司')">
<supplier-selector v-model="form.shippingCompany" company-type="9" :disabled="false" />
......
......@@ -301,7 +301,7 @@
<span v-else>{{$t('空运订单重量上限')}}(kg)</span>
<div style="width:200px;margin-left:20px"><el-input type="number" v-model="handlerParams.weightLimit"></el-input></div>
</div>
<!-- 未分配客户经理 -->
<!-- 未分配客户经理 -->
<div v-if="orderExceptionData.orderExceptionType=='not_customer_service_exception'">
<el-row :gutter="20">
<el-col :span="8" v-if="orderData.consignorVO">
......
......@@ -621,11 +621,8 @@ export default {
this.reset()
}
// 空运需要获取货币和体积单位
if([3, 4].indexOf(this.orderData.transportId) > -1){
getCurrencyList().then(res => this.currencyList = res.data)
getUnitList().then(res => this.unitList = res.data)
}
getCurrencyList().then(res => this.currencyList = res.data)
getUnitList().then(res => this.unitList = res.data)
})
// 获取入仓记录
getOrderWarehouseIn(this.queryParams.orderId).then(res => {
......@@ -946,22 +943,6 @@ export default {
if(!this.orderData || !this.orderData.orderItemVOList ||this.orderData.length==0){
return sums
}
/*var orderSum = 0
var orderV = 0
var orderW = 0
var leviteSum = 0
var leviteV = 0
var leviteW = 0
this.orderData.orderItemVOList.forEach((column, index) => {
orderSum += column.num
orderV += column.volume
orderW += column.weight
leviteSum += column.warehouseInInfoVO?column.warehouseInInfoVO.cartonsNum:0
leviteV += column.warehouseInInfoVO?column.warehouseInInfoVO.volume:0
leviteW += column.warehouseInInfoVO?column.warehouseInInfoVO.weight:0
});
sums[1] = this.$t('下单统计')+' '+ orderSum+' '+this.$t('箱')+' '+ orderV.toFixed(2) +' m³ ' + orderW + ' kg ' + ' '+this.$t('入仓统计:')+ leviteSum+' '+this.$t('箱')+' '+ leviteV.toFixed(2) +' m³ ' + leviteW + ' kg'
*/
sums[1] = [
this.$t('下单统计'),
this.orderData.costVO?.totalNum + ' '+this.$t(''),
......
......@@ -5,7 +5,7 @@
append-to-body
width="90vw"
>
<el-table ref="multipleTable" :data="orderItemDetails" @selection-change="handleSelectionChange">
<el-table ref="multipleTable" :data="flatList" @selection-change="handleSelectionChange" :span-method="objectSpanMethod">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column :label="$t('品名')" prop="name">
<template #default="{row}">{{$l(row, "prodName")}}</template>
......@@ -22,32 +22,37 @@
<el-table-column :label="$t('用途')" prop="unit">
<template #default="{row}">{{$l(row, "usageNames")}}</template>
</el-table-column>
<el-table-column :label="$t('数量')" prop="quantityAll"></el-table-column>
<el-table-column :label="$t('总数量')" prop="quantityAll"></el-table-column>
<el-table-column :label="$t('总箱数')" prop="cartonsNum"></el-table-column>
<el-table-column :label="$t('包装类型')" prop="specificationType">
<template #default="{row}">
<dict-tag :type="DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE" :value="row.specificationType"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('规格')" prop="boxGauge"></el-table-column>
<el-table-column :label="$t('总重量')" prop="weight"></el-table-column>
<el-table-column :label="$t('快递单号')" prop="expressNo"></el-table-column>
<el-table-column :label="$t('影像')" prop="quantityAll">
<template #default="{row}">
<el-button type="text" @click="curPictrues = row.pictureUrls">{{$t('查看影像')}}</el-button>
</template>
</el-table-column>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleSubmit">{{$t('确定')}}</el-button>
<el-button @click="handleClose">{{$t('取消')}}</el-button>
</div>
<media-dialog v-if="curPictrues" :value="curPictrues" @close="curPictrues=null"></media-dialog>
</el-dialog>
</template>
<script>
import ProductSelector from "@/components/ProductSelector"
import WarehouseAreaSelect from "@/components/WarehouseAreaSelect"
import {getFeeTypeByOrderProduct, getProductBrankPage} from "@/api/ecw/productBrank"
import {cancelProcessInstance} from "@/api/bpm/processInstance"
import WorkFlow from "@/components/WorkFlow"
import {DICT_TYPE, getDictDataLabel, getDictDatas} from "@/utils/dict"
import {finishPacked, getOrderItemCommonAttr, orderWarehouseIn, orderWarehouseInUpdateApply} from "@/api/ecw/order"
import {getProductAttrList} from "@/api/ecw/productAttr"
import {getProductTypeList} from "@/api/ecw/productType"
import {addProduct} from "@/api/ecw/product"
import WarehouseRecordDetail from "@/views/ecw/order/warehousing/components/WarehouseRecordDetail.vue";
import ImageAndVideoUpload from "@/components/ImageAndVideoUpload/index.vue";
import Template from "@/views/cms/template/index.vue";
import {getOrderItemCommonAttr} from "@/api/ecw/order"
import MediaDialog from "@/views/ecw/order/stocking/components/MediaDialog.vue";
export default {
components: {MediaDialog},
props: {
orderId: {
type: Number,
......@@ -60,7 +65,8 @@ export default {
visible: true,
// 备选的商品明细
orderItemDetails: [],
multipleSelection:[]
multipleSelection:[],
curPictrues: null
}
},
watch:{
......@@ -70,8 +76,19 @@ export default {
}
},
},
computed:{
flatList(){
let arr = []
this.orderItemDetails.forEach(item => {
item.orderWarehouseInCommonAttrVOList?.forEach((vo, index) => {
arr.push({...item, ...vo, index, span: index === 0 ? item.orderWarehouseInCommonAttrVOList?.length : 0})
})
})
return arr
}
},
async created() {
getOrderItemCommonAttr(this.orderId, this.warehouseInId).then(res => {
getOrderItemCommonAttr(this.orderId, this.warehouseInId || 0).then(res => {
this.orderItemDetails = res.data
})
},
......@@ -99,6 +116,18 @@ export default {
},
handleClose() {
this.visible = false
},
objectSpanMethod({ row, column, rowIndex, columnIndex }){
if(columnIndex > 6){
return {
rowspan: row.span,
colspan: 1
}
}
return {
rowspan: 1,
colspan: 1
}
}
}
}
......
......@@ -40,7 +40,7 @@ export default {
</script>
<template>
<el-dialog :visible.sync="show" :before-close="onBeforeClose">
<el-dialog :visible.sync="show" :before-close="onBeforeClose" append-to-body title="$t('查看影像')">
<image-and-video-upload v-model="pictureUrls" readonly></image-and-video-upload>
</el-dialog>
</template>
<template>
<el-dialog
<el-dialog
:title="$t('添加新品名')"
:visible.sync="visible"
width="90vw"
......
......@@ -65,9 +65,15 @@
<el-button type="text" @click="showMedia(props.row)">{{$t('查看')}}</el-button>
</template>
</el-table-column>
<el-table-column prop="areaName" :label="$t(' ')" width="220px">
<el-table-column prop="areaName" width="220px">
<template v-slot="{row}">
<WarehouseRecordDetail v-model="row.orderWarehouseInDetailsVOList" @input="saveDetail(props.row)" />
<WarehouseRecordDetail
v-model="row.orderWarehouseInDetailsVOList"
@input="saveDetail(props.row)"
show-choose-order-item
:order-id="orderId"
:warehouse-in-id="row.id"
/>
<el-button class="pl-5 pr-5" size="mini" type="primary" @click="package(props.row, $t('修改打包'))">{{$t('修改')}}</el-button>
<el-button class="pl-5 pr-5" size="mini" type="danger" @click="package(props.row, $t('修改打包'))">{{$t('删除')}}</el-button>
</template>
......@@ -168,7 +174,9 @@
</template>
<el-button class="pl-5 pr-5" v-else size="mini" type="primary" @click="package(row, $t('修改打包'))">{{$t('修改打包')}}</el-button>
<el-button size="mini" type="danger" @click="rollback(row)">{{$t('退仓')}}</el-button>
<el-tooltip :content="$t('请确认货物打包完成再并箱')" :value="true" manual>
<el-button size="mini" type="danger" @click="rollback(row)">{{$t('并箱')}}</el-button>
</el-tooltip>
<el-button class="pl-5 pr-5" size="mini" type="info" @click="printTag">{{$t('打印标签')}}</el-button>
</el-button-group>
</template>
......
......@@ -792,6 +792,9 @@ export default {
this.form.feeType = this.warehousing.feeType
this.form.pictureUrls = this.warehousing.pictureUrls
this.form.usageIds = this.warehousing.usageIds?.split(',') || []
if (this.form.usageIds.length > 0 && this.form.usageIds[0] === ''){
this.usageIds.splice(0, 1)
}
this.warehousing.orderWarehouseInBackItemDoList.forEach(e => {
let bg = {}
......
......@@ -162,6 +162,9 @@ export default {
if (this.value.usageIds) {
this.usageIds = this.value.usageIds.split(',') || []
if (this.usageIds.length > 0 && this.usageIds[0] === ''){
this.usageIds.splice(0, 1)
}
}
if (this.value.boxGauge) {
......
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