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

部分bug和出货国际化

parent 4c6e87a2
......@@ -6,5 +6,6 @@
"新增": "Create",
"搜索": "Search",
"重置": "Reset",
"新建订单": "New Order"
"新建订单": "New Order",
"订舱": "Book space"
}
\ No newline at end of file
......@@ -52,6 +52,19 @@
</div>
</div>
</el-col>
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
<div class="card-panel" @click="$router.push('/member/member/under-review')">
<div class="card-panel-icon-wrapper icon-shopping">
<svg-icon icon-class="time-range" class-name="card-panel-icon" />
</div>
<div class="card-panel-description">
<div class="card-panel-text">
{{$t('待审核注册会员')}}
</div>
<count-to :start-val="0" :end-val="data.reviewMemberCount" :duration="3600" class="card-panel-num" />
</div>
</div>
</el-col>
</el-row>
</template>
......
......@@ -2,43 +2,43 @@
<div class="app-costForm shippingSea-dialog">
<el-form ref="costForm" :model="costObj" :rules="rules" label-width="80px">
<el-form-item label="操作步骤" prop="opStepType">
<el-select v-model="costObj.opStepType" placeholder="请选择操作步骤">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_PROCESS)" :key="type.value" :label="type.label" :value="type.value"></el-option>
<el-form-item :label="$t('操作步骤')" prop="opStepType">
<el-select v-model="costObj.opStepType" :placeholder="$t('请选择操作步骤')">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_PROCESS)" :key="type.value" :label="$l(type, 'label')" :value="type.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="费用类型" prop="costType">
<el-select v-model="costObj.costType" placeholder="请选择费用类型">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.FEE_TYPE)" :key="type.value" :label="type.label" :value="type.value"></el-option>
<el-form-item :label="$t('费用类型')" prop="costType">
<el-select v-model="costObj.costType" :placeholder="$t('请选择费用类型')">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.FEE_TYPE)" :key="type.value" :label="$l(type, 'label')" :value="type.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="供应商" prop="supplierId">
<el-select v-model="costObj.supplierId" placeholder="请选择供应商">
<el-option v-for="supplier in allSupplier" :key="supplier.id" :label="supplier.companyZh" :value="supplier.id"></el-option>
<el-form-item :label="$t('供应商')" prop="supplierId">
<el-select v-model="costObj.supplierId" :placeholder="$t('请选择供应商')">
<el-option v-for="supplier in allSupplier" :key="supplier.id" :label="$l(supplier, 'company')" :value="supplier.id"></el-option>
</el-select>
</el-form-item>
<el-row class="two-element-formItem">
<el-form-item label="金额" prop="price">
<el-form-item :label="$t('金额')" prop="price">
<el-input-number v-model="costObj.price" controls-position="right" :min="1"></el-input-number>
</el-form-item>
<el-form-item label="" label-width="0px" prop="priceUnit">
<el-select v-model="costObj.priceUnit" placeholder="请选择单位">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_PRICE_UNIT)" :key="type.value" :label="type.label" :value="type.value"></el-option>
<el-select v-model="costObj.priceUnit" :placeholder="$t('请选择单位')">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_PRICE_UNIT)" :key="type.value" :label="$l(type, 'label')" :value="type.value"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-form-item label="备注">
<el-input v-model="costObj.remarks" type="textarea" rows="2" placeholder="请输入备注"></el-input>
<el-form-item :label="$t('备注')">
<el-input v-model="costObj.remarks" type="textarea" rows="2" :placeholder="$t('请输入备注')"></el-input>
</el-form-item>
</el-form>
<div class="operate-button">
<el-button type="primary" @click="submit">确定</el-button>
<el-button @click="$emit('closeDialog')">取消</el-button>
<el-button type="primary" @click="submit">{{$t('确定')}}</el-button>
<el-button @click="$emit('closeDialog')">{{$t('取消')}}</el-button>
</div>
</div>
</template>
......@@ -59,11 +59,11 @@ export default {
allSupplier: [],
rules: {
opStepType: [{ required: true, message: "操作步骤不能为空", trigger: "change" }],
costType: [{ required: true, message: "费用类型不能为空", trigger: "change" }],
supplierId: [{ required: true, message: "供应商不能为空", trigger: "blur" }],
price: [{ required: true, message: "金额不能为空", trigger: "blur" }],
priceUnit: [{ required: true, message: "金额单位不能为空", trigger: "blur" }]
opStepType: [{ required: true, message: this.$t("操作步骤不能为空"), trigger: "change" }],
costType: [{ required: true, message: this.$t("费用类型不能为空"), trigger: "change" }],
supplierId: [{ required: true, message: this.$t("供应商不能为空"), trigger: "blur" }],
price: [{ required: true, message: this.$t("金额不能为空"), trigger: "blur" }],
priceUnit: [{ required: true, message: this.$t("金额单位不能为空"), trigger: "blur" }]
},
};
},
......
<template>
<div class="shippingSea-dialog">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="运输方式" prop="transportType">
<el-form-item :label="$t('运输方式')" prop="transportType">
<el-radio-group v-model="form.transportType">
<el-radio v-for="dict in transportTypes" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
<el-radio v-for="dict in transportTypes" :key="dict.value" :label="$l(dict, 'value')">{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="柜型" prop="cabinetId">
<el-select v-model="form.cabinetId" placeholder="请选择柜型">
<el-form-item :label="$t('柜型')" prop="cabinetId">
<el-select v-model="form.cabinetId" :placeholder="$t('请选择柜型')">
<el-option v-for="item in cabinetList" :label="item.name" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="始发地" prop="startWarehouseId">
<el-select v-model="form.startWarehouseId" placeholder="请选择始发地">
<el-option v-for="item in exportWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
<el-form-item :label="$t('始发地')" prop="startWarehouseId">
<el-select v-model="form.startWarehouseId" :placeholder="$t('请选择始发地')">
<el-option v-for="item in exportWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的地" prop="destWarehouseId">
<el-select v-model="form.destWarehouseId" placeholder="请选择目的地">
<el-option v-for="item in importWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
<el-form-item :label="$t('目的地')" prop="destWarehouseId">
<el-select v-model="form.destWarehouseId" :placeholder="$t('请选择目的地')">
<el-option v-for="item in importWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<div class="operate-button">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
<el-button type="primary" @click="submitForm">{{$t('确定')}}</el-button>
<el-button @click="cancel">{{$t('取消')}}</el-button>
</div>
</el-form>
</div>
......@@ -55,16 +55,16 @@ export default {
// 表单校验
rules: {
transportType: [
{ required: true, message: "运输方式不能为空", trigger: "blur" },
{ required: true, message: this.$t("运输方式不能为空"), trigger: "blur" },
],
cabinetId: [
{ required: true, message: "柜型不能为空", trigger: "blur" },
{ required: true, message: this.$t("柜型不能为空"), trigger: "blur" },
],
startWarehouseId: [
{ required: true, message: "始发地不能为空", trigger: "blur" },
{ required: true, message: this.$t("始发地不能为空"), trigger: "blur" },
],
destWarehouseId: [
{ required: true, message: "目的地不能为空", trigger: "blur" },
{ required: true, message: this.$t("目的地不能为空"), trigger: "blur" },
],
},
};
......@@ -80,14 +80,14 @@ export default {
// 修改的提交
if (this.form.id != null) {
updatebox(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.$modal.msgSuccess(this.$t("修改成功"));
this.$emit("closeDialog", "edit");
});
return;
}
// 添加的提交
createbox(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.$modal.msgSuccess(this.$t("新增成功"));
this.$emit("closeDialog", "add");
});
});
......
......@@ -2,40 +2,40 @@
<div class="shippingSea-dialog">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="运输方式" prop="transportType">
<el-form-item :label="$t('运输方式')" prop="transportType">
<el-radio-group v-model="form.transportType">
<el-radio v-for="dict in transportTypes" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
<el-radio v-for="dict in transportTypes" :key="dict.value" :label="dict.value">{{$l(dict, 'label')}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="出货渠道" prop="shippingChannelId">
<el-select v-model="form.shippingChannelId" placeholder="请选择出货渠道">
<el-option v-for="item in channelList" :label="item.nameZh" :value="item.channelId" :key="item.channelId"></el-option>
<el-form-item :label="$t('出货渠道')" prop="shippingChannelId">
<el-select v-model="form.shippingChannelId" :placeholder="$t('请选择出货渠道')">
<el-option v-for="item in channelList" :label="$l(item, 'name')" :value="item.channelId" :key="item.channelId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="柜型" prop="cabinetId">
<el-select v-model="form.cabinetId" placeholder="请选择柜型">
<el-form-item :label="$t('柜型')" prop="cabinetId">
<el-select v-model="form.cabinetId" :placeholder="$t('请选择柜型')">
<el-option v-for="item in cabinetList" :label="item.name" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="始发地" prop="startWarehouseId">
<el-select v-model="form.startWarehouseId" placeholder="请选择始发地">
<el-option v-for="item in exportWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
<el-form-item :label="$t('始发地')" prop="startWarehouseId">
<el-select v-model="form.startWarehouseId" :placeholder="$t('请选择始发地')">
<el-option v-for="item in exportWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的地" prop="destWarehouseId">
<el-select v-model="form.destWarehouseId" placeholder="请选择目的地">
<el-option v-for="item in importWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
<el-form-item :label="$t('目的地')" prop="destWarehouseId">
<el-select v-model="form.destWarehouseId" :placeholder="$t('请选择目的地')">
<el-option v-for="item in importWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
<el-button type="primary" @click="submitForm">{{$t('确定')}}</el-button>
<el-button @click="cancel">{{$t('取消')}}</el-button>
</div>
</div>
</template>
......@@ -65,16 +65,16 @@ export default {
// 表单校验
rules: {
shippingChannelId: [
{ required: true, message: '出货渠道不能为空', trigger: 'blur' }
{ required: true, message: this.$t('出货渠道不能为空'), trigger: 'blur' }
],
cabinetId: [
{ required: true, message: '柜型不能为空', trigger: 'blur' }
{ required: true, message: this.$t('柜型不能为空'), trigger: 'blur' }
],
startWarehouseId: [
{ required: true, message: '始发地不能为空', trigger: 'blur' }
{ required: true, message: this.$t('始发地不能为空'), trigger: 'blur' }
],
destWarehouseId: [
{ required: true, message: '目的地不能为空', trigger: 'blur' }
{ required: true, message: this.$t('目的地不能为空'), trigger: 'blur' }
]
}
};
......@@ -95,14 +95,14 @@ export default {
// 修改的提交
if (this.form.id != null) {
updatebox(this.form).then((response) => {
this.$modal.msgSuccess('修改成功')
this.$modal.msgSuccess(this.$t('修改成功'))
this.$emit("closeDialog", "edit");
})
return
}
// 添加的提交
createbox(this.form).then((response) => {
this.$modal.msgSuccess('新增成功')
this.$modal.msgSuccess(this.$t('新增成功'))
this.$emit("closeDialog", "edit");
})
})
......
......@@ -3,46 +3,46 @@
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="自编号" prop="selfNo">
<el-input v-model="queryParams.selfNo" placeholder="请输入自编号" clearable @keyup.enter.native="handleQuery"/>
<el-form-item :label="$t('自编号')" prop="selfNo">
<el-input v-model="queryParams.selfNo" :placeholder="$t('请输入自编号')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="柜号" prop="cubNo">
<el-input v-model="queryParams.cubNo" placeholder="请输入柜号" clearable @keyup.enter.native="handleQuery"/>
<el-form-item :label="$t('柜号')" prop="cubNo">
<el-input v-model="queryParams.cubNo" :placeholder="$t('请输入柜号')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="始发地" prop="startWarehouseId">
<el-select v-model="queryParams.startWarehouseId" placeholder="请选择始发地">
<el-form-item :label="$t('始发地')" prop="startWarehouseId">
<el-select v-model="queryParams.startWarehouseId" :placeholder="$t('请选择始发地')">
<el-option v-for="item in exportWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的地" prop="destWarehouseId">
<el-select v-model="queryParams.destWarehouseId" placeholder="请选择目的地">
<el-form-item :label="$t('目的地')" prop="destWarehouseId">
<el-select v-model="queryParams.destWarehouseId" :placeholder="$t('请选择目的地')">
<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-item label="状态" prop="boxStatus">
<el-select v-model="queryParams.boxStatus" placeholder="请选择状态" clearable size="small">
<el-form-item :label="$t('状态')" prop="boxStatus">
<el-select v-model="queryParams.boxStatus" :placeholder="$t('请选择状态')" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.BOX_SHIPMENT_STATUS)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
:key="dict.value" :label="$l(dict, 'label')" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="" prop="date">
<el-select v-model="queryParams.dateType" placeholder="请选择时间类型" clearable size="small">
<el-select v-model="queryParams.dateType" :placeholder="$t('请选择时间类型')" clearable size="small">
<el-option v-for="item in dateTypes" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="">
<el-date-picker v-model="queryParams.dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"/>
type="datetimerange" range-separator="-" start-:placeholder="$t('开始日期')" end-:placeholder="$t('结束日期')"/>
</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>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
</el-form-item>
</el-form>
......@@ -50,13 +50,13 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['shipment:box:create']">出货安排
v-hasPermi="['shipment:box:create']">{{$t('出货安排')}}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
:loading="exportLoading"
v-hasPermi="['shipment:box:export']">导出
v-hasPermi="['shipment:box:export']">{{$t('导出')}}
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
......@@ -64,10 +64,10 @@
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="自编号" align="center" prop="selfNo"/>
<el-table-column label="柜号" align="center" prop="cubNo"/>
<el-table-column :label="$t('自编号')" align="center" prop="selfNo"/>
<el-table-column :label="$t('柜号')" align="center" prop="cubNo"/>
<el-table-column label="出货渠道" align="center" prop="shippingChannelId">
<el-table-column :label="$t('出货渠道')" align="center" prop="shippingChannelId">
<template slot-scope="scope">
<span>{{ getShipChannelName(scope.row.shippingChannelId) }}</span>
</template>
......@@ -76,35 +76,35 @@
<el-table-column label="方数(预装/已装)" align="center" prop="squareNumber"/>
<el-table-column label="重量(预装/已装)" align="center" prop="weight"/>
<el-table-column label="状态" align="center" prop="boxStatus">
<el-table-column :label="$t('状态')" align="center" prop="boxStatus">
<template slot-scope="scope">
<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">
<el-table-column :label="$t('日期')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ new Date(scope.row.createTime).format('yyyy-MM-dd hh:mm:ss') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<!-- <el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)"
v-hasPermi="['shipment:box:query']">查看</el-button>
v-hasPermi="['shipment:box:query']">{{$t('查看')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['shipment:box:update']">修改</el-button>
v-hasPermi="['shipment:box:update']">{{$t('修改')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['shipment:box:delete']">删除</el-button> -->
v-hasPermi="['shipment:box:delete']">{{$t('删除')}}</el-button> -->
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)">
<el-button type="primary">
操作<i class="el-icon-arrow-down el-icon--right"></i>
{{$t('操作')}}<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="edit">编辑</el-dropdown-item>
<el-dropdown-item command="air">操作-空运</el-dropdown-item>
<el-dropdown-item command="error">异常登记</el-dropdown-item>
<el-dropdown-item command="cost">费用登记</el-dropdown-item>
<el-dropdown-item command="delete">删除</el-dropdown-item>
<el-dropdown-item command="edit">{{$t('编辑')}}</el-dropdown-item>
<el-dropdown-item command="air">{{$t('操作')}}-{{$t('空运')}}</el-dropdown-item>
<el-dropdown-item command="error">{{$t('异常登记')}}</el-dropdown-item>
<el-dropdown-item command="cost">{{$t('费用登记')}}</el-dropdown-item>
<el-dropdown-item command="delete">{{$t('删除')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
......@@ -119,28 +119,28 @@
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="出货渠道" prop="shippingChannelId">
<el-select v-model="form.shippingChannelId" placeholder="请选择出货渠道">
<el-form-item :label="$t('出货渠道')" prop="shippingChannelId">
<el-select v-model="form.shippingChannelId" :placeholder="$t('请选择出货渠道')">
<el-option v-for="item in channelList" :label="item.nameZh" :value="item.channelId" :key="item.channelId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="始发地" prop="startWarehouseId">
<el-select v-model="form.startWarehouseId" placeholder="请选择始发地">
<el-option v-for="item in exportWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
<el-form-item :label="$t('始发地')" prop="startWarehouseId">
<el-select v-model="form.startWarehouseId" :placeholder="$t('请选择始发地')">
<el-option v-for="item in exportWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的地" prop="destWarehouseId">
<el-select v-model="form.destWarehouseId" placeholder="请选择目的地">
<el-option v-for="item in importWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
<el-form-item :label="$t('目的地')" prop="destWarehouseId">
<el-select v-model="form.destWarehouseId" :placeholder="$t('请选择目的地')">
<el-option v-for="item in importWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
<el-button type="primary" @click="submitForm">{{$t('确定')}}</el-button>
<el-button @click="cancel">{{$t('取消')}}</el-button>
</div>
</el-dialog>
</div>
......@@ -157,12 +157,12 @@
data() {
return {
dateTypes:[
{value:'1', label:'分拣时间'},
{value:'2', label:'装柜时间'},
{value:'3', label:'起运时间'},
{value:'4', label:'到港时间'},
{value:'5', label:'清关时间'},
{value:'6', label:'提货时间'},
{value:'1', label:this.$t('分拣时间')},
{value:'2', label:this.$t('装柜时间')},
{value:'3', label:this.$t('起运时间')},
{value:'4', label:this.$t('到港时间')},
{value:'5', label:this.$t('清关时间')},
{value:'6', label:this.$t('提货时间')},
],
......@@ -200,9 +200,9 @@
form: {},
// 表单校验
rules: {
shippingChannelId: [{ required: true, message: "出货渠道不能为空", trigger: "blur" }],
startWarehouseId: [{ required: true, message: "始发地不能为空", trigger: "blur" }],
destWarehouseId: [{ required: true, message: "目的地不能为空", trigger: "blur" }],
shippingChannelId: [{ required: true, message: this.$t("出货渠道不能为空"), trigger: "blur" }],
startWarehouseId: [{ required: true, message: this.$t("始发地不能为空"), trigger: "blur" }],
destWarehouseId: [{ required: true, message: this.$t("目的地不能为空"), trigger: "blur" }],
}
};
......@@ -220,7 +220,7 @@
for (let index in this.channelList) {
let channelItem = this.channelList[index];
if (channelItem.channelId == shippingChannelId) {
return channelItem.nameZh;
return this.$l(channelItem, 'name');
}
}
return '/'
......@@ -283,7 +283,7 @@
handleAdd() {
this.reset();
this.open = true;
this.title = "添加出货";
this.title = this.$t("添加出货");
},
/** 修改按钮操作 */
handleUpdate(row) {
......@@ -292,7 +292,7 @@
getbox(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改出货";
this.title = this.$t("修改出货");
});
},
/** 提交按钮 */
......@@ -307,7 +307,7 @@
// 修改的提交
if (this.form.id != null) {
updatebox(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$modal.msgSuccess(this.$t("修改成功"));
this.open = false;
this.getList();
});
......@@ -315,7 +315,7 @@
}
// 添加的提交
createbox(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.$modal.msgSuccess(this.$t("新增成功"));
this.open = false;
this.getList();
});
......@@ -324,11 +324,11 @@
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除出货编号为"' + id + '"的数据项?').then(function () {
this.$modal.confirm(this.$t('是否确认删除出货编号为{id}的数据项?', {id})).then(function () {
return deletebox(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
this.$modal.msgSuccess(this.$t("删除成功"));
}).catch(() => {
});
},
......@@ -340,7 +340,7 @@
params.pageSize = undefined;
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行导出
this.$modal.confirm('是否确认导出所有出货数据项?').then(() => {
this.$modal.confirm(this.$t('是否确认导出所有出货数据项?')).then(() => {
this.exportLoading = true;
return exportboxExcel(params);
}).then(response => {
......
......@@ -3,27 +3,27 @@
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="运输方式" prop="transportType">
<!-- <el-select v-model="queryParams.transportType" placeholder="请选择运输方式" clearable size="small">
<el-form-item :label="$t('运输方式')" prop="transportType">
<!-- <el-select v-model="queryParams.transportType" :placeholder="$t('请选择运输方式')" clearable size="small">
<el-option v-for="dict in transportTypes" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select> -->
<dict-selector :type="DICT_TYPE.TRANSPORT_TYPE" v-model="queryParams.transportType" clearable/>
</el-form-item>
<el-form-item label="始发仓" prop="startWarehouseId">
<el-select v-model="queryParams.startWarehouseId" placeholder="请选择始发地" clearable>
<el-option v-for="item in exportWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
<el-form-item :label="$t('始发仓')" prop="startWarehouseId">
<el-select v-model="queryParams.startWarehouseId" :placeholder="$t('请选择始发地')" clearable>
<el-option v-for="item in exportWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的仓" prop="destWarehouseId">
<el-select v-model="queryParams.destWarehouseId" placeholder="请选择目的地" clearable>
<el-option v-for="item in importWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
<el-form-item :label="$t('目的仓')" prop="destWarehouseId">
<el-select v-model="queryParams.destWarehouseId" :placeholder="$t('请选择目的地')" clearable>
<el-option v-for="item in importWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</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>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
</el-form-item>
</el-form>
......@@ -31,11 +31,11 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['ecw:future-box:create']">新建计划</el-button>
v-hasPermi="['ecw:future-box:create']">{{$t('新建计划')}}</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['ecw:future-box:export']">导出</el-button>
v-hasPermi="['ecw:future-box:export']">{{$t('导出')}}</el-button>
</el-col> -->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
......@@ -114,57 +114,60 @@
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="始发地" prop="startWarehouseId">
<el-select v-model="form.startWarehouseId" placeholder="请选择始发地">
<el-option v-for="item in exportWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
<el-form-item :label="$t('始发地')" prop="startWarehouseId">
<el-select v-model="form.startWarehouseId" :placeholder="$t('请选择始发地')">
<el-option v-for="item in exportWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的地" prop="destWarehouseId">
<el-select v-model="form.destWarehouseId" placeholder="请选择目的地">
<el-option v-for="item in importWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
<el-form-item :label="$t('目的地')" prop="destWarehouseId">
<el-select v-model="form.destWarehouseId" :placeholder="$t('请选择目的地')">
<el-option v-for="item in importWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="运输方式" prop="transportType">
<el-form-item :label="$t('运输方式')" prop="transportType">
<dict-selector :type="DICT_TYPE.TRANSPORT_TYPE" v-model="form.transportType" form-type="radio" />
</el-form-item>
<el-form-item label="出货渠道" prop="shippingChannelId" v-if="form.transportType == 3 || form.transportType == 4">
<el-select v-model="form.shippingChannelId" placeholder="请选择出货渠道">
<el-form-item :label="$t('出货渠道')" prop="shippingChannelId" v-if="form.transportType == 3 || form.transportType == 4">
<el-select v-model="form.shippingChannelId" :placeholder="$t('请选择出货渠道')">
<el-option v-for="item in channelList" :label="$l(item, 'name')" :value="item.channelId" :key="item.channelId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="待入仓方数">
<el-form-item :label="$t('待入仓方数')">
{{form.readyWarehousingNumber}} m³
</el-form-item>
<el-form-item label="已入仓方数">
<el-form-item :label="$t('已入仓方数')">
{{form.warehousedNumber}} m³
</el-form-item>
<el-form-item label="在仓方数">
<el-form-item :label="$t('在仓方数')">
{{form.warehousingNumber}} m³
</el-form-item>
<el-form-item label="已装柜仓数">
<el-form-item :label="$t('已装柜仓数')">
{{form.loadingNumber}} m³
</el-form-item>
<el-form-item label="">
<div>
未来 <el-input v-model="form.futureNumber" class="w-100"></el-input> 天货柜数
{{$t('未来')}} <el-input v-model="form.futureNumber" class="w-100"></el-input> {{$t('天货柜数')}}
</div>
<div class="mt-10">
<el-input v-model="form.gpNumber" class="w-100" /> &times; 40GP
<el-input v-model="form.hqNumber" class="w-100 ml-10" /> &times; 40HQ
</div>
<div class="mt-10">
未来{{form.futureNumber}}天计划方数:<el-input v-model="form.futurePlanNumber" class="w-100"></el-input>
{{$t('未来{futureNumber}天计划方数',{futureNumber: form.futureNumber})}}:
<el-input v-model="form.futurePlanNumber" class="w-100"></el-input>
</div>
<div class="mt-10">
未来{{form.futureNumber}}天实际方数:<el-input v-model="form.actualNumber" class="w-100"></el-input>
{{$t('未来{futureNumber}天实际方数',{futureNumber: form.futureNumber})}}:
<el-input v-model="form.actualNumber" class="w-100"></el-input>
</div>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
<el-button type="primary" @click="submitForm">{{$t('确定')}}</el-button>
<el-button @click="cancel">{{$t('取消')}}</el-button>
</div>
</el-dialog>
</div>
......@@ -411,7 +414,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.title = "添加预定舱计划";
this.title = this.$t("添加预定舱计划");
},
/** 修改按钮操作 */
handleUpdate(row) {
......@@ -420,7 +423,7 @@ export default {
getFutureBox(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改预定舱计划";
this.title = this.$t("修改预定舱计划");
});
},
/** 提交按钮 */
......@@ -432,7 +435,7 @@ export default {
// 修改的提交
if (this.form.id != null) {
updateFutureBox(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$modal.msgSuccess(this.$t("修改成功"));
this.open = false;
this.getList();
});
......@@ -440,7 +443,7 @@ export default {
}
// 添加的提交
createFutureBox(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.$modal.msgSuccess(this.$t("新增成功"));
this.open = false;
this.getList();
});
......@@ -449,11 +452,11 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除预定舱计划编号为"' + id + '"的数据项?').then(function() {
this.$modal.confirm(this.$t('是否确认删除预定舱计划编号为{id}的数据项?', {id})).then(function() {
return deleteFutureBox(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
this.$modal.msgSuccess(this.$t("删除成功"));
}).catch(() => {});
},
/** 导出按钮操作 */
......@@ -464,7 +467,7 @@ export default {
params.pageSize = undefined;
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行导出
this.$modal.confirm('是否确认导出所有预定舱计划数据项?').then(() => {
this.$modal.confirm(this.$t('是否确认导出所有预定舱计划数据项?')).then(() => {
this.exportLoading = true;
return exportFutureBoxExcel(params);
}).then(response => {
......
......@@ -23,13 +23,13 @@
<el-form-item :label="$t('始发地')" prop="startWarehouseId">
<el-select v-model="queryParams.startWarehouseId" :placeholder="$t('请选择始发地')">
<el-option v-for="item in exportWarehouseList" :label="$l(item, 'titleZh')" :value="item.id" :key="item.id"></el-option>
<el-option v-for="item in exportWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('目的地')" prop="destWarehouseId">
<el-select v-model="queryParams.destWarehouseId" :placeholder="$t('请选择目的地')">
<el-option v-for="item in importWarehouseList" :label="$l(item, 'titleZh')" :value="item.id" :key="item.id"></el-option>
<el-option v-for="item in importWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
......@@ -51,7 +51,7 @@
<el-form-item :label="$t('国家')">
<el-select v-model="queryParams.countryId" :placeholder="$t('请选择国家')">
<el-option v-for="item in countryList" :key="item.id" :label="$l(item, 'titleZh')" :value="item.id">
<el-option v-for="item in countryList" :key="item.id" :label="$l(item, 'title')" :value="item.id">
</el-option>
</el-select>
</el-form-item>
......@@ -129,16 +129,16 @@
</el-dropdown>
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)">
<el-button type="primary">
下载<i class="el-icon-arrow-down el-icon--right"></i>
{{$t('下载')}}<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="downloadPreloadGoodsList">预装单</el-dropdown-item>
<el-dropdown-item command="downloadLoadGoodsList">已装单</el-dropdown-item>
<el-dropdown-item command="downloadReceivableList">应收汇总表</el-dropdown-item>
<el-dropdown-item command="downloadPreloadGoodsList">{{$t('预装单')}}</el-dropdown-item>
<el-dropdown-item command="downloadLoadGoodsList">{{$t('已装单')}}</el-dropdown-item>
<el-dropdown-item command="downloadReceivableList">{{$t('应收汇总表')}}</el-dropdown-item>
<el-dropdown-item command="downloadAgentListFiles">agent list</el-dropdown-item>
<el-dropdown-item command="downloadSoncapFiles">soncap</el-dropdown-item>
<el-dropdown-item command="zipDownload">提货单</el-dropdown-item>
<el-dropdown-item command="downloadLadingCopy">提单Copy</el-dropdown-item>
<el-dropdown-item command="zipDownload">{{$t('提货单')}}</el-dropdown-item>
<el-dropdown-item command="downloadLadingCopy">{{$t('提单Copy')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
......@@ -163,7 +163,7 @@
</template>
<template v-if="dialogCfg.dialogType === 'notice'">
<div class="notice-dialog">
<div class="notice-title">您有{{noticeList.length}}个待处理出货操作,请尽快前往处理</div>
<div class="notice-title">{{$t('您有{cnt}个待处理出货操作,请尽快前往处理', {cnt: noticeList.length})}}</div>
<el-table :data="noticeList" height="500px" border>
<el-table-column :label="$t('自编号')" align="center" prop="selfNo" />
<el-table-column :label="$t('类型')" align="center">
......@@ -178,12 +178,12 @@
</el-table-column>
<el-table-column :label="$t('操作')" align="center" width="80">
<template slot-scope="scope">
<el-button type="text" @click="handleCommand(scope.row, 'sea')">处理</el-button>
<el-button type="text" @click="handleCommand(scope.row, 'sea')">{{$t('处理')}}</el-button>
</template>
</el-table-column>
</el-table>
<el-row class="operate-button">
<el-button type="primary" @click="closeDialog">关闭窗口</el-button>
<el-button type="primary" @click="closeDialog">{{$t('关闭窗口')}}</el-button>
</el-row>
</div>
......@@ -224,12 +224,12 @@ export default {
data() {
return {
dateTypes: [
{ value: "1", label: "预装时间" },
{ value: "2", label: "装柜时间" },
{ value: "3", label: "起运时间" },
{ value: "4", label: "到港时间" },
{ value: "5", label: "清关时间" },
{ value: "6", label: "提货时间" },
{ value: "1", label: this.$t("预装时间") },
{ value: "2", label: this.$t("装柜时间") },
{ value: "3", label: this.$t("起运时间") },
{ value: "4", label: this.$t("到港时间") },
{ value: "5", label: this.$t("清关时间") },
{ value: "6", label: this.$t("提货时间") },
],
// 遮罩层
loading: true,
......@@ -309,7 +309,7 @@ export default {
const { data } = res;
this.noticeList = data ?? [];
if (data.length) {
this.$set(this.dialogCfg, "title", "出货操作提醒");
this.$set(this.dialogCfg, "title", this.$t("出货操作提醒"));
this.$set(this.dialogCfg, "dialogType", "notice");
this.$set(this.dialogCfg, "width", "650px");
this.$set(this.dialogCfg, "open", true);
......@@ -349,7 +349,7 @@ export default {
},
/** 新增按钮操作 */
handleAdd() {
this.$set(this.dialogCfg, "title", "添加出货");
this.$set(this.dialogCfg, "title", this.$t("添加出货"));
this.$set(this.dialogCfg, "dialogType", "add");
this.$set(this.dialogCfg, "width", "600px");
this.$set(this.dialogCfg, "fullscreen", false);
......@@ -363,7 +363,7 @@ export default {
const id = row.id;
getbox(id).then((response) => {
this.currRow = response.data;
this.$set(this.dialogCfg, "title", "修改出货");
this.$set(this.dialogCfg, "title", this.$t("修改出货"));
this.$set(this.dialogCfg, "dialogType", "edit");
this.$set(this.dialogCfg, "width", "600px");
this.$set(this.dialogCfg, "open", true);
......@@ -372,13 +372,13 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
this.$modal
.confirm(`是否确认删除出货编号为 ${row.selfNo} 的数据项?`)
.confirm(this.$t('是否确认删除出货编号为 {no} 的数据项?', {no: row.selfNo}))
.then(function () {
return deletebox(row.id);
})
.then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
this.$modal.msgSuccess(this.$t("删除成功"));
})
.catch(() => {});
},
......@@ -391,13 +391,13 @@ export default {
this.addBeginAndEndTime(params, this.dateRangeCreateTime, "createTime");
// 执行导出
this.$modal
.confirm("是否确认导出所有出货数据项?")
.confirm(this.$t("是否确认导出所有出货数据项?"))
.then(() => {
this.exportLoading = true;
return exportboxExcel(params);
})
.then((response) => {
this.$download.excel(response, "海运管理.xls");
this.$download.excel(response, this.$t("海运管理") + ".xls");
this.exportLoading = false;
})
.catch(() => {});
......@@ -432,26 +432,28 @@ export default {
case "editLadingBill":
const cabinetLabel = this.getCabinetName(row.cabinetId);
const title = `查看提单 ${row.selfNo ?? ""} 柜号:${
row.cubNo ?? ""
} 柜型:${cabinetLabel}`;
const title = this.$t('查看提单 {selfNo} 柜号:{cubNo} 柜型:{cabinetLabel}`', {
selfNo: row.selfNo,
cubNo: row.cubNo,
cabinetLabel: cabinetLabel
})
this.$set(this.dialogCfg, "title", title);
this.$set(this.dialogCfg, "fullscreen", true);
break;
case "cost":
this.$set(this.dialogCfg, "title", "费用登记");
this.$set(this.dialogCfg, "title", this.$t("费用登记"));
break;
case "error":
this.$set(this.dialogCfg, "title", "异常登记");
this.$set(this.dialogCfg, "title", this.$t("异常登记"));
break;
case "downloadPreloadGoodsList":
downloadFile(
command,
{ shipmentId: row.id },
`预装单(${row.selfNo}).xlsx`,
this.$t('预装单')+`(${row.selfNo}).xlsx`,
"xlsx"
);
break;
......@@ -459,7 +461,7 @@ export default {
downloadFile(
command,
{ shipmentId: row.id },
`已装单(${row.selfNo}).xlsx`,
this.$t('已装单') + `(${row.selfNo}).xlsx`,
"xlsx"
);
break;
......@@ -467,7 +469,7 @@ export default {
downloadFile(
command,
{ shipmentId: row.id },
`应收汇总表(${row.selfNo}).xlsx`,
this.$t('应收汇总表') + `(${row.selfNo}).xlsx`,
"xlsx"
);
break;
......@@ -475,7 +477,7 @@ export default {
downloadFile(
command,
{ shipmentId: row.id },
`提货单(${row.selfNo}).zip`,
this.$t("提货单") + `(${row.selfNo}).zip`,
"zip"
);
break;
......
......@@ -9,24 +9,24 @@
v-show="showSearch"
label-width="68px"
>
<el-form-item label="自编号" prop="selfNo">
<el-form-item :label="$t('自编号')" prop="selfNo">
<el-input
v-model="queryParams.selfNo"
placeholder="请输入自编号"
:placeholder="$t('请输入自编号')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="柜号" prop="cubNo">
<el-form-item :label="$t('柜号')" prop="cubNo">
<el-input
v-model="queryParams.cubNo"
placeholder="请输入柜号"
:placeholder="$t('请输入柜号')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="柜型" prop="cabinetId">
<el-select v-model="queryParams.cabinetId" placeholder="请选择柜型">
<el-form-item :label="$t('柜型')" prop="cabinetId">
<el-select v-model="queryParams.cabinetId" :placeholder="$t('请选择柜型')">
<el-option
v-for="item in cabinetList"
:label="item.name"
......@@ -36,28 +36,28 @@
</el-select>
</el-form-item>
<el-form-item label="始发地" prop="startWarehouseId">
<el-form-item :label="$t('始发地')" prop="startWarehouseId">
<el-select
v-model="queryParams.startWarehouseId"
placeholder="请选择始发地"
:placeholder="$t('请选择始发地')"
>
<el-option
v-for="item in exportWarehouseList"
:label="item.titleZh"
:label="$l(item, 'title')"
:value="item.id"
:key="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的地" prop="destWarehouseId">
<el-form-item :label="$t('目的地')" prop="destWarehouseId">
<el-select
v-model="queryParams.destWarehouseId"
placeholder="请选择目的地"
:placeholder="$t('请选择目的地')"
>
<el-option
v-for="item in importWarehouseList"
:label="item.titleZh"
:label="$l(item, 'title')"
:value="item.id"
:key="item.id"
></el-option>
......@@ -67,7 +67,7 @@
<el-form-item label="" prop="date">
<el-select
v-model="queryParams.dateType"
placeholder="请选择时间类型"
:placeholder="$t('请选择时间类型')"
clearable
size="small"
>
......@@ -87,32 +87,30 @@
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
start-:placeholder="$t('开始日期')"
end-:placeholder="$t('结束日期')"
/>
</el-form-item>
<el-form-item label="状态" prop="boxStatus">
<el-form-item :label="$t('状态')" prop="boxStatus">
<el-select
v-model="queryParams.boxStatus"
placeholder="请选择状态"
:placeholder="$t('请选择状态')"
clearable
size="small"
>
<el-option
v-for="dict in this.getDictDatas(DICT_TYPE.BOX_SHIPMENT_STATUS)"
:key="dict.value"
:label="dict.label"
:label="$l(dict, 'label')"
:value="dict.value"
/>
</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>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
</el-form-item>
</el-form>
......@@ -126,7 +124,7 @@
size="mini"
@click="handleAdd"
v-hasPermi="['shipment:box:create']"
>出货安排
>{{$t('出货安排')}}
</el-button>
</el-col>
<el-col :span="1.5">
......@@ -138,7 +136,7 @@
@click="handleExport"
:loading="exportLoading"
v-hasPermi="['shipment:box:export']"
>导出
>{{$t('导出')}}
</el-button>
</el-col>
<right-toolbar
......@@ -149,18 +147,18 @@
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="自编号" align="center" prop="selfNo">
<el-table-column :label="$t('自编号')" align="center" prop="selfNo">
<template slot-scope="scope">
<a href="javascript:void(0)" @click="handleCommand(scope.row, 'detail')">{{ scope.row.selfNo }}</a>
</template>
</el-table-column>
<el-table-column label="柜号" align="center" prop="cubNo" />
<el-table-column label="柜型" align="center" prop="cabinetId">
<el-table-column :label="$t('柜号')" align="center" prop="cubNo" />
<el-table-column :label="$t('柜型')" align="center" prop="cabinetId">
<template slot-scope="scope">
<span>{{ getCabinetName(scope.row.cabinetId) }}</span>
</template>
</el-table-column>
<el-table-column label="运输方式" align="center" prop="transportType">
<el-table-column :label="$t('运输方式')" align="center" prop="transportType">
<template slot-scope="scope">
<dict-tag
:type="DICT_TYPE.ECW_TRANSPORT_TYPE"
......@@ -169,14 +167,14 @@
</template>
</el-table-column>
<el-table-column label="出货渠道" align="center" prop="shippingChannelId">
<el-table-column :label="$t('出货渠道')" align="center" prop="shippingChannelId">
<template slot-scope="scope">
<span>{{ getShipChannelName(scope.row.shippingChannelId) }}</span>
</template>
</el-table-column>
<el-table-column
label="方数(预装/已装)"
:label="$t('方数') + '(' + $t('预装') + '/' + $t('已装') + ')'"
align="center"
prop="squareNumber"
>
......@@ -184,16 +182,16 @@
{{ row.boxStatistics.volume }}/{{ row.boxStatistics.loadVolume }}
</template>
</el-table-column>
<el-table-column label="重量(预装/已装)" align="center" prop="weight">
<el-table-column :label="$t('重量')+'(' + $t('预装') + '/' + $t('已装' + ')')" align="center" prop="weight">
<template slot-scope="{ row }">
{{ row.boxStatistics.weight }}/{{ row.boxStatistics.loadWeight }}
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="shipmentStatusText" />
<el-table-column :label="$t('状态')" align="center" prop="shipmentStatusText" />
<el-table-column
label="日期"
:label="$t('日期')"
align="center"
prop="createTime"
width="180"
......@@ -204,45 +202,45 @@
}}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200px">
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width" width="200px">
<template slot-scope="scope">
<!-- <el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)"
v-hasPermi="['shipment:box:query']">查看</el-button>
v-hasPermi="['shipment:box:query']">{{$t('查看')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['shipment:box:update']">修改</el-button>
v-hasPermi="['shipment:box:update']">{{$t('修改')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['shipment:box:delete']">删除</el-button> -->
v-hasPermi="['shipment:box:delete']">{{$t('删除')}}</el-button> -->
<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>
{{$t('操作')}}<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="edit">编辑</el-dropdown-item>
<el-dropdown-item command="edit">{{$t('编辑')}}</el-dropdown-item>
<el-dropdown-item command="seaAir"
>操作-海空联运</el-dropdown-item
>{{$t('操作')}}-{{$t('海空联运')}}</el-dropdown-item
>
<el-dropdown-item command="error">异常登记</el-dropdown-item>
<el-dropdown-item command="cost">费用登记</el-dropdown-item>
<el-dropdown-item command="delete">删除</el-dropdown-item>
<el-dropdown-item v-if="scope.row.ldStatus>42" command="editLadingBill">编辑提货单</el-dropdown-item>
<el-dropdown-item command="error">{{$t('异常登记')}}</el-dropdown-item>
<el-dropdown-item command="cost">{{$t('费用登记')}}</el-dropdown-item>
<el-dropdown-item command="delete">{{$t('删除')}}</el-dropdown-item>
<el-dropdown-item v-if="scope.row.ldStatus>42" command="editLadingBill">{{$t('编辑提货单')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)">
<el-button type="primary">
下载<i class="el-icon-arrow-down el-icon--right"></i>
{{$t('下载')}}<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="downloadPreloadGoodsList">预装单</el-dropdown-item>
<el-dropdown-item command="downloadLoadGoodsList">已装单</el-dropdown-item>
<el-dropdown-item command="downloadReceivableList">应收汇总表</el-dropdown-item>
<el-dropdown-item command="downloadPreloadGoodsList">{{$t('预装单')}}</el-dropdown-item>
<el-dropdown-item command="downloadLoadGoodsList">{{$t('已装单')}}</el-dropdown-item>
<el-dropdown-item command="downloadReceivableList">{{$t('应收汇总表')}}</el-dropdown-item>
<el-dropdown-item command="downloadAgentListFiles">agent list</el-dropdown-item>
<el-dropdown-item command="downloadSoncapFiles">soncap</el-dropdown-item>
<el-dropdown-item command="zipDownload">提货单</el-dropdown-item>
<el-dropdown-item command="downloadLadingCopy">提单Copy</el-dropdown-item>
<el-dropdown-item command="zipDownload">{{$t('提货单')}}</el-dropdown-item>
<el-dropdown-item command="downloadLadingCopy">{{$t('提单Copy')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
......@@ -332,12 +330,12 @@ export default {
data() {
return {
dateTypes: [
{ value: '1', label: '预装时间' },
{ value: '2', label: '装柜时间' },
{ value: '3', label: '起运时间' },
{ value: '4', label: '到港时间' },
{ value: '5', label: '清关时间' },
{ value: '6', label: '提货时间' }
{ value: '1', label: this.$t('预装时间') },
{ value: '2', label: this.$t('装柜时间') },
{ value: '3', label: this.$t('起运时间') },
{ value: '4', label: this.$t('到港时间') },
{ value: '5', label: this.$t('清关时间') },
{ value: '6', label: this.$t('提货时间') }
],
// 遮罩层
......@@ -412,7 +410,7 @@ export default {
for (let index in this.channelList) {
let channelItem = this.channelList[index]
if (channelItem.channelId == shippingChannelId) {
return channelItem.nameZh
return this.$l(channelItem, 'name')
}
}
return '/'
......@@ -478,7 +476,7 @@ export default {
},
/** 新增按钮操作 */
handleAdd() {
this.$set(this.dialogCfg, "title", "添加出货");
this.$set(this.dialogCfg, "title", this.$t("添加出货"));
this.$set(this.dialogCfg, "dialogType", "add");
this.$set(this.dialogCfg, "width", "600px");
this.$set(this.dialogCfg, "fullscreen", false);
......@@ -489,7 +487,7 @@ export default {
const id = row.id;
getbox(id).then((response) => {
this.currRow = response.data;
this.$set(this.dialogCfg, "title", "修改出货");
this.$set(this.dialogCfg, "title", this.$t("修改出货"));
this.$set(this.dialogCfg, "dialogType", "edit");
this.$set(this.dialogCfg, "width", "600px");
this.$set(this.dialogCfg, "open", true);
......@@ -507,13 +505,13 @@ export default {
handleDelete(row) {
const id = row.id
this.$modal
.confirm('是否确认删除出货编号为"' + id + '"的数据项?')
.confirm(this.$t('是否确认删除出货编号为{id}的数据项?', {id}))
.then(function () {
return deletebox(id)
})
.then(() => {
this.getList()
this.$modal.msgSuccess('删除成功')
this.$modal.msgSuccess(this.$t('删除成功'))
})
.catch(() => {})
},
......@@ -526,7 +524,7 @@ export default {
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime')
// 执行导出
this.$modal
.confirm('是否确认导出所有出货数据项?')
.confirm(this.$t('是否确认导出所有出货数据项?'))
.then(() => {
this.exportLoading = true
return exportboxExcel(params)
......@@ -559,25 +557,32 @@ export default {
case "editLadingBill":
const cabinetLabel = this.getCabinetName(row.cabinetId);
const title = `查看提单 ${row.selfNo ?? ""} 柜号:${
/* const title =
`查看提单 ${row.selfNo ?? ""} 柜号:${
row.cubNo ?? ""
} 柜型:${cabinetLabel}`;
} 柜型:${cabinetLabel}`; */
const title = this.$t('查看提单 {selfNo} 柜号:{cubNo} 柜型:{cabinetLabel}`', {
selfNo: row.selfNo,
cubNo: row.cubNo,
cabinetLabel: cabinetLabel
})
this.$set(this.dialogCfg, "title", title);
this.$set(this.dialogCfg, "fullscreen", true);
break;
case 'cost':
this.$set(this.dialogCfg, 'title', '费用登记')
this.$set(this.dialogCfg, 'title', this.$t('费用登记'))
break
case 'error':
this.$set(this.dialogCfg, 'title', '异常登记')
this.$set(this.dialogCfg, 'title', this.$t('异常登记'))
break
case "downloadPreloadGoodsList":
downloadFile(
command,
{ shipmentId: row.id },
`预装单(${row.selfNo}).xlsx`,
this.$t('预装单') + `(${row.selfNo}).xlsx`,
"xlsx"
);
break;
......@@ -585,7 +590,7 @@ export default {
downloadFile(
command,
{ shipmentId: row.id },
`已装单(${row.selfNo}).xlsx`,
this.$t('已装单') + `(${row.selfNo}).xlsx`,
"xlsx"
);
break;
......@@ -593,7 +598,7 @@ export default {
downloadFile(
command,
{ shipmentId: row.id },
`应收汇总表(${row.selfNo}).xlsx`,
this.$t('应收汇总表') + `(${row.selfNo}).xlsx`,
"xlsx"
);
break;
......@@ -601,7 +606,7 @@ export default {
downloadFile(
command,
{ shipmentId: row.id },
`提货单(${row.selfNo}).zip`,
this.$t('提货单') + `(${row.selfNo}).zip`,
"zip"
);
break;
......
<template>
<el-row class="shipping-ladingBill">
<el-row class="oper-button">
<el-button type="primary" @click="clickZipDownload">打包下载</el-button>
<el-button type="primary" @click="handleCommand('downloadReceivableList')">应收汇总表</el-button>
<el-button type="primary" @click="handleCommand('downloadLoadGoodsList')">下载已装单</el-button>
<el-button type="primary" @click="clickZipDownload">{{$t('打包下载')}}</el-button>
<el-button type="primary" @click="handleCommand('downloadReceivableList')">{{$t('应收汇总表')}}</el-button>
<el-button type="primary" @click="handleCommand('downloadLoadGoodsList')">{{$t('下载已装单')}}</el-button>
</el-row>
<el-row style="margin-top:15px">
<el-table :data="billData.list" border max-height="500px">
<el-table-column label="序号" type="index" align="center" width="50" />
<el-table-column label="订单号" align="center" prop="orderNo" />
<el-table-column label="货物信息" align="center" prop="">
<el-table-column :label="$t('序号')" type="index" align="center" width="50" />
<el-table-column :label="$t('订单号')" align="center" prop="orderNo" />
<el-table-column :label="$t('货物信息')" align="center" prop="">
<template slot-scope="scope">
<section class="table-goodList">
<div v-for="(item, index) in scope.row.orderItemList" :key="index" class="goodList-div">
<p>品名{{item.prodTitleZh}}</p>
<p>品牌:【
<p>{{$t('品名')}}{{item.prodTitleZh}}</p>
<p>{{$t('品牌')}}:【
<dict-tag :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :value="item.productRecord" />
</p>
<p>其他{{getTotlContent(item)}}</p>
<p>{{$t('其他')}}{{getTotlContent(item)}}</p>
</div>
</section>
</template>
</el-table-column>
<el-table-column label="控货" align="center" prop="">
<el-table-column :label="$t('控货')" align="center" prop="">
<template slot-scope="scope">
{{scope.row.isCargoControl}}
</template>
</el-table-column>
<el-table-column label="计划箱数" align="center" prop="loadNum">
<el-table-column :label="$t('计划箱数')" align="center" prop="loadNum">
<template slot-scope="scope">
{{ scope.row.loadNum }}
{{ scope.row.loadNum }}{{$t('')}}
</template>
</el-table-column>
<el-table-column label="实装箱数" align="center" prop="num">
<el-table-column :label="$t('实装箱数')" align="center" prop="num">
<template slot-scope="scope">
{{ scope.row.num }}
{{ scope.row.num }}{{$t('')}}
</template>
</el-table-column>
<el-table-column label="提货点" align="center" prop="destWarehouse" />
<el-table-column label="体积" align="center" prop="loadVolume">
<el-table-column :label="$t('提货点')" align="center" prop="destWarehouse" />
<el-table-column :label="$t('体积')" align="center" prop="loadVolume">
<template slot-scope="scope">
{{ scope.row.loadVolume }}
</template>
</el-table-column>
<el-table-column label="重量" align="center" prop="loadWeight">
<el-table-column :label="$t('重量')" align="center" prop="loadWeight">
<template slot-scope="scope">
{{ scope.row.loadWeight }}kg
</template>
</el-table-column>
<el-table-column label="跟进客服" align="center" prop="" />
<el-table-column label="制作" align="center" class-name="small-padding fixed-width">
<el-table-column :label="$t('跟进客服')" align="center" prop="" />
<el-table-column :label="$t('制作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<!-- 0 (未制作提货单) 1(审核中) 2(审核通过) 3(审核拒绝) -->
<el-button v-if="scope.row.status === 0" type="text" size="small" @click="handleCommand('makeBill',scope.row)">提单制作</el-button>
<el-button v-if="scope.row.status === 1" type="text" size="small" @click="handleCommand('queryBill',scope.row)">审核中</el-button>
<el-button v-if="scope.row.status === 0" type="text" size="small" @click="handleCommand('makeBill',scope.row)">{{$t('提单制作')}}</el-button>
<el-button v-if="scope.row.status === 1" type="text" size="small" @click="handleCommand('queryBill',scope.row)">{{$t('审核中')}}</el-button>
<template v-if="scope.row.status === 2">
<el-button type="text" size="small" @click="handleCommand('previewBill',scope.row)" style="color:green">已审核通过</el-button>
<el-button type="text" size="small" @click="handleCommand('queryBill',scope.row)">重新制作</el-button>
<el-button type="text" size="small" @click="handleCommand('resetBill',scope.row)" style="color:#333333">重置</el-button>
<el-button type="text" size="small" @click="handleCommand('previewBill',scope.row)" style="color:green">{{$t('已审核通过')}}</el-button>
<el-button type="text" size="small" @click="handleCommand('queryBill',scope.row)">{{$t('重新制作')}}</el-button>
<el-button type="text" size="small" @click="handleCommand('resetBill',scope.row)" style="color:#333333">{{$t('重置')}}</el-button>
</template>
<template v-if="scope.row.status === 3">
审核拒绝
{{$t('审核拒绝')}}
</template>
</template>
</el-table-column>
......@@ -142,9 +142,13 @@ export default {
},
buildTitle() {
const cabinetLabel = this.getCabinetName(this.shipmentObj.cabinetId);
const title = `查看提单 ${this.shipmentObj.selfNo ?? ""} 柜号:${
/* const title = `查看提单 ${this.shipmentObj.selfNo ?? ""} 柜号:${
this.shipmentObj.cubNo ?? ""
} 柜型:${cabinetLabel}`;
} 柜型:${cabinetLabel}`; */
const title = this.$t('查看提单 {selfNo} 柜号:{cubNo}', {
selfNo: this.shipmentObj.selfNo,
cubNo: this.shipmentObj.cubNo
})
this.$set(this.dialogCfg, "title", title);
},
closeDialog(type) {
......@@ -177,7 +181,7 @@ export default {
downloadFile(
type,
{ shipmentId: this.shipmentObj.id },
`已装单(${this.shipmentObj.selfNo}).xlsx`,
this.$t('已装单') + `(${this.shipmentObj.selfNo}).xlsx`,
"xlsx"
);
return;
......@@ -185,7 +189,7 @@ export default {
downloadFile(
type,
{ shipmentId: this.shipmentObj.id },
`应收汇总表(${this.shipmentObj.selfNo}).xlsx`,
this.$t('应收汇总表') + `(${this.shipmentObj.selfNo}).xlsx`,
"xlsx"
);
return;
......@@ -221,7 +225,7 @@ export default {
clickZipDownload() {
zipDownload({ shipmentId: this.shipmentObj.id }).then((res) => {
let blob = new Blob([res], { type: "application/zip" });
FileSaver.saveAs(blob, "打包文件.zip");
FileSaver.saveAs(blob, this.$t('打包文件') + ".zip");
});
},
},
......
<template>
<el-row class="shipping-makeLadingBill">
<el-row>
<div class="title-orderNo">订单号{{orderNo}}</div>
<div class="title-orderNo">{{$t('订单号')}}{{orderNo}}</div>
</el-row>
<el-row class="ueditor-row">
<vue-ueditor-wrap v-model="billContent" :config="editorConfig" editor-id="billUeditor" style="max-width: 690px;" />
......@@ -10,17 +10,17 @@
<!-- 审核流程 -->
<el-row class="process-area">
<div class="process">
<div>审批流程</div>
<div>{{$t('审批流程')}}</div>
<work-flow xmlkey="bill_lading" v-model="selectedUsers"></work-flow>
</div>
<div v-if="currRow.status === 1">
<el-button type="primary" disabled>审核中</el-button>
<el-button plain type="primary" @click="canclAudit">取消审核</el-button>
<el-button plain type="primary" @click="showLoaingTemplate">提单预览</el-button>
<el-button type="primary" disabled>{{$t('审核中')}}</el-button>
<el-button plain type="primary" @click="canclAudit">{{$t('取消审核')}}</el-button>
<el-button plain type="primary" @click="showLoaingTemplate">{{$t('提单预览')}}</el-button>
</div>
<div v-if="currRow.status !== 1">
<el-button type="primary" @click="submit">提交审核</el-button>
<el-button type="primary" @click="showLoaingTemplate">提单预览</el-button>
<el-button type="primary" @click="submit">{{$t('提交审核')}}</el-button>
<el-button type="primary" @click="showLoaingTemplate">{{$t('提单预览')}}</el-button>
</div>
</el-row>
......
......@@ -2,8 +2,8 @@
<el-row>
<div v-html="contentHtml" class="contentHtml"></div>
<el-row v-if="currRow.status === 2 && type === 'previewBill'" style="text-align: center;">
<el-button type="primary" @click="download">下载</el-button>
<el-button type="primary" @click="print">打印</el-button>
<el-button type="primary" @click="download">{{$t('下载')}}</el-button>
<el-button type="primary" @click="print">{{$t('打印')}}</el-button>
</el-row>
</el-row>
</template>
......@@ -48,7 +48,7 @@ export default {
})
.catch((err) => {
console.error("lodop异常", err);
alert("请检查LODOP打印控件是否安装并启动");
alert(this.$t("请检查LODOP打印控件是否安装并启动"));
});
},
},
......
......@@ -3,39 +3,39 @@
<el-row type="flex" style="margin-top: 15px; margin-bottom: 15px" justify="center">
<el-col :xs="24" :sm="24" :md="24" :lg="20" :xl="22">
<div style="display: flex; justify-content: space-between;align-items: flex-end;">
<h2>出货详情</h2>
<h2>{{$t('出货详情')}}</h2>
<div>
<el-button size="small" @click="handleCommand('edit')">编辑</el-button>
<el-button size="small" @click="handleCommand('router')">操作</el-button>
<el-button type="primary" size="small" @click="handleCommand('error')">异常登记</el-button>
<el-button type="primary" size="small" @click="handleCommand('cost')">费用登记</el-button>
<el-button type="danger" size="small" @click="handleCommand('delete')">删除</el-button>
<el-button size="small" @click="handleCommand('edit')">{{$t('编辑')}}</el-button>
<el-button size="small" @click="handleCommand('router')">{{$t('操作')}}</el-button>
<el-button type="primary" size="small" @click="handleCommand('error')">{{$t('异常登记')}}</el-button>
<el-button type="primary" size="small" @click="handleCommand('cost')">{{$t('费用登记')}}</el-button>
<el-button type="danger" size="small" @click="handleCommand('delete')">{{$t('删除')}}</el-button>
</div>
</div>
<el-card style="margin-top: 15px">
<el-descriptions :column="4" border>
<el-descriptions-item label="自编号">
<el-descriptions-item :label="$t('自编号')">
{{shipmentObj.selfNo}}
</el-descriptions-item>
<el-descriptions-item label="运输方式">
<el-descriptions-item :label="$t('运输方式')">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="shipmentObj.transportType" />
</el-descriptions-item>
<!-- <el-descriptions-item label="出货渠道">
<!-- <el-descriptions-item :label="$t('出货渠道')">
{{getShipChannelName(shipmentObj.shippingChannelId)}}
</el-descriptions-item> -->
<el-descriptions-item label="柜型">
<el-descriptions-item :label="$t('柜型')">
{{getCabinetLabel(shipmentObj.cabinetId)}}
</el-descriptions-item>
<el-descriptions-item label="状态">
<el-descriptions-item :label="$t('状态')">
{{getBoxStatus(shipmentObj)}}
</el-descriptions-item>
<el-descriptions-item label="总计">
<el-descriptions-item :label="$t('总计')">
{{getBoxSum(shipmentObj.boxStatistics)}}
</el-descriptions-item>
<el-descriptions-item label="始发地">
<el-descriptions-item :label="$t('始发地')">
{{getCityName(shipmentObj.startWarehouseId)}}
</el-descriptions-item>
<el-descriptions-item label="目的地">
<el-descriptions-item :label="$t('目的地')">
{{getCityName(shipmentObj.destWarehouseId)}}
</el-descriptions-item>
<el-descriptions-item label="SO NO">
......@@ -45,31 +45,31 @@
</el-card>
<el-tabs style="margin-top: 15px" type="border-card" value="detail">
<el-tab-pane label="明细" name="detail">
<el-tab-pane :label="$t('明细')" name="detail">
<div class="detail-pane">
<div>当前部分</div>
<el-select placeholder="请选择" v-model="sectionId" @change="sectionChange">
<el-option key="0" label="全部" value="0"></el-option>
<div>{{$t('当前部分')}}</div>
<el-select :placeholder="$t('请选择')" v-model="sectionId" @change="sectionChange">
<el-option key="0" :label="$t('全部')" value="0"></el-option>
<el-option v-for="item in sectionList" :key="item.id" :label="item.title" :value="item.id"></el-option>
</el-select>
<p class="box-weight">
{{getSectionInfo}}
</p>
<div class="document-status">
<p>单证状态</p>
<p>{{$t('单证状态')}}</p>
<template v-for="(item, index) in getDocStatus(sectionObj.sectionOrderList)">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="item" :key="index" />
</template>
</div>
</div>
<el-table :data="sectionObj.sectionOrderList" style="width: 100%" border>
<el-table-column type="index" align="center" label="序号" width="50" />
<el-table-column prop="orderNo" label="订单号" align="center">
<el-table-column type="index" align="center" :label="$t('序号')" width="50" />
<el-table-column prop="orderNo" :label="$t('订单号')" align="center">
<template v-slot="scope">
<a href="javascript:void(0)" @click="jumpOrderDetail(scope.row)">{{ scope.row.orderNo }}</a>
</template>
</el-table-column>
<el-table-column prop="goodsList" label="货物信息" width="250px" align="center">
<el-table-column prop="goodsList" :label="$t('货物信息')" width="250px" align="center">
<template v-slot="{row}">
<section>
<div v-for="(item, index) in row.goodsList" :key="index">
......@@ -78,24 +78,24 @@
</section>
</template>
</el-table-column>
<el-table-column prop="num" label="计划箱数" align="center"></el-table-column>
<el-table-column prop="installNum" label="实装箱数" align="center"></el-table-column>
<el-table-column prop="unloadNum" label="卸柜箱数" align="center"></el-table-column>
<el-table-column prop="destWarehouseName" label="提货点" align="center"></el-table-column>
<el-table-column prop="volume" label="体积" align="center"></el-table-column>
<el-table-column prop="weight" label="重量" align="center"></el-table-column>
<el-table-column prop="totalWorth" label="货值" align="center"></el-table-column>
<el-table-column prop="customsType" label="报关方式" align="center">
<el-table-column prop="num" :label="$t('计划箱数')" align="center"></el-table-column>
<el-table-column prop="installNum" :label="$t('实装箱数')" align="center"></el-table-column>
<el-table-column prop="unloadNum" :label="$t('卸柜箱数')" align="center"></el-table-column>
<el-table-column prop="destWarehouseName" :label="$t('提货点')" align="center"></el-table-column>
<el-table-column prop="volume" :label="$t('体积')" align="center"></el-table-column>
<el-table-column prop="weight" :label="$t('重量')" align="center"></el-table-column>
<el-table-column prop="totalWorth" :label="$t('货值')" align="center"></el-table-column>
<el-table-column prop="customsType" :label="$t('报关方式')" align="center">
<template slot-scope="scope">
<div :class="scope.row.customsType !== 1 ? 'customsType-red' : ''">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="scope.row.customsType" />
</div>
</template>
</el-table-column>
<el-table-column prop="customsFee" label="报关费用" align="center"></el-table-column>
<el-table-column prop="customsFee" :label="$t('报关费用')" align="center"></el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="状态" name="status">
<el-tab-pane :label="$t('状态')" name="status">
<div v-for="(item, index) in logList" :key="item.id" :class="`shipping-status ${index === 0 ? 'curr-status' : '' }`">
<div class="status-line"></div>
<div class="status-number">{{logList.length - index}}</div>
......@@ -108,47 +108,47 @@
</div>
</div>
</el-tab-pane>
<el-tab-pane label="费用" name="fee">
<el-tab-pane :label="$t('费用')" name="fee">
<el-table :data="costList" style="width: 100%" border>
<el-table-column type="index" align="center" label="序号" width="50" />
<el-table-column prop="costType" label="费用类型" align="center">
<el-table-column type="index" align="center" :label="$t('序号')" width="50" />
<el-table-column prop="costType" :label="$t('费用类型')" align="center">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.FEE_TYPE" :value="scope.row.costType" />
</template>
</el-table-column>
<el-table-column prop="supplierId" label="供应商" align="center">
<el-table-column prop="supplierId" :label="$t('供应商')" align="center">
<template slot-scope="scope">
{{getSupplier(scope.row.supplierId)}}
</template>
</el-table-column>
<el-table-column prop="price" label="金额" align="center"></el-table-column>
<el-table-column prop="" label="实付金额" align="center"></el-table-column>
<el-table-column prop="" label="实付日期" align="center"></el-table-column>
<el-table-column prop="" label="操作" align="center">
<el-table-column prop="price" :label="$t('金额')" align="center"></el-table-column>
<el-table-column prop="" :label="$t('实付金额')" align="center"></el-table-column>
<el-table-column prop="" :label="$t('实付日期')" align="center"></el-table-column>
<el-table-column prop="" :label="$t('操作')" align="center">
<template slot-scope="scope">
<el-button type="primary" size="small" @click="editCostClick(scope.row)" style="marginRight:10px;">编辑</el-button>
<el-popconfirm title="确定是否删除" @confirm="deleteCostClick(scope.row)">
<el-button type="danger" size="small" slot="reference">删除</el-button>
<el-button type="primary" size="small" @click="editCostClick(scope.row)" style="marginRight:10px;">{{$t('编辑')}}</el-button>
<el-popconfirm :title="$t('确定是否删除')" @confirm="deleteCostClick(scope.row)">
<el-button type="danger" size="small" slot="reference">{{$t('删除')}}</el-button>
</el-popconfirm>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="异常" name="error">
<el-tab-pane :label="$t('异常')" name="error">
<el-table :data="errorList" style="width: 100%" border>
<el-table-column type="index" align="center" label="序号" width="50" />
<el-table-column prop="opStep" label="操作步骤" align="center">
<el-table-column type="index" align="center" :label="$t('序号')" width="50" />
<el-table-column prop="opStep" :label="$t('操作步骤')" align="center">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PROCESS" :value="scope.row.opStep" />
</template>
</el-table-column>
<el-table-column prop="billAbnId" label="异常" align="center">
<el-table-column prop="billAbnId" :label="$t('异常')" align="center">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_TICKET_EXCEPTION" :value="scope.row.opStep" />
</template>
</el-table-column>
<el-table-column prop="abnDetail" label="异常详情" align="center" width="800"></el-table-column>
<el-table-column prop="" label="异常时间" align="center">
<el-table-column prop="abnDetail" :label="$t('异常详情')" align="center" width="800"></el-table-column>
<el-table-column prop="" :label="$t('异常时间')" align="center">
<template slot-scope="scope">
<span v-if="scope.row.abnStartTime">{{formatDate(scope.row.abnStartTime)}} - </span>
<span v-if="scope.row.abnEndTime">{{formatDate(scope.row.abnEndTime)}}</span>
......@@ -156,13 +156,13 @@
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="表单" name="download">
<el-tab-pane :label="$t('表单')" name="download">
<el-table :data="downloadList" style="width: 50%">
<el-table-column prop="title" label="文件类型"></el-table-column>
<el-table-column prop="" label="下载链接">
<el-table-column prop="title" :label="$t('文件类型')"></el-table-column>
<el-table-column prop="" :label="$t('下载链接')">
<template slot-scope="scope">
<a v-if="scope.row.serviceName" href="javascript:void(0)" @click="downloadDetailFile(scope.row)">下载</a>
<div v-else>未完成</div>
<a v-if="scope.row.serviceName" href="javascript:void(0)" @click="downloadDetailFile(scope.row)">{{$t('下载')}}</a>
<div v-else>{{$t('未完成')}}</div>
</template>
</el-table-column>
</el-table>
......@@ -273,17 +273,17 @@ export default {
costDetail: {},
// 下载
downloadList: [
{ title: "预装单", serviceName: "downloadPreloadGoodsList" },
{ title: "已装单", serviceName: "downloadLoadGoodsList" },
{ title: "应收汇总表", serviceName: "downloadReceivableList" },
{ title: "提货单", serviceName: "zipDownload", fileFormat: "zip" },
{ title: this.$t("预装单"), serviceName: "downloadPreloadGoodsList" },
{ title: this.$t("已装单"), serviceName: "downloadLoadGoodsList" },
{ title: this.$t("应收汇总表"), serviceName: "downloadReceivableList" },
{ title: this.$t("提货单"), serviceName: "zipDownload", fileFormat: "zip" },
{
title: "agent list",
serviceName: "downloadAgentListFiles",
type: "url",
},
{ title: "soncap", serviceName: "downloadSoncapFiles", type: "url" },
{ title: "提单Copy", serviceName: "downloadLadingCopy", type: "url" },
{ title: this.$t("提单Copy"), serviceName: "downloadLadingCopy", type: "url" },
],
};
},
......@@ -316,7 +316,7 @@ export default {
this.sectionList = res.data.map((item, index) => {
return {
...item,
title: `第${index + 1}部分`,
title: this.$t('第{index}部分', {index: index + 1}),
};
});
});
......@@ -363,7 +363,7 @@ export default {
// 供应商
getSupplier(id) {
let arr = this.allSupplier.find((item) => item.id == id) ?? {};
return arr.companyZh ?? "";
return this.$l(arr, 'company');
},
editCostClick(row) {
this.costDetail = row;
......@@ -388,7 +388,7 @@ export default {
switch (type) {
case "edit":
this.$set(this.dialogConfig, "visible", true);
this.$set(this.dialogConfig, "title", "修改出货");
this.$set(this.dialogConfig, "title", this.$t("修改出货"));
this.$set(this.dialogConfig, "type", "edit");
break;
......@@ -398,18 +398,18 @@ export default {
case "cost":
this.$set(this.dialogConfig, "visible", true);
this.$set(this.dialogConfig, "title", "费用登记");
this.$set(this.dialogConfig, "title", this.$t("费用登记"));
this.$set(this.dialogConfig, "type", "cost");
break;
case "error":
this.$set(this.dialogConfig, "visible", true);
this.$set(this.dialogConfig, "title", "异常登记");
this.$set(this.dialogConfig, "title", this.$t("异常登记"));
this.$set(this.dialogConfig, "type", "error");
break;
case "delete":
this.$modal
.confirm(
`是否确认删除出货编号为 ${this.shipmentObj.selfNo} 的数据项?`
$t('是否确认删除出货编号为 {no} 的数据项?', {no: this.shipmentObj.selfNo})
)
.then(() => {
return deletebox(this.shipmentId);
......@@ -483,7 +483,7 @@ export default {
return (shippingChannelId) => {
for (const channelItem of this.channelList) {
if (channelItem.channelId == shippingChannelId) {
return channelItem.nameZh;
return this.$l(channelItem, 'name');
}
}
};
......@@ -508,9 +508,13 @@ export default {
getBoxSum() {
return (boxStatistics) => {
if (boxStatistics) {
return `${boxStatistics.num ?? 0} ${boxStatistics.volume ?? 0}m3 ${
return this.$t("{num}箱 {volum}m³", {
num: boxStatistics.num ?? 0,
volume: boxStatistics.weight ?? 0
})
/* `${boxStatistics.num ?? 0} ${boxStatistics.volume ?? 0}m3 ${
boxStatistics.weight ?? 0
}kg`;
}kg`; */
}
return;
};
......@@ -519,7 +523,7 @@ export default {
getCityName() {
return (id) => {
let arr = this.warehouseList.filter((item) => item.id == id);
return arr.length > 0 ? arr[0].titleZh : "无";
return arr.length > 0 ? this.$l(arr[0], 'title') : this.$t("无");
};
},
// 部分信息
......
<template>
<div class="shippingSea-dialog">
<el-form ref="errorForm" :model="errorObj" label-width="140px">
<el-form-item label="操作步骤">
<el-select v-model="errorObj.opStep" placeholder="请选择操作步骤">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_PROCESS)" :key="type.value" :label="type.label" :value="type.value"></el-option>
<el-form-item :label="$t('操作步骤')">
<el-select v-model="errorObj.opStep" :placeholder="$t('请选择操作步骤')">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_PROCESS)" :key="type.value" :label="$l(type, 'label')" :value="type.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="票异常">
<el-select v-model="errorObj.billAbnId" placeholder="请选择票异常">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_TICKET_EXCEPTION)" :key="type.value" :label="type.label" :value="type.value"></el-option>
<el-form-item :label="$t('票异常')">
<el-select v-model="errorObj.billAbnId" :placeholder="$t('请选择票异常')">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_TICKET_EXCEPTION)" :key="type.value" :label="$l(type, 'label')" :value="type.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="异常情况">
<el-input v-model="errorObj.abnDetail" type="textarea" rows="2" placeholder="请输入异常情况"></el-input>
<el-form-item :label="$t('异常情况')">
<el-input v-model="errorObj.abnDetail" type="textarea" rows="2" :placeholder="$t('请输入异常情况')"></el-input>
</el-form-item>
<el-form-item label="异常时间" prop="arrivalTime" class="two-element">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="errorObj.abnStartTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-date-picker type="datetime" placeholder="请选择日期" v-model="errorObj.abnEndTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('异常时间')" prop="arrivalTime" class="two-element">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="errorObj.abnStartTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="errorObj.abnEndTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item label="是否更新订单状态">
<el-form-item :label="$t('是否更新订单状态')">
<el-radio-group v-model="errorObj.orderStatus">
<el-radio v-for="item in status" :key="item.value" :label="item.value">{{item.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="中文内容">
<el-input v-model="errorObj.contentZh" type="textarea" rows="2" placeholder="请输入中文内容"></el-input>
<el-form-item :label="$t('中文内容')">
<el-input v-model="errorObj.contentZh" type="textarea" rows="2" :placeholder="$t('请输入中文内容')"></el-input>
</el-form-item>
<el-form-item label="英文内容">
<el-input v-model="errorObj.contentEn" type="textarea" rows="2" placeholder="请输入英文内容"></el-input>
<el-form-item :label="$t('英文内容')">
<el-input v-model="errorObj.contentEn" type="textarea" rows="2" :placeholder="$t('请输入英文内容')"></el-input>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="success" @click="onSubmit">提交</el-button>
<el-button @click="$emit('closeDialog')">关闭</el-button>
<el-button type="success" @click="onSubmit">{{$t('提交')}}</el-button>
<el-button @click="$emit('closeDialog')">{{$t('关闭')}}</el-button>
</el-row>
</div>
</template>
......@@ -56,11 +56,11 @@ export default {
status: [
{
value: "1",
label: "",
label: this.$t(""),
},
{
value: "2",
label: "",
label: this.$t(""),
},
],
};
......
<template>
<div class="app-approvalShipping">
<h1>申请信息【出货信息</h1>
<h1>{{$t('申请信息')}}{{$t('出货信息')}}</h1>
<el-descriptions :column="6" border>
<el-descriptions-item label="自编号">{{boxBackVO.selfNo}}</el-descriptions-item>
<el-descriptions-item label="运输方式">
<el-descriptions-item :label="$t('自编号')">{{boxBackVO.selfNo}}</el-descriptions-item>
<el-descriptions-item :label="$t('运输方式')">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="boxBackVO.transportType" />
</el-descriptions-item>
<!-- <el-descriptions-item label="出货渠道">
<!-- <el-descriptions-item :label="$t('出货渠道')">
{{getShipChannelName(boxBackVO.shippingChannelId)}}
</el-descriptions-item> -->
<el-descriptions-item label="柜型">
<el-descriptions-item :label="$t('柜型')">
{{cabinetLabel}}
</el-descriptions-item>
<el-descriptions-item label="体积/重量">
{{getVolumeWeight(loadDetail.totalStatistics)}}
</el-descriptions-item>
<el-descriptions-item label="货柜状态">
<el-descriptions-item :label="$t('货柜状态')">
{{boxBackVO.shipmentStatusText}}
</el-descriptions-item>
</el-descriptions>
<el-row style="marginTop:15px">
<el-button type="primary" @click="showOrder">订单列表</el-button>
<el-button type="primary" @click="showOrder">{{$t('订单列表')}}</el-button>
</el-row>
<div v-if="approvalInfo.applyReason">
<h1>申请原因</h1>
<h1>{{$t('申请原因')}}</h1>
<div>
{{approvalInfo.applyReason}}
</div>
......@@ -33,33 +33,33 @@
<el-dialog :title="dialogConfig.title" :visible.sync="dialogConfig.visible" fullscreen :modal-append-to-body=false append-to-body>
<el-descriptions :column="6" border>
<el-descriptions-item label="自编号">{{boxBackVO.selfNo}}</el-descriptions-item>
<el-descriptions-item label="运输方式">
<el-descriptions-item :label="$t('自编号')">{{boxBackVO.selfNo}}</el-descriptions-item>
<el-descriptions-item :label="$t('运输方式')">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="boxBackVO.transportType" />
</el-descriptions-item>
<!-- <el-descriptions-item label="出货渠道">
<!-- <el-descriptions-item :label="$t('出货渠道')">
{{getShipChannelName(boxBackVO.shippingChannelId)}}
</el-descriptions-item> -->
<el-descriptions-item label="柜型">
<el-descriptions-item :label="$t('柜型')">
{{cabinetLabel}}
</el-descriptions-item>
<el-descriptions-item label="体积/重量">
<el-descriptions-item :label="$t('体积') + '/' + $t('重量')">
{{getVolumeWeight(loadDetail.totalStatistics)}}
</el-descriptions-item>
<el-descriptions-item label="货柜状态">
<el-descriptions-item :label="$t('货柜状态')">
{{boxBackVO.shipmentStatusText}}
</el-descriptions-item>
</el-descriptions>
<el-row style="marginTop:15px">
<el-table :data="loadDetail.sectionOrderList" border>
<el-table-column prop="sectionName" label="部分" align="center"></el-table-column>
<el-table-column prop="orderNo" label="订单号" align="center">
<el-table-column prop="sectionName" :label="$t('部分')" align="center"></el-table-column>
<el-table-column prop="orderNo" :label="$t('订单号')" align="center">
<template v-slot="{row}">
<el-button type="text" @click="jumpOrderDetail(row)">{{row.orderNo}}</el-button>
</template>
</el-table-column>
<el-table-column label="货物信息" align="center" width="500px">
<el-table-column :label="$t('货物信息')" align="center" width="500px">
<template v-slot="{row}">
<section>
<div v-for="(item, index) in row.goodsList" :key="index">
......@@ -69,20 +69,20 @@
</section>
</template>
</el-table-column>
<el-table-column label="入仓货物属性" align="center">
<el-table-column :label="$t('入仓货物属性')" align="center">
<template v-slot="{row}">
<section>
<div>合计:{{calcSum(row.goodsList)}}</div>
<div>{{$t('合计')}}{{calcSum(row.goodsList)}}{{$t('')}}</div>
<div v-for="(item, index) in row.goodsList" :key="index">
{{getTotlContent(item,['volume','weight'])}}
</div>
</section>
</template>
</el-table-column>
<el-table-column prop="installNum" label="实装箱数" align="center"></el-table-column>
<el-table-column prop="installNum" :label="$t('实装箱数')" align="center"></el-table-column>
<el-table-column prop="volume" label="体积m³" align="center"></el-table-column>
<el-table-column prop="weight" label="重量" align="center"></el-table-column>
<el-table-column prop="unloadNum" label="卸柜箱数" align="center" v-if="isShowColumn(boxBackVO)"></el-table-column>
<el-table-column prop="weight" :label="$t('重量')" align="center"></el-table-column>
<el-table-column prop="unloadNum" :label="$t('卸柜箱数')" align="center" v-if="isShowColumn(boxBackVO)"></el-table-column>
</el-table>
</el-row>
</el-dialog>
......@@ -156,7 +156,7 @@ export default {
this.$set(
this.dialogConfig,
"title",
`${this.boxBackVO.selfNo} 订单列表`
`${this.boxBackVO.selfNo} ` + this.$t('订单列表')
);
this.$set(this.dialogConfig, "visible", true);
},
......@@ -191,7 +191,7 @@ export default {
return (shippingChannelId) => {
for (const channelItem of this.channelList) {
if (channelItem.channelId == shippingChannelId) {
return channelItem.nameZh;
return this.$l(channelItem, 'name');
}
}
};
......
<template>
<div>
<el-form ref="agentForm" :model="agentObj" :rules="rules" label-width="120px">
<el-form-item label="代理商Agent" prop="agentId">
<supplierSelect v-model="agentObj.agentId" :companyType="'1'" placeholder="请选择代理商" :allSupplier="this.$attrs.allSupplier" />
<el-form-item :label="$t('代理商Agent')" prop="agentId">
<supplierSelect v-model="agentObj.agentId" :companyType="'1'" :placeholder="$t('请选择代理商')" :allSupplier="this.$attrs.allSupplier" />
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="success" @click="onSubmit">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="success" @click="onSubmit">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
</el-row>
</div>
</template>
......@@ -29,7 +29,7 @@ export default {
agentObj: {},
// 校验
rules: {
agentId: [{ required: true, message: "必填", trigger: "change" }],
agentId: [{ required: true, message: this.$t("必填"), trigger: "change" }],
},
};
},
......
<template>
<div>
<el-form ref="arrivalForm" :rules="rules" :model="arrivalObj" label-width="120px">
<el-form-item label="预计到港时间">{{getExpectedTime()}}</el-form-item>
<el-form-item label="实际到港时间" prop="apRealTime">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="arrivalObj.apRealTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('预计到港时间')">{{getExpectedTime()}}</el-form-item>
<el-form-item :label="$t('实际到港时间')" prop="apRealTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="arrivalObj.apRealTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item label="确认到港">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="arrivalObj.apConfirmTime" value-format="yyyy-MM-dd HH:mm:ss">
<el-form-item :label="$t('确认到港')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="arrivalObj.apConfirmTime" value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
<p class="message-area" v-show="showMsg">请确认是否有异常,如有异常请进行异常登记</p>
<p class="message-area" v-show="showMsg">{{$t('请确认是否有异常,如有异常请进行异常登记')}}</p>
</el-form-item>
<el-form-item label="卸港时间">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="arrivalObj.apUnloadPortTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('卸港时间')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="arrivalObj.apUnloadPortTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">保存</el-button>
<el-button type="success" @click="onSubmit(2)">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="exceptionReg" :disabled="!showMsg">异常登记</el-button>
<el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button>
<el-button type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
<el-button type="primary" @click="exceptionReg" :disabled="!showMsg">{{$t('异常登记')}}</el-button>
</el-row>
<!-- 对话框 -->
<el-dialog custom-class="shipping-dialog" title="票异常" :visible.sync="dialogVisible" width="700px" :modal-append-to-body=false append-to-body destroy-on-close>
<el-dialog custom-class="shipping-dialog" :title="$t('票异常')" :visible.sync="dialogVisible" width="700px" :modal-append-to-body=false append-to-body destroy-on-close>
<regError @closeDialog="dialogVisible = false" v-bind="$attrs" />
</el-dialog>
</div>
......@@ -50,7 +50,7 @@ export default {
arrivalObj: {},
// 校验
rules: {
apRealTime: [{ required: true, message: "必填", trigger: "change" }],
apRealTime: [{ required: true, message: this.$t("必填"), trigger: "change" }],
},
// 弹窗配置
dialogVisible: false,
......
<template>
<div>
<el-form ref="bargeForm" :model="bargeObj" :rules="rules" label-width="80px">
<el-form-item label="驳船" prop="bgExmtStatus">
<el-form-item :label="$t('驳船')" prop="bgExmtStatus">
<el-radio-group v-model="bargeObj.bgExmtStatus">
<el-radio v-for="item in bargeStatus" :key="item.value" :label="item.value">{{item.label}}</el-radio>
</el-radio-group>
......@@ -10,26 +10,26 @@
<div v-show="bargeObj.bgExmtStatus === '2'">
<el-row>
<el-col :span="12">
<el-form-item label="驳船预计开船时间" label-width="130px">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="bargeObj.bgEstShipTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('驳船预计开船时间')" label-width="130px">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="bargeObj.bgEstShipTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="通知人" label-width="80px">
<userSelect v-model="bargeObj.notifyUser" placeholder="请选择通知人" :allUsers="this.$attrs.allUsers" />
<el-form-item :label="$t('通知人')" label-width="80px">
<userSelect v-model="bargeObj.notifyUser" :placeholder="$t('请选择通知人')" :allUsers="this.$attrs.allUsers" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="驳船实际开船时间" label-width="130px">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="bargeObj.bgRealShipTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('驳船实际开船时间')" label-width="130px">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="bargeObj.bgRealShipTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
</div>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">保存</el-button>
<el-button type="success" @click="onSubmit(2)">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button>
<el-button type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
</el-row>
</div>
</template>
......@@ -54,7 +54,7 @@ export default {
bargeStatus: constantDict.bgExmtStatus,
// 校验
rules: {
bgExmtStatus: [{ required: true, message: "必填", trigger: "change" }],
bgExmtStatus: [{ required: true, message: this.$t("必填"), trigger: "change" }],
},
};
},
......
<template>
<div>
<el-form ref="blCopyForm" :model="blCopyObj" label-width="120px">
<el-form-item label="提单Copy">
<el-form-item :label="$t('提单Copy')">
<FileUpload :limit="1" :isShowTip=false v-model="blCopyObj.copyUrl" :fileType="fileType" />
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">保存</el-button>
<el-button type="success" @click="onSubmit(2)">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button>
<el-button type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
</el-row>
</div>
</template>
......
......@@ -2,83 +2,83 @@
<div>
<el-form ref="bookingForm" :rules="rules" :model="bookingObj" label-width="140px">
<el-form-item label="SO NO.">
<el-input v-model="bookingObj.sono" placeholder="请输入SO NO."></el-input>
<el-input v-model="bookingObj.sono" :placeholder="$t('请输入SO NO.')"></el-input>
</el-form-item>
<el-form-item label="船公司类型">
<supplierSelect v-model="bookingObj.shipCompanyType" :companyType="'9'" placeholder="请选择船公司类型" :allSupplier="this.$attrs.allSupplier" />
<el-form-item :label="$t('船公司类型')">
<supplierSelect v-model="bookingObj.shipCompanyType" :companyType="'9'" :placeholder="$t('请选择船公司类型')" :allSupplier="this.$attrs.allSupplier" />
</el-form-item>
<el-form-item label="驳船港">
<dockSelect v-model="bookingObj.bargePortId" placeholder="请选择驳船港" :allDocks="this.$attrs.allDocks" />
<el-form-item :label="$t('驳船港')">
<dockSelect v-model="bookingObj.bargePortId" :placeholder="$t('请选择驳船港')" :allDocks="this.$attrs.allDocks" />
</el-form-item>
<el-form-item label="大船港">
<dockSelect v-model="bookingObj.bigPortId" placeholder="请选择大船港" :allDocks="this.$attrs.allDocks" />
<el-form-item :label="$t('大船港')">
<dockSelect v-model="bookingObj.bigPortId" :placeholder="$t('请选择大船港')" :allDocks="this.$attrs.allDocks" />
</el-form-item>
<el-form-item label="目的港">
<dockSelect v-model="bookingObj.destPortId" placeholder="请选择目的港" :allDocks="this.$attrs.allDocks" />
<el-form-item :label="$t('目的港')">
<dockSelect v-model="bookingObj.destPortId" :placeholder="$t('请选择目的港')" :allDocks="this.$attrs.allDocks" />
</el-form-item>
<el-form-item label="订舱公司">
<supplierSelect v-model="bookingObj.spaceCompanyId" :companyType="'1'" placeholder="请选择订舱公司" :allSupplier="this.$attrs.allSupplier" />
<el-form-item :label="$t('订舱公司')">
<supplierSelect v-model="bookingObj.spaceCompanyId" :companyType="'1'" :placeholder="$t('请选择订舱公司')" :allSupplier="this.$attrs.allSupplier" />
</el-form-item>
<el-form-item label="预计驳船时间">
<el-date-picker type="datetime" placeholder="请选择日期" value-format="yyyy-MM-dd HH:mm:ss" v-model="bookingObj.bargeTime"></el-date-picker>
<el-form-item :label="$t('预计驳船时间')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" value-format="yyyy-MM-dd HH:mm:ss" v-model="bookingObj.bargeTime"></el-date-picker>
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="预计开船时间" prop="sailTime">
<el-date-picker type="datetime" placeholder="请选择日期" value-format="yyyy-MM-dd HH:mm:ss" v-model="bookingObj.sailTime"></el-date-picker>
<el-form-item :label="$t('预计开船时间')" prop="sailTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" value-format="yyyy-MM-dd HH:mm:ss" v-model="bookingObj.sailTime"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="通知人" label-width="80px">
<userSelect v-model="bookingObj.sailNotifyUser" placeholder="请选择通知人" :allUsers="this.$attrs.allUsers" />
<el-form-item :label="$t('通知人')" label-width="80px">
<userSelect v-model="bookingObj.sailNotifyUser" :placeholder="$t('请选择通知人')" :allUsers="this.$attrs.allUsers" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="预计提单补料时间">
<el-date-picker type="datetime" placeholder="请选择日期" value-format="yyyy-MM-dd HH:mm:ss" v-model="bookingObj.ladingBillTime"></el-date-picker>
<el-form-item :label="$t('预计提单补料时间')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" value-format="yyyy-MM-dd HH:mm:ss" v-model="bookingObj.ladingBillTime"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="通知人" label-width="80px">
<userSelect v-model="bookingObj.ladingBillNotifyUser" placeholder="请选择通知人" :allUsers="this.$attrs.allUsers" />
<el-form-item :label="$t('通知人')" label-width="80px">
<userSelect v-model="bookingObj.ladingBillNotifyUser" :placeholder="$t('请选择通知人')" :allUsers="this.$attrs.allUsers" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="预计报关时间">
<el-date-picker type="datetime" placeholder="请选择日期" value-format="yyyy-MM-dd HH:mm:ss" v-model="bookingObj.customsTime"></el-date-picker>
<el-form-item :label="$t('预计报关时间')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" value-format="yyyy-MM-dd HH:mm:ss" v-model="bookingObj.customsTime"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="通知人" label-width="80px">
<userSelect v-model="bookingObj.customsNotifyUser" placeholder="请选择通知人" :allUsers="this.$attrs.allUsers" />
<el-form-item :label="$t('通知人')" label-width="80px">
<userSelect v-model="bookingObj.customsNotifyUser" :placeholder="$t('请选择通知人')" :allUsers="this.$attrs.allUsers" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="预计截关时间">
<el-date-picker type="datetime" placeholder="请选择日期" value-format="yyyy-MM-dd HH:mm:ss" v-model="bookingObj.cutOffTime"></el-date-picker>
<el-form-item :label="$t('预计截关时间')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" value-format="yyyy-MM-dd HH:mm:ss" v-model="bookingObj.cutOffTime"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="通知人" label-width="80px">
<userSelect v-model="bookingObj.cutOffNotifyUser" placeholder="请选择通知人" :allUsers="this.$attrs.allUsers" />
<el-form-item :label="$t('通知人')" label-width="80px">
<userSelect v-model="bookingObj.cutOffNotifyUser" :placeholder="$t('请选择通知人')" :allUsers="this.$attrs.allUsers" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="onSubmit">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
</el-row>
</div>
......@@ -110,7 +110,7 @@ export default {
bookingObj: {},
// 校验
rules: {
sailTime: [{ required: true, message: "必填", trigger: "change" }],
sailTime: [{ required: true, message: this.$t("必填"), trigger: "change" }],
},
};
},
......
<template>
<div>
<el-form ref="cabinetForm" :rules="rules" :model="cabinetObj" label-width="80px">
<el-form-item label="到仓时间">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="cabinetObj.ldInWarehouseTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('到仓时间')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="cabinetObj.ldInWarehouseTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item label="仓库">
<el-select v-model="cabinetObj.ldWarehouseType" placeholder="请选择仓库" filterable>
<el-form-item :label="$t('仓库')">
<el-select v-model="cabinetObj.ldWarehouseType" :placeholder="$t('请选择仓库')" filterable>
<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="装柜时间" prop="ldBoxTime">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="cabinetObj.ldBoxTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('装柜时间')" prop="ldBoxTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="cabinetObj.ldBoxTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item label="出仓时间">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="cabinetObj.ldOutWarehouseTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('出仓时间')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="cabinetObj.ldOutWarehouseTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item label="装柜图片">
<el-form-item :label="$t('装柜图片')">
<ImageUpload :limit="1" :isShowTip=false v-model="cabinetObj.ldPictures" />
</el-form-item>
</el-form>
<!-- 开始装柜 -->
<el-dialog title="开始装柜" :visible.sync="dialogVisible" fullscreen :modal-append-to-body=false append-to-body>
<el-dialog :title="$t('开始装柜')" :visible.sync="dialogVisible" fullscreen :modal-append-to-body=false append-to-body>
<startPacking v-bind="$attrs" v-if="dialogVisible" v-on="$listeners" @closeDialog1="closeDialog1" />
</el-dialog>
<!-- 操作 -->
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">保存</el-button>
<el-button type="success" @click="onSubmit(2)" :disabled="isSeal">封柜</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="danger" @click="startCabinet" :disabled="isStartCabinet">开始装柜</el-button>
<el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button>
<el-button type="success" @click="onSubmit(2)" :disabled="isSeal">{{$t('封柜')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
<el-button type="danger" @click="startCabinet" :disabled="isStartCabinet">{{$t('开始装柜')}}</el-button>
</el-row>
</div>
</template>
......@@ -56,7 +56,7 @@ export default {
cabinetObj: {},
// 校验
rules: {
ldBoxTime: [{ required: true, message: "必填", trigger: "change" }],
ldBoxTime: [{ required: true, message: this.$t("必填"), trigger: "change" }],
},
};
},
......@@ -93,7 +93,7 @@ export default {
const { currNode, shipmentObj } = this.$attrs;
const status = shipmentObj[currNode.keyName];
if (status !== 46) {
this.$message.error("请先进行装柜->审批->确认封柜");
this.$message.error(this.$t("请先进行装柜->审批->确认封柜"));
return;
}
}
......
<template>
<div class="app-container shipping-split-order">
<el-card>
<div slot="header" class="card-title">拆单申请-{{orderData.orderNo||''}}</div>
<div slot="header" class="card-title">{{$t('拆单申请')}}-{{orderData.orderNo||''}}</div>
<div class="btn-header">
<span class="card-title">原单信息</span>
<span class="card-title">{{$t('原单信息')}}</span>
</div>
<el-descriptions :column="4">
<el-descriptions-item label="唛头">
{{orderData.marks?orderData.marks:''}}
<el-descriptions-item :label="$t('唛头')">
{{orderData.marks?orderData.marks:$t('')}}
</el-descriptions-item>
<el-descriptions-item label="已实装箱数/总箱数">
<span>{{currRow.installNum||0}}/{{orderData.costVO?orderData.costVO.totalNum:0}}</span>
</el-descriptions-item>
<el-descriptions-item label="订单状态">
<el-descriptions-item :label="$t('订单状态')">
{{orderData.status==99?'异常':'正常'}}
</el-descriptions-item>
<el-descriptions-item label="送货日期">
<el-descriptions-item :label="$t('送货日期')">
{{orderData.deliveryDate}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4">
<el-descriptions-item label="运输方式">
<el-descriptions-item :label="$t('运输方式')">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="orderData.transportId" />
</el-descriptions-item>
<el-descriptions-item label="始发地">
{{orderData.logisticsInfoDto?orderData.logisticsInfoDto.startTitleZh:''}}
<el-descriptions-item :label="$t('始发地')">
{{orderData.logisticsInfoDto?$l(orderData.logisticsInfoDto, 'startTitle'):$t('')}}
</el-descriptions-item>
<el-descriptions-item label="目的地">
{{orderData.logisticsInfoDto?orderData.logisticsInfoDto.destTitleZh:''}}
<el-descriptions-item :label="$t('目的地')">
{{orderData.logisticsInfoDto?$l(orderData.logisticsInfoDto, 'destTitle'):$t('')}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4">
<el-descriptions-item label="发货人姓名">
{{orderData.consignorVO?orderData.consignorVO.name||'':''}}
<el-descriptions-item :label="$t('发货人姓名')">
{{orderData.consignorVO?orderData.consignorVO.name||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item label="发货公司">
{{orderData.consignorVO?orderData.consignorVO.company||'':''}}
<el-descriptions-item :label="$t('发货公司')">
{{orderData.consignorVO?orderData.consignorVO.company||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item label="发货电话">
{{orderData.consignorVO?(orderData.consignorVO.phone?("+"+orderData.consignorVO.countryCode+orderData.consignorVO.phone):''):''}}
<el-descriptions-item :label="$t('发货电话')">
{{orderData.consignorVO?(orderData.consignorVO.phone?("+"+orderData.consignorVO.countryCode+orderData.consignorVO.phone):$t('')):$t('')}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4">
<el-descriptions-item label="收货人姓名">
{{orderData.consigneeVO?orderData.consigneeVO.name||'':''}}
<el-descriptions-item :label="$t('收货人姓名')">
{{orderData.consigneeVO?orderData.consigneeVO.name||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item label="收货公司">
{{orderData.consigneeVO?orderData.consigneeVO.company||'':''}}
<el-descriptions-item :label="$t('收货公司')">
{{orderData.consigneeVO?orderData.consigneeVO.company||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item label="收货电话">
{{orderData.consigneeVO?orderData.consigneeVO.phone?"+"+orderData.consigneeVO.countryCode+orderData.consigneeVO.phone :'':''}}
<el-descriptions-item :label="$t('收货电话')">
{{orderData.consigneeVO?orderData.consigneeVO.phone?"+"+orderData.consigneeVO.countryCode+orderData.consigneeVO.phone :$t(''):$t('')}}
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="card">
<!-- 列表 -->
<div slot="header" class="card-title">货物信息</div>
<div slot="header" class="card-title">{{$t('货物信息')}}</div>
<el-table id='table' v-loading="loading" border :data="orderData.orderItemVOList" :summary-method="getSummaries" show-summary>
<el-table-column label="序号" align="center" prop="id" type="index" width="60">
<el-table-column :label="$t('序号')" align="center" prop="id" type="index" width="60">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="品名" align="center">
<el-table-column :label="$t('品名')" align="center">
<template slot-scope="scope">
<el-row>{{scope.row.prodTitleZh}}</el-row>
<el-row>{{scope.row.prodTitleEn}}</el-row>
</template>
</el-table-column>
<el-table-column label="装柜货物属性" align="center" width="600">
<el-table-column :label="$t('装柜货物属性')" align="center" width="600">
<template slot-scope="scope">
<el-row style="text-align:left;">
<el-row>
<span>规格{{scope.row.boxGauge}}</span>
<span>{{$t('规格')}}{{scope.row.boxGauge}}</span>
</el-row>
<el-row>
<span>品牌
<span>{{$t('品牌')}}
<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="scope.row.brandType" />
</span>
<span style="margin-left: 10px;">箱数{{scope.row.warehouseInInfoVO ? scope.row.warehouseInInfoVO.cartonsNum : 0 }}</span>
<span style="margin-left: 10px;">体积{{scope.row.warehouseInInfoVO ? scope.row.warehouseInInfoVO.volume : 0 }}</span>
<span style="margin-left: 10px;">重量{{scope.row.warehouseInInfoVO ? scope.row.warehouseInInfoVO.weight : 0 }}kg</span>
<span style="margin-left: 10px;">{{$t('箱数')}}{{scope.row.warehouseInInfoVO ? scope.row.warehouseInInfoVO.cartonsNum : 0 }}</span>
<span style="margin-left: 10px;">{{$t('体积')}}{{scope.row.warehouseInInfoVO ? scope.row.warehouseInInfoVO.volume : 0 }}</span>
<span style="margin-left: 10px;">{{$t('重量')}}{{scope.row.warehouseInInfoVO ? scope.row.warehouseInInfoVO.weight : 0 }}kg</span>
</el-row>
<el-row>
<span>计划装柜:无返回</span>
<span>{{$t('计划装柜:无返回')}}</span>
</el-row>
</el-row>
</template>
</el-table-column>
<el-table-column label="最后操作时间" align="center">
<el-table-column :label="$t('最后操作时间')" align="center">
<template slot-scope="scope">
<span>{{parseTime(scope.row.updateTime)}}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center">
<el-table-column :label="$t('状态')" align="center">
{{orderData.abnormalState!=0?$t('异常'):$t('正常')}}
<!-- <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="scope.row.status" />
......@@ -105,7 +105,7 @@
<el-card class="card" v-if="splitData">
<!-- 列表 -->
<div slot="header" class="card-title">拆单信息</div>
<div slot="header" class="card-title">{{$t('拆单信息')}}</div>
<div>
<div class="btn-header">
<div>
......@@ -113,52 +113,52 @@
<span class="card-title">
{{splitData.orderNo}}
</span>
<span>{{orderData.logisticsInfoDto?orderData.logisticsInfoDto.startTitleZh:'无'}}</span>
<span>发往:{{splitData.dstWarehouseName}}</span>
<span>{{orderData.logisticsInfoDto?$l(orderData.logisticsInfoDto, 'startTitle'):$t('无')}}</span>
<span>{{$t('发往')}}:{{splitData.dstWarehouseName}}</span>
</p>
</div>
<div>
<el-button type="primary" :disabled="isAudit" @click="addShop">放入</el-button>
<el-button type="primary" :disabled="isAudit" @click="addShop">{{$t('放入')}}</el-button>
</div>
</div>
<el-table border :data="splitData.orderSplitItemBackVOList">
<el-table-column label="序号" align="center" prop="id" type="index">
<el-table-column :label="$t('序号')" align="center" prop="id" type="index">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="品名" align="center">
<el-table-column :label="$t('品名')" align="center">
<template slot-scope="scope">
<el-row>{{scope.row.prodTitleZh}}</el-row>
<el-row>{{scope.row.prodTitleEn}}</el-row>
</template>
</el-table-column>
<el-table-column label="品牌" align="center">
<el-table-column :label="$t('品牌')" align="center">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="scope.row.brandType" />
</template>
</el-table-column>
<el-table-column label="体积" align="center">
<el-table-column :label="$t('体积')" align="center">
<template slot-scope="scope">
<span>{{scope.row.volume}}</span>
</template>
</el-table-column>
<el-table-column label="重量" align="center">
<el-table-column :label="$t('重量')" align="center">
<template slot-scope="scope">
<span>{{scope.row.weight}}</span>
</template>
</el-table-column>
<el-table-column label="箱数" align="center">
<el-table-column :label="$t('箱数')" align="center">
<template slot-scope="scope">
<span>{{scope.row.num}}</span>
</template>
</el-table-column>
<el-table-column label="计划装柜" align="center">
<el-table-column :label="$t('计划装柜')" align="center">
{{$t('无')}}
</el-table-column>
<el-table-column label="操作" align="center">
<el-table-column :label="$t('操作')" align="center">
<template slot-scope="scope">
<el-button size="mini" :disabled="isAudit" type="text" icon="el-icon-delete" @click="removeShop(scope.row.id)">移出</el-button>
<el-button size="mini" :disabled="isAudit" type="text" icon="el-icon-delete" @click="removeShop(scope.row.id)">{{$t('移出')}}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -170,26 +170,26 @@
</el-row>
<div slot="footer" class="card footer_btn">
<el-button v-if="!isAudit" type="primary" @click="submitForm">提交申请</el-button>
<el-button v-if="!isAudit" plain type="primary" @click="$emit('closeDialog2')">取消</el-button>
<el-button v-if="isAudit" type="primary" @click="jumpReviewDetail">审核中</el-button>
<el-button v-if="isAudit" plain type="primary" @click="cancelSplit">取消审核</el-button>
<el-button v-if="isAudit" plain type="primary" @click="$emit('closeDialog2')">返回</el-button>
<el-button v-if="!isAudit" type="primary" @click="submitForm">{{$t('提交申请')}}</el-button>
<el-button v-if="!isAudit" plain type="primary" @click="$emit('closeDialog2')">{{$t('取消')}}</el-button>
<el-button v-if="isAudit" type="primary" @click="jumpReviewDetail">{{$t('审核中')}}</el-button>
<el-button v-if="isAudit" plain type="primary" @click="cancelSplit">{{$t('取消审核')}}</el-button>
<el-button v-if="isAudit" plain type="primary" @click="$emit('closeDialog2')">{{$t('返回')}}</el-button>
</div>
<!-- 对话框(添加 / 修改) -->
<el-dialog title="放入品名" :visible.sync="shopOpen" width="400px" append-to-body>
<el-dialog :title="$t('放入品名')" :visible.sync="shopOpen" width="400px" append-to-body>
<el-form ref="shopForm" :model="shopForm" :rules="shopRules" label-width="100px">
<el-row>
<el-form-item label="中文品名:" prop="prodTitleZh">
<el-select v-model="shopForm.zhId" placeholder="请选择中文品名" @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-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="英文品名:" prop="prodTitleEn">
<el-select v-model="shopForm.enId" placeholder="请选择英文品名" @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-select>
</el-form-item>
......@@ -205,8 +205,8 @@
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="shopAdd">确 定</el-button>
<el-button @click="shopCancel">取 消</el-button>
<el-button type="primary" @click="shopAdd">{{$t('确定')}}</el-button>
<el-button @click="shopCancel">{{$t('取消')}}</el-button>
</div>
</el-dialog>
</div>
......@@ -250,12 +250,12 @@ export default {
// 表单校验
shopRules: {
prodTitleZh: [
{ required: true, message: "请选择中文品名", trigger: "change" },
{ required: true, message: this.$t("请选择中文品名"), trigger: "change" },
],
prodTitleEn: [
{ required: true, message: "请选择英文品名", trigger: "change" },
{ required: true, message: this.$t("请选择英文品名"), trigger: "change" },
],
num: [{ required: true, message: "请输入箱数", trigger: "change" }],
num: [{ required: true, message: this.$t("请输入箱数"), trigger: "change" }],
},
queryParams: {
orderId: 0,
......@@ -364,7 +364,7 @@ export default {
getSummaries() {
const sums = [];
sums[0] = "小计";
sums[0] = this.$t("小计");
if (
!this.orderData ||
!this.orderData.orderItemVOList ||
......@@ -395,8 +395,10 @@ export default {
column.warehouseInInfoVO?.weight ?? 0
).toFixed(2);
});
sums[1] =
"下单统计:" +
sums[1] = this.$t("下单统计:{orderSum} 箱 {orderV)m³ {orderW}kg 入仓统计:{leviteSum} 箱 {leviteV)m³ {leviteW}kg", {
orderSum, orderV, orderW, leviteSum, leviteV, leviteW
})
/* "下单统计:" +
orderSum +
" 箱 " +
orderV +
......@@ -409,13 +411,13 @@ export default {
leviteV +
" m³ " +
leviteW +
" kg";
" kg"; */
return sums;
},
importCityName(id) {
let arr = this.tradeCityList.filter((item) => item.id == id);
return arr.length > 0 ? arr[0].titleZh : "";
return arr.length > 0 ? this.$l(arr[0], 'title') : this.$t("");
},
submitForm() {
const { shipmentObj } = this.$attrs;
......@@ -469,11 +471,11 @@ export default {
).toNumber();
const remain = Decimal.sub(canSplitNum, total).toNumber();
if (this.shopForm.num > remain) {
this.$message.error("放入箱数不能大于总箱数");
this.$message.error(this.$t("放入箱数不能大于总箱数"));
return;
}
if (this.shopForm.num === 0) {
this.$message.error("放入箱数不能为0");
this.$message.error(this.$t("放入箱数不能为0"));
return;
}
......@@ -484,7 +486,7 @@ export default {
remarks: this.shopForm.remarks,
};
createSplitItem(params).then((res) => {
this.$message.success("放入成功");
this.$message.success(this.$t("放入成功"));
this.getSplit();
});
this.shopOpen = false;
......@@ -493,9 +495,9 @@ export default {
},
removeShop(id) {
let that = this;
that.$confirm("是否移除货物吗?").then(function () {
that.$confirm(this.$t("是否移除货物吗?")).then(function () {
deleteSplitItem(id).then((res) => {
that.$message.success("移除成功");
that.$message.success(this.$t("移除成功"));
that.getSplit();
});
});
......@@ -503,7 +505,7 @@ export default {
cancelSplit() {
const { shipmentObj } = this.$attrs;
approvalCancel({
applyReason: "取消审核",
applyReason: this.$t("取消审核"),
id: shipmentObj["cabinetSplitInfo"].id,
shipmentId: shipmentObj.id,
}).then((res) => {
......
......@@ -22,14 +22,14 @@
<!-- 操作 -->
<el-row class="table-title">
<div>当前装柜:{{tableData.title}}</div>
<div>{{$t('当前装柜')}}:{{tableData.title}}</div>
<div>
<template v-if="!isUnderReview">
<el-input v-model="qrCode" placeholder="请输入二维码/条码编号" clearable></el-input>
<el-button type="primary" @click="handlerBatchCreate('single')">确定</el-button>
<el-button type="primary" @click="handlerClick('batchInput','批量输入')">批量输入</el-button>
<el-button type="primary" @click="handlerClick('correction','装柜纠错')">装柜纠错</el-button>
<el-button type="primary" @click="handlerClick('correctionOrder','批量装柜纠错')">批量装柜纠错</el-button>
<el-input v-model="qrCode" :placeholder="$t('请输入二维码/条码编号')" clearable></el-input>
<el-button type="primary" @click="handlerBatchCreate('single')">{{$t('确定')}}</el-button>
<el-button type="primary" @click="handlerClick('batchInput',$t('批量输入'))">{{$t('批量输入')}}</el-button>
<el-button type="primary" @click="handlerClick('correction',$t('装柜纠错'))">{{$t('装柜纠错')}}</el-button>
<el-button type="primary" @click="handlerClick('correctionOrder',$t('批量装柜纠错'))">{{$t('批量装柜纠错')}}</el-button>
</template>
</div>
</el-row>
......@@ -37,55 +37,55 @@
<!-- 表格 -->
<el-row class="table-content">
<el-table :data="tableData.sectionOrderList" border max-height="500px">
<el-table-column label="序号" type="index" align="center" width="50" />
<el-table-column label="订单号" align="center" prop="orderNo">
<el-table-column :label="$t('序号')" type="index" align="center" width="50" />
<el-table-column :label="$t('订单号')" align="center" prop="orderNo">
<template slot-scope="scope">
<div>
<a href="javascript:void(0);" class="order-href" @click="orderClick(scope.row)">{{ scope.row.orderNo }}</a>
</div>
<div style="color:blue;fontWeight:bold;">
{{ scope.row.isExternalWarehouse === 1 ? '(外部仓)' : ''}}
{{ scope.row.isExternalWarehouse === 1 ? '(' + $t('外部仓') + ')' : ''}}
</div>
</template>
</el-table-column>
<el-table-column label="货物信息" align="center" prop="goodsList">
<el-table-column :label="$t('货物信息')" align="center" prop="goodsList">
<template slot-scope="scope">
<section class="table-goodList">
<div v-for="(item, index) in scope.row.goodsList" :key="index" class="goodList-div">
<p>品名{{item.prodTitleZh}}</p>
<p>品牌:【
<p>{{$t('品名')}}{{item.prodTitleZh}}</p>
<p>{{$t('品牌')}}:【
<dict-tag :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :value="item.productRecord" />
</p>
<p>其他{{getTotlContent(item)}}</p>
<p>{{$t('其他')}}{{getTotlContent(item)}}</p>
</div>
</section>
</template>
</el-table-column>
<el-table-column label="计划箱数" align="center" prop="num">
<el-table-column :label="$t('计划箱数')" align="center" prop="num">
<template slot-scope="scope">
{{getTotlContent(scope.row,['num'])}}
</template>
</el-table-column>
<el-table-column label="实装箱数" align="center" prop="installNum">
<el-table-column :label="$t('实装箱数')" align="center" prop="installNum">
<template slot-scope="scope">
{{ scope.row.installNum }}
{{ scope.row.installNum }}{{$t('')}}
</template>
</el-table-column>
<el-table-column label="体积" align="center" prop="volume">
<el-table-column :label="$t('体积')" align="center" prop="volume">
<template slot-scope="scope">
{{getTotlContent(scope.row,['volume'])}}
</template>
</el-table-column>
<el-table-column label="重量" align="center" prop="weight">
<el-table-column :label="$t('重量')" align="center" prop="weight">
<template slot-scope="scope">
{{getTotlContent(scope.row,['weight'])}}
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button type="text" size="small" @click="moveOut(scope.row)" v-if="!isUnderReview && scope.row.installNum === 0">移出</el-button>
<el-button type="text" size="small" v-if="isShowSplitOrder(scope.row)" @click="handlerSplitOrder(scope.row, 'splitOrder','拆单')">拆单</el-button>
<el-button type="text" size="small" @click="moveOut(scope.row)" v-if="!isUnderReview && scope.row.installNum === 0">{{$t('移出')}}</el-button>
<el-button type="text" size="small" v-if="isShowSplitOrder(scope.row)" @click="handlerSplitOrder(scope.row, 'splitOrder','拆单')">{{$t('拆单')}}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -99,32 +99,32 @@
<el-row>
<el-col :span="6" class="totle-info">
<div class="count-info">
<p>总计:{{getSumData}}</p>
<p>{{$t('总计')}}:{{getSumData}}</p>
</div>
<div>
<p>容量</p>
<p>{{$t('容量')}}</p>
<p>{{calcCapacity}}</p>
</div>
<div>已装 {{getInstallNumCount}} 箱</div>
<div>{{$t('已装')}} {{getInstallNumCount}} {{$t('箱')}}</div>
</el-col>
</el-row>
<!-- 审核流程 -->
<el-row class="process-area">
<div class="process">
<div>审批流程</div>
<div>{{$t('审批流程')}}</div>
<work-flow xmlkey="close_container" v-model="selectedUsers"></work-flow>
</div>
<!-- 操作 -->
<div v-if="!isUnderReview">
<el-button type="primary" @click="handlerClick('supplementOrder','补单')">补单</el-button>
<el-button type="primary" @click="applyCloseCabinet">封柜申请</el-button>
<el-button type="primary" @click="handlerClick('modifyCabinet','修改柜信息')">修改柜信息</el-button>
<el-button type="primary" @click="handlerClick('supplementOrder','补单')">{{$t('补单')}}</el-button>
<el-button type="primary" @click="applyCloseCabinet">{{$t('封柜申请')}}</el-button>
<el-button type="primary" @click="handlerClick('modifyCabinet','修改柜信息')">{{$t('修改柜信息')}}</el-button>
</div>
<div v-if="isUnderReview">
<el-button type="primary" @click="jumpReviewDetail">封柜审核中</el-button>
<el-button plain type="primary" @click="canclAudit">取消审核</el-button>
<el-button plain type="primary" @click="$emit('closeDialog1')">返回</el-button>
<el-button type="primary" @click="jumpReviewDetail">{{$t('封柜审核中')}}</el-button>
<el-button plain type="primary" @click="canclAudit">{{$t('取消审核')}}</el-button>
<el-button plain type="primary" @click="$emit('closeDialog1')">{{$t('返回')}}</el-button>
</div>
</el-row>
......@@ -133,8 +133,8 @@
<!-- 已装未装订单 -->
<template v-if="dialogConfig.type === 'orderTable'">
<el-table :data="orderList" height="500px" border>
<el-table-column label="已装" align="center" prop="loadTag" />
<el-table-column label="未装" align="center" prop="unloadTag" />
<el-table-column :label="$t('已装')" align="center" prop="loadTag" />
<el-table-column :label="$t('未装')" align="center" prop="unloadTag" />
</el-table>
</template>
<!-- 补单 -->
......@@ -142,66 +142,66 @@
<!-- 修改柜信息 -->
<template v-if="dialogConfig.type === 'modifyCabinet' && dialogConfig.dialogVisible">
<el-form ref="modifyForm" :rules="rules" :model="modifyCabinetObj" label-width="80px">
<el-form-item label="起运仓库" prop="startWarehouseId">
<el-select v-model="modifyCabinetObj.startWarehouseId" placeholder="请选择仓库" filterable>
<el-form-item :label="$t('起运仓库')" prop="startWarehouseId">
<el-select v-model="modifyCabinetObj.startWarehouseId" :placeholder="$t('请选择仓库')" filterable>
<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="选择柜型" prop="cabinetId">
<el-select v-model="modifyCabinetObj.cabinetId" placeholder="请选择柜型">
<el-form-item :label="$t('预装日期')">{{preinstallDate}}</el-form-item>
<el-form-item :label="$t('选择柜型')" prop="cabinetId">
<el-select v-model="modifyCabinetObj.cabinetId" :placeholder="$t('请选择柜型')">
<el-option v-for="item in cabinetList" :label="item.name" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="柜号">
<el-input v-model="modifyCabinetObj.cubNo" placeholder="请输入柜号" clearable />
<el-form-item :label="$t('柜号')">
<el-input v-model="modifyCabinetObj.cubNo" :placeholder="$t('请输入柜号')" clearable />
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit('modifyForm')">下一步</el-button>
<el-button @click="closeDialog2">取消</el-button>
<el-button type="primary" @click="onSubmit('modifyForm')">{{$t('下一步')}}</el-button>
<el-button @click="closeDialog2">{{$t('取消')}}</el-button>
</el-row>
</template>
<!-- 装柜纠错 -->
<template v-if="dialogConfig.type === 'correction' && dialogConfig.dialogVisible">
<el-form ref="correctionForm" :rules="rules" :model="correctionObj" label-position="top">
<el-form-item label="装柜纠错(二维码/条形码编号)" prop="qrCode">
<el-input v-model="correctionObj.qrCode" placeholder="请输入二维码/条形码编号" clearable />
<el-form-item :label="$t('装柜纠错(二维码/条形码编号)')" prop="qrCode">
<el-input v-model="correctionObj.qrCode" :placeholder="$t('请输入二维码/条形码编号')" clearable />
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit('correctionForm')">提交</el-button>
<el-button @click="closeDialog2">取消</el-button>
<el-button type="primary" @click="onSubmit('correctionForm')">{{$t('提交')}}</el-button>
<el-button @click="closeDialog2">{{$t('取消')}}</el-button>
</el-row>
</template>
<!-- 批量装柜纠错(订单号) -->
<template v-if="dialogConfig.type === 'correctionOrder' && dialogConfig.dialogVisible">
<el-form ref="orderForm" :rules="rules" :model="orderObj" label-position="top">
<el-form-item label="装柜纠错(订单号)" prop="orderNo">
<el-input type="textarea" :rows="3" v-model="orderObj.orderNo" placeholder="请输入,多个以逗号分隔" clearable />
<el-form-item :label="$t('装柜纠错') +'(' + $t('订单号') + ')'" prop="orderNo">
<el-input type="textarea" :rows="3" v-model="orderObj.orderNo" :placeholder="$t('请输入,多个以逗号分隔')" clearable />
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit('orderForm')">提交</el-button>
<el-button @click="closeDialog2">取消</el-button>
<el-button type="primary" @click="onSubmit('orderForm')">{{$t('提交')}}</el-button>
<el-button @click="closeDialog2">{{$t('取消')}}</el-button>
</el-row>
</template>
<!-- 装柜批量输入 -->
<template v-if="dialogConfig.type === 'batchInput' && dialogConfig.dialogVisible">
<el-form ref="batchForm" :rules="rules" :model="batchObj">
<el-form-item label="" prop="qrCode" class="two-element">
<el-input v-model="batchObj.qrCode" placeholder="请输入订单号" clearable />
<el-button style="marginLeft:10px;" type="primary" @click="queryOrderInfo">确定</el-button>
<el-input v-model="batchObj.qrCode" :placeholder="$t('请输入订单号')" clearable />
<el-button style="marginLeft:10px;" type="primary" @click="queryOrderInfo">{{$t('确定')}}</el-button>
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="订单号">
<el-form-item :label="$t('订单号')">
{{boxOrderInfo.orderNo}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="箱数">
<el-form-item :label="$t('箱数')">
<el-input-number v-if="boxOrderInfo.isExternalWarehouse === 1" v-model="batchObj.boxNum" :min="0" :max="boxOrderInfo.num" />
<template v-else>
{{boxOrderInfo.num}}
......@@ -212,12 +212,12 @@
<el-row>
<el-col :span="12">
<el-form-item label="方数">
<el-form-item :label="$t('方数')">
{{getTotlContent(boxOrderInfo, ['volume'])}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="重量">
<el-form-item :label="$t('重量')">
{{getTotlContent(boxOrderInfo, ['weight'])}}
</el-form-item>
</el-col>
......@@ -225,8 +225,8 @@
</el-form>
<el-row class="operate-button">
<el-button type="primary" :disabled="boxOrderInfo.orderId ? false : true" @click="batchLoad">提交</el-button>
<el-button @click="closeDialog2">取消</el-button>
<el-button type="primary" :disabled="boxOrderInfo.orderId ? false : true" @click="batchLoad">{{$t('提交')}}</el-button>
<el-button @click="closeDialog2">{{$t('取消')}}</el-button>
</el-row>
</template>
<!-- 拆单 -->
......@@ -309,11 +309,11 @@ export default {
// 修改柜信息校验
rules: {
startWarehouseId: [
{ required: true, message: "必填", trigger: "change" },
{ required: true, message: this.$t("必填"), trigger: "change" },
],
cabinetId: [{ required: true, message: "必填", trigger: "change" }],
qrCode: [{ required: true, message: "必填", trigger: "change" }],
orderNo: [{ required: true, message: "必填", trigger: "change" }],
cabinetId: [{ required: true, message: this.$t("必填"), trigger: "change" }],
qrCode: [{ required: true, message: this.$t("必填"), trigger: "change" }],
orderNo: [{ required: true, message: this.$t("必填"), trigger: "change" }],
},
// 当前行
currRow: {},
......@@ -338,7 +338,7 @@ export default {
this.listData = data.map((item, index) => {
return {
...item,
title: `第${++index}部分`,
title: this.$t('第{index}部分', {index: 1+index}),
};
});
if (this.listData.length) {
......@@ -456,7 +456,7 @@ export default {
};
if (type === "single") {
if (!this.qrCode) {
this.$message.error("请输入二维码/条码编号");
this.$message.error(this.$t("请输入二维码/条码编号"));
return;
}
params.orderNumCode = this.qrCode;
......@@ -532,7 +532,7 @@ export default {
/* 申请封柜 */
applyCloseCabinet() {
approvalCreate({
applyReason: "封柜审核",
applyReason: this.$t("封柜审核"),
approvalStatus: 0,
approvalType: 2, // 封柜
copyUserId: this.selectedUsers,
......@@ -553,7 +553,7 @@ export default {
/* 取消审核 */
canclAudit() {
approvalCancel({
applyReason: "取消审核",
applyReason: this.$t("取消审核"),
id: this.shipmentObj["cabinetApprovalInfo"].id,
shipmentId: this.shipmentObj.id,
}).then((res) => {
......@@ -584,11 +584,11 @@ export default {
},
batchLoad() {
if (!this.boxOrderInfo.orderId) {
this.$message.error("请输入订单号");
this.$message.error(this.$t("请输入订单号"));
return;
}
if (this.batchObj.boxNum === 0) {
this.$message.error("箱数不能为0");
this.$message.error(this.$t("箱数不能为0"));
return;
}
......
......@@ -7,8 +7,8 @@
<!-- 左侧 -->
<el-col :span="6" class="left-area">
<el-row>
<el-button type="primary" @click="addPart">新增</el-button>
<el-button type="danger" @click="deletePart">删除</el-button>
<el-button type="primary" @click="addPart">{{$t('新增')}}</el-button>
<el-button type="danger" @click="deletePart">{{$t('删除')}}</el-button>
</el-row>
<el-scrollbar style="height:calc(100% - 40px)">
<el-row v-for="item in partList" :key="item.id" class="title-info" :class="item.id === partData.id ? 'selected' : ''">
......@@ -39,28 +39,28 @@
<el-col :span="18" class="right-area">
<el-row class="right-title">
<div>货物筛选</div>
<div>当前装柜:{{partData.title}}</div>
<div>可预装方数:{{unloadStatistics.volume}}m³,重量:{{unloadStatistics.weight}}Kg</div>
<div>{{$t('货物筛选')}}</div>
<div>{{$t('当前装柜')}}:{{partData.title}}</div>
<div>{{$t('可预装方数')}}:{{unloadStatistics.volume}}m³,{{$t('重量')}}:{{unloadStatistics.weight}}Kg</div>
</el-row>
<!-- 搜索工作栏 -->
<el-row>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="始发地">
<el-form-item :label="$t('始发地')">
<p>{{importCityName(queryParams.startWarehouseId)}}</p>
</el-form-item>
<el-form-item label="目的地" prop="destination">
<el-select v-model="queryParams.destWarehouseIdList" placeholder="请选择目的地" multiple>
<el-form-item :label="$t('目的地')" prop="destination">
<el-select v-model="queryParams.destWarehouseIdList" :placeholder="$t('请选择目的地')" multiple>
<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-item label="订单号" prop="orderNo">
<el-input v-model="queryParams.orderNo" placeholder="请输入订单号" clearable />
<el-form-item :label="$t('订单号')" prop="orderNo">
<el-input v-model="queryParams.orderNo" :placeholder="$t('请输入订单号')" clearable />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="queryAllData">搜索</el-button>
<el-button type="primary" icon="el-icon-search" @click="queryAllData">{{$t('搜索')}}</el-button>
</el-form-item>
</el-form>
</el-row>
......@@ -70,46 +70,46 @@
<el-row v-for="(item, index) in toBePreList" :key="index" class="toBePre-table">
<el-row class="table-title">
<div>{{item.orderNo}}</div>
<div>发往:{{item.destWarehouseName}}</div>
<div>{{$t('发往')}}:{{item.destWarehouseName}}</div>
<div>
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="item.customsType" />
</div>
<div>入仓时间:{{formatDate(item.rucangTime)}}</div>
<div>{{$t('入仓时间')}}:{{formatDate(item.rucangTime)}}</div>
<div>
<el-button type="text" @click="handleGoods('all', item)">[全部预装]</el-button>
<el-button type="text" @click="foldTable(index, item)">[{{item.fold ? '展开' : '收起'}}]</el-button>
<el-button type="text" @click="handleGoods('all', item)">[{{$t('全部预装')}}]</el-button>
<el-button type="text" @click="foldTable(index, item)">[{{item.fold ? $t('展开') : $t('收起')}}]</el-button>
</div>
</el-row>
<el-collapse-transition>
<div v-show="!item.fold">
<el-table v-loading="loading" :data="item.boxOrderItemList" border>
<el-table-column label="序号" type="index" align="center" width="50" />
<el-table-column label="品名" align="center" prop="prodTitleZh" min-width="500" />
<el-table-column label="品牌" align="center" prop="brandType" width="120">
<el-table-column :label="$t('序号')" type="index" align="center" width="50" />
<el-table-column :label="$t('品名')" align="center" :prop="$t('prodTitle')" min-width="500" />
<el-table-column :label="$t('品牌')" align="center" prop="brandType" width="120">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_BRAND_TYPE" :value="scope.row.brandType" />
</template>
</el-table-column>
<el-table-column label="箱数" align="center" prop="num" width="120" />
<el-table-column label="体积" align="center" prop="volume" width="120">
<el-table-column :label="$t('箱数')" align="center" prop="num" width="120" />
<el-table-column :label="$t('体积')" align="center" prop="volume" width="120">
<template slot-scope="scope">
<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">
<el-table-column :label="$t('重量')" align="center" prop="weight" width="120">
<template slot-scope="scope">
<p v-if="scope.row.weight">{{getTotlContent(scope.row,['weight'])}}</p>
</template>
</el-table-column>
<!-- <el-table-column label="预装柜"
<!-- <el-table-column :label="$t('预装柜')"
align="center"
prop=""
width="120">
无返回
</el-table-column> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100">
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width" width="100">
<template slot-scope="scope">
<el-button type="text" size="small" @click="handleGoods('singele',scope.row)">预装</el-button>
<el-button type="text" size="small" @click="handleGoods('singele',scope.row)">{{$t('预装')}}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -127,17 +127,17 @@
<el-row>
<el-col :span="6" class="totle-info">
<div>
<p>总计</p>
<p>{{$t('总计')}}</p>
<p>{{sumStatistics(partList)}}</p>
</div>
<div>
<p>容量</p>
<p>{{$t('容量')}}</p>
<p>{{calcCapacity}}</p>
</div>
</el-col>
</el-row>
<el-row class="button-area">
<el-button type="primary" @click="handlerFinish">完成</el-button>
<el-button type="primary" @click="handlerFinish">{{$t('完成')}}</el-button>
</el-row>
</div>
</template>
......@@ -206,7 +206,7 @@ export default {
}
return {
...item,
title: `第${++index}部分`,
title: this.$t('第{index}部分', {index: index + 1}),
};
});
......@@ -278,7 +278,7 @@ export default {
},
/* 删除部分 */
deletePart() {
this.$confirm("确认删除该部分及其已预装订单?", "提示", {
this.$confirm(this.$t("确认删除该部分及其已预装订单?"), this.$t("提示"), {
type: "warning",
})
.then((_) => {
......@@ -308,7 +308,7 @@ export default {
/* 获取城市 */
importCityName(id) {
var arr = this.$attrs.warehouseList.filter((item) => item.id == id);
return arr.length > 0 ? arr[0].titleZh : "";
return arr.length > 0 ? this.$l(arr[0], 'title') : this.$t("");
},
/* 待预装订单分页 */
pageChange(page) {
......@@ -328,7 +328,7 @@ export default {
},
/* 完成 */
handlerFinish() {
this.$confirm("确定执行操作?", "提示", {
this.$confirm(this.$t("确定执行操作?"), this.$t("提示"), {
type: "warning",
})
.then((_) => {
......
<template>
<div>
<el-form ref="cDocForm" :model="cDocObj" label-width="100px">
<el-form-item label="出单方式">
<el-select v-model="cDocObj.cdOutBillType" placeholder="请选择出单方式">
<el-form-item :label="$t('出单方式')">
<el-select v-model="cDocObj.cdOutBillType" :placeholder="$t('请选择出单方式')">
<el-option v-for="item in method" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<template v-if="cDocObj.cdOutBillType === '1'">
<el-form-item label="电放时间">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="cDocObj.cdElectricTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('电放时间')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="cDocObj.cdElectricTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item label="电放凭证附件">
<el-form-item :label="$t('电放凭证附件')">
<FileUpload :limit="1" :isShowTip=false v-model="cDocObj.cdElectricVoucher" :fileType="fileType" />
</el-form-item>
</template>
<template v-if="cDocObj.cdOutBillType === '2'">
<el-form-item label="寄送时间">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="cDocObj.cdSendTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('寄送时间')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="cDocObj.cdSendTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item label="快递单号">
<el-input v-model="cDocObj.cdBillNo" placeholder="请输入快递单号"></el-input>
<el-form-item :label="$t('快递单号')">
<el-input v-model="cDocObj.cdBillNo" :placeholder="$t('请输入快递单号')"></el-input>
</el-form-item>
</template>
......@@ -31,7 +31,7 @@
</el-radio-group>
</el-form-item>
<el-form-item>
<el-date-picker type="datetime" placeholder="请选择日期" v-model="cDocObj.cdAgentlistTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="cDocObj.cdAgentlistTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item>
<FileUpload :limit="1" :isShowTip=false v-model="cDocObj.cdAgentlistFile" :fileType="fileType" />
......@@ -43,7 +43,7 @@
</el-radio-group>
</el-form-item>
<el-form-item>
<el-date-picker type="datetime" placeholder="请选择日期" v-model="cDocObj.cdSoncapTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="cDocObj.cdSoncapTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item>
<FileUpload :limit="1" :isShowTip=false v-model="cDocObj.cdSoncapFile" :fileType="fileType" />
......@@ -51,9 +51,9 @@
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">保存</el-button>
<el-button type="success" @click="onSubmit(2)">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button>
<el-button type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
</el-row>
</div>
</template>
......
<template>
<el-select filterable :value="value === 0 ? undefined : value" @change="change" v-bind="$attrs" clearable>
<el-option v-for="dock in getDock" :key="dock.id" :label="dock.titleZh" :value="dock.id"></el-option>
<el-option v-for="dock in getDock" :key="dock.id" :label="$l(dock, 'title')" :value="dock.id"></el-option>
</el-select>
</template>
......
<template>
<el-select filterable :value="value === 0 ? undefined : value" @change="change" v-bind="$attrs" clearable>
<el-option v-for="supplier in getSuppliers" :key="supplier.id" :label="supplier.companyZh" :value="supplier.id"></el-option>
<el-option v-for="supplier in getSuppliers" :key="supplier.id" :label="$l(supplier, 'company')" :value="supplier.id"></el-option>
</el-select>
</template>
......
<template>
<div>
<el-form ref="cusClearanceForm" :rules="rules" :model="cusClearanceObj" label-width="120px">
<el-form-item label="清关代理">{{getClAgent('label')}}</el-form-item>
<el-form-item label="预计清关时间" prop="clEstTime">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="cusClearanceObj.clEstTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('清关代理')">{{getClAgent('label')}}</el-form-item>
<el-form-item :label="$t('预计清关时间')" prop="clEstTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="cusClearanceObj.clEstTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item label="清关时间" prop="clClearTime">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="cusClearanceObj.clClearTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<p class="message-area" v-show="showMsg">清关时间与预计时间不符,如有异常请登记</p>
<el-form-item :label="$t('清关时间')" prop="clClearTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="cusClearanceObj.clClearTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<p class="message-area" v-show="showMsg">{{$t('清关时间与预计时间不符,如有异常请登记')}}</p>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">保存</el-button>
<el-button type="success" @click="onSubmit(2)">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="exceptionReg" :disabled="!showMsg">异常登记</el-button>
<el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button>
<el-button type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
<el-button type="primary" @click="exceptionReg" :disabled="!showMsg">{{$t('异常登记')}}</el-button>
</el-row>
<!-- 对话框 -->
<el-dialog custom-class="shipping-dialog" title="票异常" :visible.sync="dialogVisible" width="700px" :modal-append-to-body=false append-to-body destroy-on-close>
<el-dialog custom-class="shipping-dialog" :title="$t('票异常')" :visible.sync="dialogVisible" width="700px" :modal-append-to-body=false append-to-body destroy-on-close>
<regError @closeDialog="dialogVisible = false" v-bind="$attrs" />
</el-dialog>
</div>
......@@ -46,8 +46,8 @@ export default {
cusClearanceObj: {},
// 校验
rules: {
clEstTime: [{ required: true, message: "必填", trigger: "change" }],
clClearTime: [{ required: true, message: "必填", trigger: "change" }],
clEstTime: [{ required: true, message: this.$t("必填"), trigger: "change" }],
clClearTime: [{ required: true, message: this.$t("必填"), trigger: "change" }],
},
// 弹窗配置
dialogVisible: false,
......
<template>
<div>
<el-form ref="cusDeclarationForm" :rules="rules" :model="cusDeclarationObj" label-width="120px">
<el-form-item label="单证要求">
<el-form-item :label="$t('单证要求')">
<template v-for="(item, index) in cusDeclarationObj.documentInfo">
{{
(index === 0 || index === cusDeclarationObj.documentInfo.length) ? "" :"/"
......@@ -10,32 +10,32 @@
</template>
<el-button type="primary" style="margin-left:10px;" @click="downloadVGM">{{getButtonLabel(cusDeclarationObj.documentInfo)}}</el-button>
</el-form-item>
<el-form-item label="柜重" prop="dcBoxWgt">
<el-input v-model="cusDeclarationObj.dcBoxWgt" placeholder="请输入柜重" clearable />
<el-form-item :label="$t('柜重')" prop="dcBoxWgt">
<el-input v-model="cusDeclarationObj.dcBoxWgt" :placeholder="$t('请输入柜重')" clearable />
</el-form-item>
<el-form-item label="货重" prop="dcGoodsWgt">
<el-input v-model="cusDeclarationObj.dcGoodsWgt" placeholder="请输入货重" clearable />
<el-form-item :label="$t('货重')" prop="dcGoodsWgt">
<el-input v-model="cusDeclarationObj.dcGoodsWgt" :placeholder="$t('请输入货重')" clearable />
</el-form-item>
<el-form-item label="VGM重量">
<el-input v-model="cusDeclarationObj.dcVgmWgt" placeholder="请输入VGM重量" clearable />
</el-form-item>
<el-form-item label="报关方式" prop="dcCustomsType">
<el-select v-model="cusDeclarationObj.dcCustomsType" placeholder="请选择报关方式">
<el-form-item :label="$t('报关方式')" prop="dcCustomsType">
<el-select v-model="cusDeclarationObj.dcCustomsType" :placeholder="$t('请选择报关方式')">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_CUSTOMS_TYPE)" :key="type.value" :label="type.label" :value="type.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="正常报关订单">
<el-form-item :label="$t('正常报关订单')">
<div v-for="item in shipmentObj.normalOrderList" :key="item.orderId">
<a href="javascript:void(0)" @click="jumpOrderDetail(item)">{{ item.orderNo }}</a>
</div>
</el-form-item>
<el-form-item label="报关公司名称">
<supplierSelect v-model="cusDeclarationObj.dcCompanyId" :companyType="'2'" placeholder="请选择报关公司名称" :allSupplier="this.$attrs.allSupplier" />
<el-form-item :label="$t('报关公司名称')">
<supplierSelect v-model="cusDeclarationObj.dcCompanyId" :companyType="'2'" :placeholder="$t('请选择报关公司名称')" :allSupplier="this.$attrs.allSupplier" />
</el-form-item>
<el-form-item label="截关时间">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="cusDeclarationObj.dcCutOffTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('截关时间')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="cusDeclarationObj.dcCutOffTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item label="状态" prop="dcCustomsStatus">
<el-form-item :label="$t('状态')" prop="dcCustomsStatus">
<el-radio-group v-model="cusDeclarationObj.dcCustomsStatus" :disabled="inReview || isCheckDeal('status')">
<el-radio v-for="item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_DCCUSTOMS_STATUS)" :key="item.value" :label="item.value">{{item.label}}</el-radio>
</el-radio-group>
......@@ -43,7 +43,7 @@
<!-- 查验 -->
<div v-show="cusDeclarationObj.dcCustomsStatus === '3'">
<el-form-item label="查验">
<el-form-item :label="$t('查验')">
<el-radio-group v-model="cusDeclarationObj.dcCheckStatus" :disabled="inReview || isCheckDeal('check')">
<el-radio v-for="item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_CHECK_STATUS)" :key="item.value" :label="item.value" :disabled="disabledRadio(item)">{{item.label}}</el-radio>
</el-radio-group>
......@@ -52,42 +52,42 @@
<!-- 退场 -->
<div v-show="['1','2','3'].includes(cusDeclarationObj.dcCheckStatus)">
<el-form-item label="查验时间">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="cusDeclarationObj.dcCheckTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('查验时间')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="cusDeclarationObj.dcCheckTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item label="查验前图片">
<el-form-item :label="$t('查验前图片')">
<ImageUpload :limit="1" :isShowTip=false v-model="cusDeclarationObj.dcCheckPreImg" />
</el-form-item>
<el-form-item label="新封条">
<el-input v-model="cusDeclarationObj.dcStripSeal" placeholder="请输入新封条" clearable />
<el-form-item :label="$t('新封条')">
<el-input v-model="cusDeclarationObj.dcStripSeal" :placeholder="$t('请输入新封条')" clearable />
</el-form-item>
<el-form-item label="退场状态" v-if="cusDeclarationObj.dcCheckStatus === '1' || cusDeclarationObj.dcCheckStatus === '2'">
<el-form-item :label="$t('退场状态')" v-if="cusDeclarationObj.dcCheckStatus === '1' || cusDeclarationObj.dcCheckStatus === '2'">
{{getCheckExamineStatus}}
</el-form-item>
</div>
<!-- 放行 -->
<el-form-item label="放行时间" v-show="cusDeclarationObj.dcCustomsStatus === '2' || cusDeclarationObj.dcCheckStatus === '3'">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="cusDeclarationObj.dcPassTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('放行时间')" v-show="cusDeclarationObj.dcCustomsStatus === '2' || cusDeclarationObj.dcCheckStatus === '3'">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="cusDeclarationObj.dcPassTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<!-- <el-form-item label="装箱单">
<el-button type="primary">下载装箱单</el-button>
<!-- <el-form-item :label="$t('装箱单')">
<el-button type="primary">{{$t('下载装箱单')}}</el-button>
</el-form-item> -->
<el-form-item label="报关单">
<el-button type="primary" @click="downloadCusFile">下载所有报关单</el-button>
<el-form-item :label="$t('报关单')">
<el-button type="primary" @click="downloadCusFile">{{$t('下载所有报关单')}}</el-button>
</el-form-item>
</el-form>
<el-row class="operate-button" v-if="inReview">
<el-button type="primary" @click="jumpReviewDetail">{{cusDeclarationObj.dcCheckStatus === '1' ? '全部退场审核中' : '部分退场审核中'}}</el-button>
<el-button type="primary" plain @click="canclAudit">{{cusDeclarationObj.dcCheckStatus === '1' ? '取消全部退场审核' : '取消部分退场审核'}}</el-button>
<el-button type="primary" @click="jumpReviewDetail">{{cusDeclarationObj.dcCheckStatus === '1' ? $t('全部退场审核中') : $t('部分退场审核中')}}</el-button>
<el-button type="primary" plain @click="canclAudit">{{cusDeclarationObj.dcCheckStatus === '1' ? $t('取消全部退场审核') : $t('取消部分退场审核')}}</el-button>
</el-row>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)" :disabled="isCheckDeal('submit')">保存</el-button>
<el-button type="success" v-if="!inReview" @click="onSubmit(2)" :disabled="isCheckDeal('submit')">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="extraCost" v-show="cusDeclarationObj.dcCustomsStatus === '2' || cusDeclarationObj.dcCustomsStatus === '3'">额外费用</el-button>
<el-button type="primary" @click="onSubmit(1)" :disabled="isCheckDeal('submit')">{{$t('保存')}}</el-button>
<el-button type="success" v-if="!inReview" @click="onSubmit(2)" :disabled="isCheckDeal('submit')">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
<el-button type="primary" @click="extraCost" v-show="cusDeclarationObj.dcCustomsStatus === '2' || cusDeclarationObj.dcCustomsStatus === '3'">{{$t('额外费用')}}</el-button>
</el-row>
<!-- 对话框 -->
......@@ -95,46 +95,46 @@
<el-row>
<el-row>
<el-form label-width="100px">
<el-form-item label="订单号" class="two-element">
<el-input v-model="orderNo" placeholder="请输入订单号" clearable />
<el-form-item :label="$t('订单号')" class="two-element">
<el-input v-model="orderNo" :placeholder="$t('请输入订单号')" clearable />
<el-button type="primary" icon="el-icon-search" @click="searchOrder"></el-button>
</el-form-item>
</el-form>
</el-row>
<el-row>
<el-table :data="costOrderList">
<el-table-column label="订单号" align="center" prop="orderNo" />
<el-table-column label="报关费用" align="center" prop="fee">
<el-table-column :label="$t('订单号')" align="center" prop="orderNo" />
<el-table-column :label="$t('报关费用')" align="center" prop="fee">
<template slot-scope="scope">
<el-input-number v-model="scope.row.fee" controls-position="right" :min="1"></el-input-number>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button type="primary" size="small" @click="createExtraCost(scope.row)">确定</el-button>
<el-button type="primary" size="small" @click="createExtraCost(scope.row)">{{$t('确定')}}</el-button>
</template>
</el-table-column>
</el-table>
</el-row>
<el-row class="cost-title">
<div>额外费用订单</div>
<div>{{$t('额外费用订单')}}</div>
<div>
<el-button size="small" @click="restCostList()">重置</el-button>
<el-button size="small" @click="restCostList()">{{$t('重置')}}</el-button>
</div>
</el-row>
<el-row>
<el-table :data="costList">
<el-table-column type="selection" width="55" />
<el-table-column label="订单号" align="center" prop="orderNo" />
<el-table-column label="报关费用" align="center" prop="fee" width="220px">
<el-table-column :label="$t('订单号')" align="center" prop="orderNo" />
<el-table-column :label="$t('报关费用')" align="center" prop="fee" width="220px">
<template slot-scope="scope">
<el-input-number v-model="scope.row.fee" controls-position="right" :min="1"></el-input-number>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button type="primary" size="small" @click="updateExtraCost(scope.row)">修改</el-button>
<el-button size="small" @click="restCostList(scope.row)">重置</el-button>
<el-button type="primary" size="small" @click="updateExtraCost(scope.row)">{{$t('修改')}}</el-button>
<el-button size="small" @click="restCostList(scope.row)">{{$t('重置')}}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -180,11 +180,11 @@ export default {
cusDeclarationObj: {},
// 校验
rules: {
dcBoxWgt: [{ required: true, message: "必填", trigger: "change" }],
dcGoodsWgt: [{ required: true, message: "必填", trigger: "change" }],
dcCustomsType: [{ required: true, message: "必填", trigger: "change" }],
dcBoxWgt: [{ required: true, message: this.$t("必填"), trigger: "change" }],
dcGoodsWgt: [{ required: true, message: this.$t("必填"), trigger: "change" }],
dcCustomsType: [{ required: true, message: this.$t("必填"), trigger: "change" }],
dcCustomsStatus: [
{ required: true, message: "必填", trigger: "change" },
{ required: true, message: this.$t("必填"), trigger: "change" },
],
},
// 弹窗配置
......@@ -416,7 +416,7 @@ export default {
this.$set(
this.dialogConfig,
"title",
`${this.shipmentObj.selfNo} 报关费用`
`${this.shipmentObj.selfNo} ` + this.$t('报关费用')
);
this.$set(this.dialogConfig, "dialogVisible", true);
},
......@@ -445,7 +445,7 @@ export default {
/* 取消审核 */
canclAudit() {
approvalCancel({
applyReason: "取消审核",
applyReason: this.$t("取消审核"),
id: this.shipmentObj["customsApprovalInfo"].id,
shipmentId: this.shipmentObj.id,
}).then((res) => {
......@@ -523,12 +523,12 @@ export default {
} = this.shipmentObj;
const { dcCheckStatus } = customsInfo;
if (checkExamineStatus === 1) {
return dcCheckStatus === 1 ? "退场审核中" : "部分退场审核中";
return dcCheckStatus === 1 ? this.$t("退场审核中") : this.$t("部分退场审核中");
}
if (checkExamineStatus === 2 && checkDealStatus === 0) {
return dcCheckStatus === 1
? "审核通过,退场中"
: "审核通过,部分退场中";
? this.$t("审核通过,退场中")
: this.$t("审核通过,部分退场中");
}
return "未审核";
},
......
<template>
<div class="app-departure">
<el-form ref="departureForm" :rules="rules" :model="departureObj" label-width="120px">
<el-form-item label="预计开船时间">
<el-form-item :label="$t('预计开船时间')">
{{getSailingTime()}}
</el-form-item>
<el-form-item label="实际开船时间">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="departureObj.dtRealShipTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<p class="message-area">订单状态与短信通知,将到指定时间更新与发送</p>
<p class="message-area" v-show="showMsg">实际开船实际与预计时间不符</p>
<el-form-item :label="$t('实际开船时间')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="departureObj.dtRealShipTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<p class="message-area">{{$t('订单状态与短信通知,将到指定时间更新与发送')}}</p>
<p class="message-area" v-show="showMsg">{{$t('实际开船实际与预计时间不符')}}</p>
</el-form-item>
<el-form-item label="预期到港时间" prop="dtEstArrivalTime">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="departureObj.dtEstArrivalTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('预期到港时间')" prop="dtEstArrivalTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="departureObj.dtEstArrivalTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">保存</el-button>
<el-button type="success" @click="onSubmit(2)">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="exceptionReg" :disabled="!showMsg">异常登记</el-button>
<el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button>
<el-button type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
<el-button type="primary" @click="exceptionReg" :disabled="!showMsg">{{$t('异常登记')}}</el-button>
</el-row>
<!-- 对话框 -->
<el-dialog custom-class="shipping-dialog" title="票异常" :visible.sync="dialogVisible" width="700px" :modal-append-to-body=false append-to-body destroy-on-close>
<el-dialog custom-class="shipping-dialog" :title="$t('票异常')" :visible.sync="dialogVisible" width="700px" :modal-append-to-body=false append-to-body destroy-on-close>
<regError @closeDialog="dialogVisible = false" v-bind="$attrs" />
</el-dialog>
</div>
......@@ -49,7 +49,7 @@ export default {
// 校验
rules: {
dtEstArrivalTime: [
{ required: true, message: "必填", trigger: "change" },
{ required: true, message: this.$t("必填"), trigger: "change" },
],
},
// 弹窗配置
......
......@@ -2,44 +2,44 @@
<div class="preinstall">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
<el-form-item label="入仓时间" prop="rucangtime">
<el-date-picker v-model="queryParams.rucangtime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" />
<el-form-item :label="$t('入仓时间')" prop="rucangtime">
<el-date-picker v-model="queryParams.rucangtime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange" range-separator="-" start-:placeholder="$t('开始日期')" end-:placeholder="$t('结束日期')" />
</el-form-item>
<el-form-item label="始发地" prop="startWarehouseId">
<el-select v-model="queryParams.startWarehouseId" placeholder="请选择始发地" clearable size="small">
<el-option v-for="item in exportWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
<el-form-item :label="$t('始发地')" prop="startWarehouseId">
<el-select v-model="queryParams.startWarehouseId" :placeholder="$t('请选择始发地')" clearable size="small">
<el-option v-for="item in exportWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的地" prop="destWarehouseIdList">
<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-form-item :label="$t('目的地')" prop="destWarehouseIdList">
<el-select v-model="queryParams.destWarehouseIdList" :placeholder="$t('请选择目的地')" multiple clearable>
<el-option v-for="item in importWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="状态" prop="orderStatus">
<el-select v-model="queryParams.orderStatus" placeholder="请选择状态" clearable size="small">
<el-form-item :label="$t('状态')" prop="orderStatus">
<el-select v-model="queryParams.orderStatus" :placeholder="$t('请选择状态')" clearable size="small">
<el-option v-for="item in stateOps" :label="item.label" :value="item.value" :key="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="备案" prop="productRecord">
<el-select v-model="queryParams.productRecord" placeholder="请选择备案" clearable size="small">
<el-form-item :label="$t('备案')" prop="productRecord">
<el-select v-model="queryParams.productRecord" :placeholder="$t('请选择备案')" clearable size="small">
<el-option v-for="item in filingOps" :label="item.label" :value="item.value" :key="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="报关方式" prop="customsType">
<el-select v-model="queryParams.customsType" placeholder="请选择报关方式" clearable size="small">
<el-form-item :label="$t('报关方式')" prop="customsType">
<el-select v-model="queryParams.customsType" :placeholder="$t('请选择报关方式')" clearable size="small">
<el-option v-for="item in declarationMethodOps" :label="item.label" :value="item.value" :key="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="订单号" prop="toBePreOrderNo">
<el-input v-model="queryParams.toBePreOrderNo" placeholder="请输入订单号码" clearable />
<el-form-item :label="$t('订单号')" prop="toBePreOrderNo">
<el-input v-model="queryParams.toBePreOrderNo" :placeholder="$t('请输入订单号码')" clearable />
</el-form-item>
<el-form-item label="已预装单号" prop="preOrderNo">
<el-input v-model="queryParams.preOrderNo" placeholder="请输入已预装单号" clearable />
<el-form-item :label="$t('已预装单号')" prop="preOrderNo">
<el-input v-model="queryParams.preOrderNo" :placeholder="$t('请输入已预装单号')" clearable />
</el-form-item>
<el-form-item label="品名" prop="itemName">
<el-input v-model="queryParams.itemName" placeholder="请输入品名" clearable />
<el-form-item :label="$t('品名')" prop="itemName">
<el-input v-model="queryParams.itemName" :placeholder="$t('请输入品名')" clearable />
</el-form-item>
<el-form-item label="重货比" prop="weightRatioMax">
<el-form-item :label="$t('重货比')" prop="weightRatioMax">
<el-input v-model="queryParams.weightRatioMax" placeholder="请输入 大" clearable />
</el-form-item>
<el-form-item label="" prop="weightRatioMin">
......@@ -47,9 +47,9 @@
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery('pre')">搜索已预装订单</el-button>
<el-button type="primary" icon="el-icon-search" @click="handleQuery('toBePre')">搜索待预装订单</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-button type="primary" icon="el-icon-search" @click="handleQuery('pre')">{{$t('搜索已预装订单')}}</el-button>
<el-button type="primary" icon="el-icon-search" @click="handleQuery('toBePre')">{{$t('搜索待预装订单')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
</el-form-item>
</el-form>
......@@ -62,23 +62,23 @@
<el-card style="margin-top: 15px" class="preinstall-card">
<el-row class="preinstall-title">
<div>
<p>自编号</p>
<p>{{$t('自编号')}}</p>
<p>{{shipmentObj.selfNo}}</p>
</div>
<div>
<p>柜号</p>
<p>{{$t('柜号')}}</p>
<p>{{shipmentObj.cubNo}}</p>
</div>
<div>
<p>容量</p>
<p>{{$t('容量')}}</p>
<p>{{calcCapacity}}</p>
</div>
<div>
<p>始发地</p>
<p>{{$t('始发地')}}</p>
<p>{{importCityName(shipmentObj.startWarehouseId)}}</p>
</div>
<div>
<p>目的地</p>
<p>{{$t('目的地')}}</p>
<p>{{importCityName(shipmentObj.destWarehouseId)}}</p>
</div>
</el-row>
......@@ -86,81 +86,83 @@
<!-- 已预装订单 -->
<el-col :span="12">
<el-row class="preinstall-title">
<div class="table-label">已预装订单</div>
<div class="table-label">{{$t('已预装订单')}}</div>
<div>
<p>总计</p>
<p>{{$t('总计')}}</p>
<p>{{getTotlContent(preList.loadStatistics)}}</p>
</div>
<div class="red-label">
<p>可预装方数</p>
<p>{{$t('可预装方数')}}</p>
<p>{{preList.remainVolume}}</p>
</div>
<div class="red-label">
<p>重量</p>
<p>{{$t('重量')}}</p>
<p>{{preList.remainWeight}}kg</p>
</div>
<div class="table-button">
<el-button type="success" size="small" @click="addPart" :disabled="isAudit">增加</el-button>
<el-button type="success" size="small" @click="addPart" :disabled="isAudit">{{$t('增加')}}</el-button>
</div>
</el-row>
<el-scrollbar style="height:calc(100% - 43px)">
<el-row v-for="(part, index) in preList.sectionGoodList" :key="index" class="pre-part">
<el-row class="preinstall-title">
<div class="pre-part-info">
<p>{{index+1}}部分</p>
<p>{{$t('第{index}部分', {index: index+1})}}</p>
<p>{{getTotlContent(part.secStatistics)}}</p>
</div>
<div class="table-button">
<el-button type="danger" size="small" @click="deletePart(part)" :disabled="isAudit">删除部分</el-button>
<el-button type="danger" size="small" @click="deleteOrder('selected', part)" :disabled="isAudit">删除订单</el-button>
<el-button type="primary" size="small" @click="foldTable(index, part)">{{part.fold ? '展开' : '收起'}}</el-button>
<el-button type="danger" size="small" @click="deletePart(part)" :disabled="isAudit">{{$t('删除部分')}}</el-button>
<el-button type="danger" size="small" @click="deleteOrder('selected', part)" :disabled="isAudit">{{$t('删除订单')}}</el-button>
<el-button type="primary" size="small" @click="foldTable(index, part)">{{part.fold ? $t('展开') : $t('收起')}}</el-button>
</div>
</el-row>
<el-collapse-transition>
<div v-show="!part.fold">
<el-table v-loading="preLoading" border :data="part.sectionGoodsList" @select="(selection)=>checkboxSelect(selection, part)" @select-all="(selection)=>checkboxSelect(selection, part)">
<el-table-column type="selection" align="center" width="55" fixed="left" />
<el-table-column label="订单号" align="center" prop="orderNo" width="120">
<el-table-column :label="$t('订单号')" align="center" prop="orderNo" width="120">
<template slot-scope="scope">
<div>
{{scope.row.orderNo}}
</div>
<div style="color:blue;fontWeight:bold;">
{{ scope.row.isExternalWarehouse === 1 ? '(外部仓)' : ''}}
{{ scope.row.isExternalWarehouse === 1 ? '(' +$t('外部仓')+')' : ''}}
</div>
</template>
</el-table-column>
<el-table-column label="目的地" align="center" prop="destWarehouseName" width="120" />
<el-table-column label="入仓时间" align="center" prop="rucangTime" width="120">
<el-table-column :label="$t('目的地')" align="center" prop="destWarehouseName" width="120" />
<el-table-column :label="$t('入仓时间')" align="center" prop="rucangTime" width="120">
<template slot-scope="scope">
{{formatDate(scope.row.rucangTime)}}
</template>
</el-table-column>
<el-table-column label="品名" align="center" prop="prodTitleZh" width="120" />
<el-table-column label="箱数" align="center" prop="num" />
<el-table-column label="体积/重量/重货比" align="center" width="140" prop="volumeWeight">
<el-table-column :label="$t('品名')" align="center" prop="prodTitleZh" width="120" />
<el-table-column :label="$t('箱数')" align="center" prop="num" />
<el-table-column :label="$t('体积') + '/' + $t('重量') + '/' + $t('重货比')" align="center" width="140" prop="volumeWeight">
<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">
<el-table-column :label="$t('报关方式')" align="center" prop="customsType" width="120">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="scope.row.customsType" />
</template>
</el-table-column>
<el-table-column label="备案" align="center" prop="productRecord" width="100">
<el-table-column :label="$t('备案')" align="center" prop="productRecord" width="100">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_BRAND_TYPE" :value="scope.row.productRecord" />
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width" fixed="right">
<el-table-column :label="$t('操作')" align="center" width="160" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-dropdown trigger="click" @command="(command)=>handleGoods('single',scope.row,command)" :disabled="isAudit">
<el-button type="primary" size="small" icon="el-icon-edit-outline" circle :disabled="isAudit"></el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="bPart" v-for="(bPart, index) in preList.sectionGoodList" :key="bPart.id" v-show="bPart.id !== part.id">{{index+1}}部分</el-dropdown-item>
<el-dropdown-item :command="bPart" v-for="(bPart, index) in preList.sectionGoodList" :key="bPart.id" v-show="bPart.id !== part.id">
{{$t('第{index}部分', {index: index+1})}}
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-button type="danger" size="small" icon="el-icon-minus" circle style="margin-left:10px;" @click="deleteOrder('row',scope.row)" :disabled="isAudit"></el-button>
......@@ -175,18 +177,18 @@
<!-- 待预装订单 -->
<el-col :span="12">
<el-row class="preinstall-title">
<div class="table-label red-label">待预装订单</div>
<div class="table-label red-label">{{$t('待预装订单')}}</div>
<div class="preinstall-title preinstalled">
<div class="red-label">
<p>筛选后待预装数量</p>
<p>{{$t('筛选后待预装数量')}}</p>
<p>{{getTotlContent(unloadStatistics,['num'])}}</p>
</div>
<div class="red-label">
<p>方数</p>
<p>{{$t('方数')}}</p>
<p>{{getTotlContent(unloadStatistics,['volume'])}}</p>
</div>
<div class="red-label">
<p>重量</p>
<p>{{$t('重量')}}</p>
<p>{{getTotlContent(unloadStatistics,['weight'])}}</p>
</div>
</div>
......@@ -199,7 +201,7 @@
<p>{{item.orderNo}}</p>
</div>
<div>
<p>发往</p>
<p>{{$t('发往')}}</p>
<p>{{item.destWarehouseName}}</p>
</div>
<div>
......@@ -208,57 +210,59 @@
</p>
</div>
<div>
<p>入仓时间</p>
<p>{{$t('入仓时间')}}</p>
<p>{{formatDate(item.rucangTime)}}</p>
</div>
<div>
<p>重货比</p>
<p>{{$t('重货比')}}</p>
<p>{{item.weightRatio}}</p>
</div>
<div v-if="item.isExternalWarehouse === 1" style="color:blue;fontWeight:bold;">
<p>外部仓</p>
<p>{{$t('外部仓')}}</p>
</div>
<div class="table-button">
<el-dropdown trigger="click" @command="(command)=>handleGoods('all',item,command)">
<el-button type="success" size="small" :disabled="isAudit">预装全部</el-button>
<el-button type="success" size="small" :disabled="isAudit">{{$t('预装全部')}}</el-button>
<el-dropdown-menu slot="dropdown" v-if="preList.sectionGoodList">
<el-dropdown-item :command="part" v-for="(part, index) in preList.sectionGoodList" :key="part.id">第{{index+1}}部分</el-dropdown-item>
<el-dropdown-item :command="part" v-for="(part, index) in preList.sectionGoodList" :key="part.id">
{{$t('第{index}部分', {index: index+1})}}
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</el-row>
<el-table v-loading="toBePreLoading" :data="item.boxOrderItemList" border show-summary :summary-method="getSummaries">
<el-table-column type="index" align="center" label="序号" width="50" />
<el-table-column label="品名" align="center" prop="prodTitleZh" />
<el-table-column label="备案" align="center" prop="brandType">
<el-table-column type="index" align="center" :label="$t('序号')" width="50" />
<el-table-column :label="$t('品名')" align="center" :prop="$t('prodTitle')" />
<el-table-column :label="$t('备案')" align="center" prop="brandType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_BRAND_TYPE" :value="scope.row.brandType" />
</template>
</el-table-column>
<el-table-column label="箱数" align="center" prop="num" />
<el-table-column label="体积/重量" align="center" prop="volumeWeight">
<el-table-column :label="$t('箱数')" align="center" prop="num" />
<el-table-column :label="$t('体积') +'/' + $t('重量')" align="center" prop="volumeWeight">
<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>
</template>
</el-table-column>
<el-table-column label="报关方式" align="center" prop="">
<el-table-column :label="$t('报关方式')" align="center" prop="">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="item.customsType" />
</el-table-column>
<el-table-column label="包装类型" align="center" prop="">
<el-table-column :label="$t('包装类型')" align="center" prop="">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_PACKAGING_TYPE" :value="scope.row.unit" />
</template>
</el-table-column>
<el-table-column label="材质" align="center" prop="material">
<el-table-column :label="$t('材质')" align="center" prop="material">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_PRODUCT_MATERIAL" :value="scope.row.material" />
</template>
</el-table-column>
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<!-- <el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-dropdown trigger="click" @command="(command)=>handleGoods('single',scope.row,command)">
<el-button type="primary" size="small">预装</el-button>
<el-button type="primary" size="small">{{$t('预装')}}</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="part" v-for="(part, index) in preList" :key="part.id">{{index+1}}部分</el-dropdown-item>
</el-dropdown-menu>
......@@ -276,8 +280,8 @@
<el-row style="margin-top: 15px" v-show="!isAudit">
<el-row>
<el-form ref="operatorForm" :model="operatorData" size="small" :inline="true" label-width="120px" :rules="rules">
<el-form-item label="目的地操作员" prop="noticeUser">
<userSelect v-model="operatorData.noticeUser" placeholder="请选择目的地操作员" :allUsers="this.$attrs.allUsers" size="small" />
<el-form-item :label="$t('目的地操作员')" prop="noticeUser">
<userSelect v-model="operatorData.noticeUser" :placeholder="$t('请选择目的地操作员')" :allUsers="this.$attrs.allUsers" size="small" />
</el-form-item>
</el-form>
</el-row>
......@@ -286,16 +290,16 @@
<!-- 审核流程 -->
<el-row class="process-area">
<div class="process">
<div>审批流程</div>
<div>{{$t('审批流程')}}</div>
<work-flow xmlkey="shipment_preassemble" v-model="selectedUsers"></work-flow>
</div>
<div v-show="isAudit">
<el-button type="primary" @click="jumpReviewDetail">审核中</el-button>
<el-button plain type="primary" @click="canclAudit">取消审核</el-button>
<el-button plain type="primary" @click="closeDialog">返回</el-button>
<el-button type="primary" @click="jumpReviewDetail">{{$t('审核中')}}</el-button>
<el-button plain type="primary" @click="canclAudit">{{$t('取消审核')}}</el-button>
<el-button plain type="primary" @click="closeDialog">{{$t('返回')}}</el-button>
</div>
<div v-show="!isAudit">
<el-button type="primary" @click="onSubmit">提交申请</el-button>
<el-button type="primary" @click="onSubmit">{{$t('提交申请')}}</el-button>
</div>
</el-row>
......@@ -338,8 +342,8 @@ export default {
return {
// 状态
stateOps: [
{ value: "1", label: "拆单" },
{ value: "2", label: "关联单" },
{ value: "1", label: this.$t("拆单") },
{ value: "2", label: this.$t("关联单") },
],
// 备案
filingOps: this.getDictDatas(DICT_TYPE.COMMISSION_PRODUCT_APPROVAL),
......@@ -374,7 +378,7 @@ export default {
// 校验
rules: {
noticeUser: [
{ required: true, message: "目的地操作员必填", trigger: "change" },
{ required: true, message: this.$t("目的地操作员必填"), trigger: "change" },
],
},
// 出货信息
......@@ -418,7 +422,7 @@ export default {
/* 获取城市 */
importCityName(id) {
var arr = this.$attrs.warehouseList.filter((item) => item.id == id);
return arr.length > 0 ? arr[0].titleZh : "";
return arr.length > 0 ? $l(arr[0], 'title') : this.$t("");
},
/* 选中行 */
checkboxSelect(selection, part) {
......@@ -473,7 +477,7 @@ export default {
}
approvalCreate({
...this.operatorData,
applyReason: "预装审核",
applyReason: this.$t("预装审核"),
approvalStatus: 0,
approvalType: 1, // 预装
copyUserId: this.selectedUsers,
......@@ -491,7 +495,7 @@ export default {
const sums = [];
columns.forEach((column, index) => {
if (column.property === "brandType") {
sums[index] = "合计";
sums[index] = this.$t("合计");
return;
}
if (column.property === "num") {
......@@ -550,7 +554,7 @@ export default {
},
/* 删除部分 */
deletePart(part) {
this.$confirm("确认删除该部分及其已预装订单?", "提示", {
this.$confirm(this.$t("确认删除该部分及其已预装订单?"), this.$t("提示"), {
type: "warning",
})
.then((_) => {
......@@ -598,7 +602,7 @@ export default {
// 根据parid 构建的对象
const rows = this.selectedRows[data.id] ?? [];
if (!rows.length) {
this.$message.error("请选择订单");
this.$message.error(this.$t("请选择订单"));
return;
}
ids = rows.map((item) => item.id);
......@@ -643,7 +647,7 @@ export default {
const { currNode, shipmentObj } = this.$attrs;
const { voName } = currNode;
approvalCancel({
applyReason: "取消审核",
applyReason: this.$t("取消审核"),
id: shipmentObj[voName].id,
shipmentId: shipmentObj.id,
}).then((res) => {
......
<template>
<div>
<el-form ref="reviewForm" :model="reviewObj" label-width="120px">
<el-form-item label="申请理由">
<el-input v-model="reviewObj.applyReason" type="textarea" rows="2" placeholder="请输入申请理由" :disabled="isReview"></el-input>
<el-form-item :label="$t('申请理由')">
<el-input v-model="reviewObj.applyReason" type="textarea" rows="2" :placeholder="$t('请输入申请理由')" :disabled="isReview"></el-input>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="success" @click="onSubmit" v-show="!isReview">发起申请</el-button>
<el-button type="primary" @click="jumpReviewDetail" v-show="isReview">审核中</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="success" @click="onSubmit" v-show="!isReview">{{$t('发起申请')}}</el-button>
<el-button type="primary" @click="jumpReviewDetail" v-show="isReview">{{$t('审核中')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
</el-row>
</div>
</template>
......
<template>
<div>
<el-form ref="settlementForm" :model="settlementObj" label-width="80px">
<el-form-item label="可结算">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="settlementObj.slSettlementTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('可结算')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="settlementObj.slSettlementTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item label="已结算">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="settlementObj.slSettledTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('已结算')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="settlementObj.slSettledTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">保存</el-button>
<el-button type="success" @click="onSubmit(2)">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button>
<el-button type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
</el-row>
</div>
</template>
......
<template>
<div>
<el-form ref="shipForm" :model="shipObj" :rules="rules" label-width="80px">
<el-form-item label="状态" prop="saExmtStatus">
<el-form-item :label="$t('状态')" prop="saExmtStatus">
<el-radio-group v-model="shipObj.saExmtStatus">
<el-radio v-for="item in status" :key="item.value" :label="item.value">{{item.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="配船时间" v-show="shipObj.saExmtStatus === '2'">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="shipObj.configTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('配船时间')" v-show="shipObj.saExmtStatus === '2'">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="shipObj.configTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">保存</el-button>
<el-button type="success" @click="onSubmit(2)">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button>
<el-button type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
</el-row>
</div>
</template>
......@@ -44,7 +44,7 @@ export default {
status: constantDict.saExmtStatus,
// 校验
rules: {
saExmtStatus: [{ required: true, message: "必填", trigger: "change" }],
saExmtStatus: [{ required: true, message: this.$t("必填"), trigger: "change" }],
},
};
},
......
<template>
<div>
<el-form ref="subMaterialForm" :model="subMaterialObj" label-width="140px">
<el-form-item label="代理商AGENT">
<supplierSelect v-model="subMaterialObj.agentId" :companyType="'1'" placeholder="请选择供应商" :allSupplier="this.$attrs.allSupplier" />
<el-form-item :label="$t('代理商AGENT')">
<supplierSelect v-model="subMaterialObj.agentId" :companyType="'1'" :placeholder="$t('请选择供应商')" :allSupplier="this.$attrs.allSupplier" />
</el-form-item>
<el-form-item label="提单号M/BL NO." class="two-element">
<el-input v-model="subMaterialObj.blMblNo" placeholder="请输入提单号"></el-input>
<el-button type="primary">提单确认件</el-button>
<el-input v-model="subMaterialObj.blMblNo" :placeholder="$t('请输入提单号')"></el-input>
<el-button type="primary">{{$t('提单确认件')}}</el-button>
</el-form-item>
<el-form-item label="SO NO.">
<el-input v-model="subMaterialObj.soNo" placeholder="请输入SO NO"></el-input>
<el-input v-model="subMaterialObj.soNo" :placeholder="$t('请输入SO NO')"></el-input>
</el-form-item>
<el-form-item label="装货港">
<dockSelect v-model="subMaterialObj.startPortId" placeholder="请选择装货港" :allDocks="this.$attrs.allDocks" />
<el-form-item :label="$t('装货港')">
<dockSelect v-model="subMaterialObj.startPortId" :placeholder="$t('请选择装货港')" :allDocks="this.$attrs.allDocks" />
</el-form-item>
<el-form-item label="目的港">
<dockSelect v-model="subMaterialObj.destPortId" placeholder="请选择目的港" :allDocks="this.$attrs.allDocks" />
<el-form-item :label="$t('目的港')">
<dockSelect v-model="subMaterialObj.destPortId" :placeholder="$t('请选择目的港')" :allDocks="this.$attrs.allDocks" />
</el-form-item>
<el-form-item label="船公司">
<supplierSelect v-model="subMaterialObj.shipCompanyId" :companyType="'9'" placeholder="请选择船公司" :allSupplier="this.$attrs.allSupplier" />
<el-form-item :label="$t('船公司')">
<supplierSelect v-model="subMaterialObj.shipCompanyId" :companyType="'9'" :placeholder="$t('请选择船公司')" :allSupplier="this.$attrs.allSupplier" />
</el-form-item>
<el-form-item label="托运人">
<userSelect v-model="subMaterialObj.shipperId" placeholder="请选择托运人" :allUsers="this.$attrs.allUsers" />
<el-form-item :label="$t('托运人')">
<userSelect v-model="subMaterialObj.shipperId" :placeholder="$t('请选择托运人')" :allUsers="this.$attrs.allUsers" />
</el-form-item>
<el-form-item label="收货人">
<userSelect v-model="subMaterialObj.consigneeId" placeholder="请选择收货人" :allUsers="this.$attrs.allUsers" />
<el-form-item :label="$t('收货人')">
<userSelect v-model="subMaterialObj.consigneeId" :placeholder="$t('请选择收货人')" :allUsers="this.$attrs.allUsers" />
</el-form-item>
<el-form-item label="通知方">
<userSelect v-model="subMaterialObj.notifyingId" placeholder="请选择通知方" :allUsers="this.$attrs.allUsers" />
<el-form-item :label="$t('通知方')">
<userSelect v-model="subMaterialObj.notifyingId" :placeholder="$t('请选择通知方')" :allUsers="this.$attrs.allUsers" />
</el-form-item>
<el-form-item label="Mark & No.">
<el-input v-model="subMaterialObj.markNo" placeholder="请输入Mark & No."></el-input>
</el-form-item>
<el-form-item label="包装数量与单位" class="two-element">
<el-input v-model="subMaterialObj.packageNum" placeholder="请输入包装数量"></el-input>
<el-select v-model="subMaterialObj.packageUnit" placeholder="请选择单位">
<el-option v-for="unit in units" :key="unit.id" :value="unit.id" :label="unit.titleZh"></el-option>
<el-form-item :label="$t('包装数量与单位')" class="two-element">
<el-input v-model="subMaterialObj.packageNum" :placeholder="$t('请输入包装数量')"></el-input>
<el-select v-model="subMaterialObj.packageUnit" :placeholder="$t('请选择单位')">
<el-option v-for="unit in units" :key="unit.id" :value="unit.id" :label="$l(unit, 'title')"></el-option>
</el-select>
</el-form-item>
<el-form-item label="毛重(KGS)">
<el-input v-model="subMaterialObj.kgs" placeholder="请输入毛重(KGS)"></el-input>
<el-input v-model="subMaterialObj.kgs" :placeholder="$t('请输入毛重') + '(KGS)'"></el-input>
</el-form-item>
<el-form-item label="立方数(CBM)">
<el-input v-model="subMaterialObj.cbm" placeholder="请输入立方数(CBM)"></el-input>
<el-input v-model="subMaterialObj.cbm" :placeholder="$t('请输入立方数') + '(CBM)'"></el-input>
</el-form-item>
<el-form-item label="货物描述">
<el-input v-model="subMaterialObj.goodsDesc" placeholder="请输入货物描述"></el-input>
<el-form-item :label="$t('货物描述')">
<el-input v-model="subMaterialObj.goodsDesc" :placeholder="$t('请输入货物描述')"></el-input>
</el-form-item>
<el-form-item label="柜号/封条">
<el-input v-model="subMaterialObj.containerSealNo" placeholder="请输入柜号/封条"></el-input>
<el-form-item :label="$t('柜号') + '/' + $t('封条')">
<el-input v-model="subMaterialObj.containerSealNo" :placeholder="$t('请输入柜号') + '/' + $t('封条')"></el-input>
</el-form-item>
<el-form-item label="柜型">
<el-form-item :label="$t('柜型')">
{{cabinetType}}
</el-form-item>
<el-form-item label="出单方式">
<el-form-item :label="$t('出单方式')">
<el-radio-group v-model="subMaterialObj.issueType">
<el-radio v-for="item in method" :key="item.value" :label="item.value">{{item.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="subMaterialObj.remarks" type="textarea" rows="2" placeholder="请输入备注"></el-input>
<el-form-item :label="$t('备注')">
<el-input v-model="subMaterialObj.remarks" type="textarea" rows="2" :placeholder="$t('请输入备注')"></el-input>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">保存</el-button>
<el-button type="success" @click="onSubmit(2)">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button>
<el-button type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
</el-row>
</div>
</template>
......
<template>
<div class="shipping-batchTally">
<el-row v-if="$attrs.type === 'batchTally'">
<el-button type="text" size="small" @click="()=>openStorage('all')">批量修改储位</el-button>
<el-button type="text" size="small" @click="()=>openStorage('all')">{{$t('批量修改储位')}}</el-button>
</el-row>
<el-scrollbar viewClass="tally-list">
<el-row class="tally-detail" v-for="(item, index) in storageList" :key="item.id">
<div class="status-number">{{++index}}</div>
<div class="detail-info">
<div>入仓单号{{item.orderNo}}</div>
<div>入仓统计{{getTotlContent(item)}}</div>
<div>{{$t('入仓单号')}}{{item.orderNo}}</div>
<div>{{$t('入仓统计')}}{{getTotlContent(item)}}</div>
<div class="detail-modify">
<el-tooltip effect="dark" :content="item.positionNo" placement="top">
<div>储位{{item.positionNo}}</div>
<div>{{$t('储位')}}{{item.positionNo}}</div>
</el-tooltip>
<el-button type="text" size="small" @click="()=>openStorage('single', item)">修改</el-button>
<el-button type="text" size="small" @click="()=>openStorage('single', item)">{{$t('修改')}}</el-button>
</div>
</div>
</el-row>
</el-scrollbar>
<el-row class="operate-button">
<el-button size="small" type="primary" @click="tallyModify">确定</el-button>
<el-button size="small" @click="$emit('closeDialog')">关闭</el-button>
<el-button size="small" type="primary" @click="tallyModify">{{$t('确定')}}</el-button>
<el-button size="small" @click="$emit('closeDialog')">{{$t('关闭')}}</el-button>
</el-row>
<warehouse-area-dialog ref="area" :visible.sync="visible" v-model="storageSpaces" :order-id="orderId" :warehouseId="warehouseId" :modal-append-to-body=false append-to-body />
......@@ -82,7 +82,7 @@ export default {
});
if (orderLocationList.length === 0) {
this.$message.error("没有需要修改储位的订单");
this.$message.error(this.$t("没有需要修改储位的订单"));
return;
}
......
......@@ -4,16 +4,16 @@
<el-col :xs="24" :sm="24" :md="24" :lg="20" :xl="22">
<el-card>
<el-descriptions :column="4" border>
<el-descriptions-item label="自编号">
<el-descriptions-item :label="$t('自编号')">
{{shipmentObj.selfNo}}
</el-descriptions-item>
<el-descriptions-item label="运输方式">
<el-descriptions-item :label="$t('运输方式')">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="shipmentObj.transportType" />
</el-descriptions-item>
<el-descriptions-item label="始发地">
<el-descriptions-item :label="$t('始发地')">
{{getCityName(shipmentObj.startWarehouseId)}}
</el-descriptions-item>
<el-descriptions-item label="目的地">
<el-descriptions-item :label="$t('目的地')">
{{getCityName(shipmentObj.destWarehouseId)}}
</el-descriptions-item>
</el-descriptions>
......@@ -21,14 +21,14 @@
<el-row style="margin-top: 15px">
<el-row>
<el-button size="small" type="primary" @click="()=>tallyClick('batch')">批量理货</el-button>
<el-button size="small" type="primary" @click="()=>removeClick('batch')">批量移出</el-button>
<el-button size="small" type="primary" @click="()=>tallyClick('batch')">{{$t('批量理货')}}</el-button>
<el-button size="small" type="primary" @click="()=>removeClick('batch')">{{$t('批量移出')}}</el-button>
</el-row>
<el-row style="margin-top: 5px">
<el-table border :data="tallyList" @select="checkboxSelect" @select-all="checkboxSelect" max-height="600px">
<el-table-column type="selection" align="center" width="55" fixed="left" />
<el-table-column type="index" align="center" label="序号" width="50" />
<el-table-column label="订单号" align="center" prop="orderNo">
<el-table-column type="index" align="center" :label="$t('序号')" width="50" />
<el-table-column :label="$t('订单号')" align="center" prop="orderNo">
<template slot-scope="scope">
<div>
{{scope.row.orderNo}}
......@@ -38,36 +38,36 @@
</div>
</template>
</el-table-column>
<el-table-column label="商品信息" width="250px" align="center" prop="prodTitleZh">
<el-table-column :label="$t('商品信息')" width="250px" align="center" prop="prodTitleZh">
</el-table-column>
<el-table-column label="备案" align="center" prop="productRecord">
<el-table-column :label="$t('备案')" align="center" prop="productRecord">
<template v-slot="{row}">
<dict-tag :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :value="row.productRecord" />
</template>
</el-table-column>
<el-table-column label="箱数" align="center" prop="num" />
<el-table-column label="纸箱尺寸" align="center" prop="warehouseInInfo.boxGauge">
<el-table-column :label="$t('箱数')" align="center" prop="num" />
<el-table-column :label="$t('纸箱尺寸')" align="center" prop="warehouseInInfo.boxGauge">
</el-table-column>
<el-table-column label="体积" align="center" prop="volume">
<el-table-column :label="$t('体积')" align="center" prop="volume">
</el-table-column>
<el-table-column label="重量" align="center" prop="weight">
<el-table-column :label="$t('重量')" align="center" prop="weight">
</el-table-column>
<el-table-column label="数量(个)" align="center" prop="quantity"></el-table-column>
<el-table-column label="储位" align="center" prop="positionNo" width="250px"></el-table-column>
<el-table-column label="状态" align="center" prop="tallyStatus">
<el-table-column :label="$t('储位')" align="center" prop="positionNo" width="250px"></el-table-column>
<el-table-column :label="$t('状态')" align="center" prop="tallyStatus">
<template slot-scope="scope">
{{scope.row.tallyStatus === 1 ? '已理货' : '未理货'}}
{{scope.row.tallyStatus === 1 ? $t('已理货') : $t('未理货')}}
</template>
</el-table-column>
<el-table-column label="理货时间" align="center" prop="tallyTime">
<el-table-column :label="$t('理货时间')" align="center" prop="tallyTime">
<template slot-scope="scope">
{{formatDate(scope.row.tallyTime,'YYYY-MM-DD HH:mm:ss')}}
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width" fixed="right">
<el-table-column :label="$t('操作')" align="center" width="160" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-button type="text" size="small" @click="tallyClick('single',scope.row)">理货</el-button>
<el-button type="text" size="small" @click="removeClick('single',scope.row)">移出</el-button>
<el-button type="text" size="small" @click="tallyClick('single',scope.row)">{{$t('理货')}}</el-button>
<el-button type="text" size="small" @click="removeClick('single',scope.row)">{{$t('移出')}}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -75,8 +75,8 @@
</el-row>
<el-row style="margin-top: 15px" class="operate-button">
<el-button size="small" type="primary" @click="tallyFinish">完成理货</el-button>
<el-button size="small" @click="cancel">取消</el-button>
<el-button size="small" type="primary" @click="tallyFinish">{{$t('完成理货')}}</el-button>
<el-button size="small" @click="cancel">{{$t('取消')}}</el-button>
</el-row>
</el-col>
</el-row>
......@@ -155,7 +155,7 @@ export default {
tallyClick(type, data) {
if (type === "batch") {
if (this.selectedRows.length === 0) {
this.$message.error("请选择需要理货的订单");
this.$message.error(this.$t("请选择需要理货的订单"));
return;
}
this.tallyRows = this.selectedRows;
......@@ -171,7 +171,7 @@ export default {
orderIds = [];
if (type === "batch") {
if (this.selectedRows.length === 0) {
this.$message.error("请选择需要移出的订单");
this.$message.error(this.$t("请选择需要移出的订单"));
return;
}
orderNos = this.selectedRows.map((item) => item.orderNo);
......@@ -181,11 +181,12 @@ export default {
orderIds = [data.orderId];
}
let msgTitle = `您确定要将 ${orderNos.join("")} 移出 ${
this.shipmentObj.selfNo
} 吗?`;
let msgTitle = this.$t('您确定要将 {no} 移出 {selfNo} 吗?', {
no: orderNos.join(""),
selfNo: this.shipmentObj.selfNo
});
this.$confirm(msgTitle, "提示", {
this.$confirm(msgTitle, this.$t("提示"), {
type: "warning",
})
.then((_) => {
......@@ -211,11 +212,11 @@ export default {
showDialog(type) {
switch (type) {
case "batchTally":
this.$set(this.dialogConfig, "title", "批量理货");
this.$set(this.dialogConfig, "title", this.$t("批量理货"));
this.$set(this.dialogConfig, "width", "500px");
break;
case "singleTally":
this.$set(this.dialogConfig, "title", "理货确认");
this.$set(this.dialogConfig, "title", this.$t("理货确认"));
this.$set(this.dialogConfig, "width", "500px");
break;
}
......@@ -240,7 +241,7 @@ export default {
getCityName() {
return (id) => {
let arr = this.$attrs.warehouseList.filter((item) => item.id == id);
return arr.length > 0 ? arr[0].titleZh : "";
return arr.length > 0 ? $l(arr[0], 'title') : this.$t("");
};
},
},
......
<template>
<div>
<el-form ref="trailerForm" :rules="rules" :model="trailerObj" label-width="120px">
<el-form-item label="状态">
<el-select v-model="trailerObj.tlContainerStatus" placeholder="请选择状态">
<el-form-item :label="$t('状态')">
<el-select v-model="trailerObj.tlContainerStatus" :placeholder="$t('请选择状态')">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_TRAILER_STATUS)" :key="type.value" :label="type.label" :value="type.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="拖车公司">
<supplierSelect v-model="trailerObj.tlCompanyId" :companyType="'4'" placeholder="请选择拖车公司" :allSupplier="this.$attrs.allSupplier" />
<el-form-item :label="$t('拖车公司')">
<supplierSelect v-model="trailerObj.tlCompanyId" :companyType="'4'" :placeholder="$t('请选择拖车公司')" :allSupplier="this.$attrs.allSupplier" />
</el-form-item>
<el-form-item label="拖车时间" prop="tlTime">
<el-date-picker type="datetime" placeholder="请选择日期" value-format="yyyy-MM-dd HH:mm:ss" v-model="trailerObj.tlTime"></el-date-picker>
<el-form-item :label="$t('拖车时间')" prop="tlTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" value-format="yyyy-MM-dd HH:mm:ss" v-model="trailerObj.tlTime"></el-date-picker>
</el-form-item>
<el-form-item label="车牌">
<el-input v-model="trailerObj.tlLicensePlate " placeholder="请输入车牌"></el-input>
<el-form-item :label="$t('车牌')">
<el-input v-model="trailerObj.tlLicensePlate " :placeholder="$t('请输入车牌')"></el-input>
</el-form-item>
<el-form-item label="司机">
<el-input v-model="trailerObj.tlDriver" placeholder="请输入司机"></el-input>
<el-form-item :label="$t('司机')">
<el-input v-model="trailerObj.tlDriver" :placeholder="$t('请输入司机')"></el-input>
</el-form-item>
<el-form-item label="司机联系方式">
<el-input v-model="trailerObj.tlDriverContact" placeholder="请输入司机联系方式"></el-input>
<el-form-item :label="$t('司机联系方式')">
<el-input v-model="trailerObj.tlDriverContact" :placeholder="$t('请输入司机联系方式')"></el-input>
</el-form-item>
<el-form-item label="货柜号">
<el-input v-model="trailerObj.tlContainerNo" placeholder="请输入货柜号"></el-input>
<el-form-item :label="$t('货柜号')">
<el-input v-model="trailerObj.tlContainerNo" :placeholder="$t('请输入货柜号')"></el-input>
</el-form-item>
<el-form-item label="封条">
<el-input v-model="trailerObj.tlStripSeal" placeholder="请输入封条"></el-input>
<el-form-item :label="$t('封条')">
<el-input v-model="trailerObj.tlStripSeal" :placeholder="$t('请输入封条')"></el-input>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">保存</el-button>
<el-button type="success" @click="onSubmit(2)">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button>
<el-button type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
</el-row>
</div>
</template>
......@@ -58,7 +58,7 @@ export default {
trailerObj: {},
// 校验
rules: {
tlTime: [{ required: true, message: "必填", trigger: "change" }],
tlTime: [{ required: true, message: this.$t("必填"), trigger: "change" }],
},
};
},
......
<template>
<div>
<el-form ref="twoWayArrivalForm" :rules="rules" :model="twoWayArrivalObj" label-width="120px">
<el-form-item label="预计到达时间" prop="estTime">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="twoWayArrivalObj.estTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('预计到达时间')" prop="estTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="twoWayArrivalObj.estTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item label="实际到达时间" prop="actTime">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="twoWayArrivalObj.actTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('实际到达时间')" prop="actTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="twoWayArrivalObj.actTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item label="实际二程时间" prop="actSecondTime">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="twoWayArrivalObj.actSecondTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('实际二程时间')" prop="actSecondTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="twoWayArrivalObj.actSecondTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">保存</el-button>
<el-button type="success" @click="onSubmit(2)">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="exceptionReg">异常登记</el-button>
<el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button>
<el-button type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
<el-button type="primary" @click="exceptionReg">{{$t('异常登记')}}</el-button>
</el-row>
<!-- 对话框 -->
<el-dialog custom-class="shipping-dialog" title="异常登记" :visible.sync="dialogVisible" width="700px" :modal-append-to-body=false append-to-body destroy-on-close>
<el-dialog custom-class="shipping-dialog" :title="$t('异常登记')" :visible.sync="dialogVisible" width="700px" :modal-append-to-body=false append-to-body destroy-on-close>
<regError @closeDialog="dialogVisible = false" v-bind="$attrs" />
</el-dialog>
</div>
......@@ -46,7 +46,7 @@ export default {
twoWayArrivalObj: {},
// 校验
rules: {
actTime: [{ required: true, message: "必填", trigger: "blur" }]
actTime: [{ required: true, message: this.$t("必填"), trigger: "blur" }]
},
// 弹窗配置
dialogVisible: false,
......
<template>
<div>
<el-form ref="twoWayTakeoffForm" :rules="rules" :model="twoWayTakeoffObj" label-width="120px">
<el-form-item label="预计头程时间" prop="estHeadTime">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="twoWayTakeoffObj.estHeadTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('预计头程时间')" prop="estHeadTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="twoWayTakeoffObj.estHeadTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item label="实际头程时间" prop="actHeadTime">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="twoWayTakeoffObj.actHeadTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('实际头程时间')" prop="actHeadTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="twoWayTakeoffObj.actHeadTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item label="预计二程时间" prop="estSecondTime">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="twoWayTakeoffObj.estSecondTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('预计二程时间')" prop="estSecondTime">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="twoWayTakeoffObj.estSecondTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">保存</el-button>
<el-button type="success" @click="onSubmit(2)">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="exceptionReg">异常登记</el-button>
<el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button>
<el-button type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
<el-button type="primary" @click="exceptionReg">{{$t('异常登记')}}</el-button>
</el-row>
<!-- 对话框 -->
<el-dialog custom-class="shipping-dialog" title="异常登记" :visible.sync="dialogVisible" width="700px" :modal-append-to-body=false append-to-body destroy-on-close>
<el-dialog custom-class="shipping-dialog" :title="$t('异常登记')" :visible.sync="dialogVisible" width="700px" :modal-append-to-body=false append-to-body destroy-on-close>
<regError @closeDialog="dialogVisible = false" v-bind="$attrs" />
</el-dialog>
</div>
......@@ -46,9 +46,9 @@ export default {
twoWayTakeoffObj: {},
// 校验
rules: {
actHeadTime: [{ required: true, message: "必填", trigger: "blur" }],
estHeadTime: [{ required: true, message: "必填", trigger: "blur" }],
estSecondTime: [{ required: true, message: "必填", trigger: "blur" }],
actHeadTime: [{ required: true, message: this.$t("必填"), trigger: "blur" }],
estHeadTime: [{ required: true, message: this.$t("必填"), trigger: "blur" }],
estSecondTime: [{ required: true, message: this.$t("必填"), trigger: "blur" }],
},
// 弹窗配置
dialogVisible: false,
......
<template>
<div>
<el-form ref="unloadingForm" :model="unloadingObj" label-width="100px">
<el-form-item label="网点">
<dockSelect v-model="unloadingObj.ulOutletsId" placeholder="请选择网点" :allDocks="this.$attrs.allDocks" />
<el-form-item :label="$t('网点')">
<dockSelect v-model="unloadingObj.ulOutletsId" :placeholder="$t('请选择网点')" :allDocks="this.$attrs.allDocks" />
</el-form-item>
<el-form-item label="到仓时间">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="unloadingObj.ulWarehouseTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('到仓时间')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="unloadingObj.ulWarehouseTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item label="卸柜时间">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="unloadingObj.ulBoxTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('卸柜时间')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="unloadingObj.ulBoxTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">保存</el-button>
<el-button type="success" @click="onSubmit(2)">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="danger" @click="startUnloading" :disabled="isStartUnloading">开始卸柜</el-button>
<el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button>
<el-button type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
<el-button type="danger" @click="startUnloading" :disabled="isStartUnloading">{{$t('开始卸柜')}}</el-button>
</el-row>
<!-- 开始卸柜 -->
<el-dialog title="开始卸柜" :visible.sync="dialogVisible" fullscreen :modal-append-to-body=false append-to-body>
<el-dialog :title="$t('开始卸柜')" :visible.sync="dialogVisible" fullscreen :modal-append-to-body=false append-to-body>
<startUnloading v-if="dialogVisible" v-bind="$attrs" @closeStart="closeStart" />
</el-dialog>
</div>
......@@ -62,7 +62,7 @@ export default {
const { keyName } = this.$attrs.currNode;
const ulStatus = this.$attrs.shipmentObj[keyName];
if (ulStatus !== 185) {
this.$message.error("请先通过卸柜审批");
this.$message.error(this.$t("请先通过卸柜审批"));
return;
}
}
......
......@@ -3,21 +3,21 @@
<!-- 自编号 -->
<el-row class="number-area">
<p class="label-font">自编号</p>
<p class="label-font">{{$t('自编号')}}</p>
<p class="label-font">{{selfNo}}</p>
<el-input v-model="labelNo" placeholder="请输入"></el-input>
<el-input v-model="labelNo" :placeholder="$t('请输入')"></el-input>
<div>
<el-button type="primary" @click="modifyUnload">提交</el-button>
<el-button type="primary" @click="modifyBatchUnload">批量输入</el-button>
<el-button type="primary" @click="modifyAllUnload">一键卸柜</el-button>
<el-button type="primary" @click="modifyUnload">{{$t('提交')}}</el-button>
<el-button type="primary" @click="modifyBatchUnload">{{$t('批量输入')}}</el-button>
<el-button type="primary" @click="modifyAllUnload">{{$t('一键卸柜')}}</el-button>
</div>
</el-row>
<!-- 当前部分 -->
<el-row class="number-area">
<p class="label-font">当前部分</p>
<el-select placeholder="请选择" v-model="sectionId" @change="sectionChange">
<el-option key="0" label="全部" value="0"></el-option>
<p class="label-font">{{$t('当前部分')}}</p>
<el-select :placeholder="$t('请选择')" v-model="sectionId" @change="sectionChange">
<el-option key="0" :label="$t('全部')" value="0"></el-option>
<el-option v-for="item in sectionList" :key="item.id" :label="item.title" :value="item.id"></el-option>
</el-select>
<p>
......@@ -28,46 +28,46 @@
<!-- 表格 -->
<el-row class="table-area">
<el-table v-loading="loading" :data="pageData.sectionOrderList" border max-height="500px">
<el-table-column label="序号" type="index" align="center" width="50" />
<el-table-column label="订单号" align="center" prop="orderNo">
<el-table-column :label="$t('序号')" type="index" align="center" width="50" />
<el-table-column :label="$t('订单号')" align="center" prop="orderNo">
<template slot-scope="scope">
{{ scope.row.orderNo }}
</template>
</el-table-column>
<el-table-column label="商品信息" align="center" prop="goodsList">
<el-table-column :label="$t('商品信息')" align="center" prop="goodsList">
<template slot-scope="scope">
<section class="table-goodList">
<div v-for="(item, index) in scope.row.goodsList" :key="index" class="goodList-div">
<p>{{index+1}}{{item.prodTitleZh}}</p>
<p>{{index+1}}{{$l(item, 'prodTitle')}}</p>
</div>
</section>
</template>
</el-table-column>
<el-table-column label="实装箱数" align="center" prop="installNum" />
<el-table-column label="卸柜箱数" align="center" prop="unloadNum" />
<el-table-column label="清关状态" align="center" prop="">
<el-table-column :label="$t('实装箱数')" align="center" prop="installNum" />
<el-table-column :label="$t('卸柜箱数')" align="center" prop="unloadNum" />
<el-table-column :label="$t('清关状态')" align="center" prop="">
<template slot-scope="scope">{{clearStatus(scope.row)}}</template>
</el-table-column>
<el-table-column label="体积" align="center" prop="volume" />
<el-table-column label="重量" align="center" prop="weight" />
<el-table-column label="订单状态" align="center" prop="">
<el-table-column :label="$t('体积')" align="center" prop="volume" />
<el-table-column :label="$t('重量')" align="center" prop="weight" />
<el-table-column :label="$t('订单状态')" align="center" prop="">
<template slot-scope="scope">
{{getOrderError(scope.row, 'orderStatus')}}
</template>
</el-table-column>
<el-table-column label="异常状态" align="center" prop="">
<el-table-column :label="$t('异常状态')" align="center" prop="">
<template slot-scope="scope">
<el-button v-if="scope.row.exceptionList" type="text" size="small" @click="handleError(scope.row)" icon="el-icon-edit">{{getOrderError(scope.row, 'errorStatus')}}</el-button>
</template>
</el-table-column>
<el-table-column label="异常类型" align="center" prop="">
<el-table-column :label="$t('异常类型')" align="center" prop="">
<template slot-scope="scope">
{{getUnloadError(scope.row.exceptionList)}}
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button type="danger" size="small" @click="openError(scope.row)">异常</el-button>
<el-button type="danger" size="small" @click="openError(scope.row)">{{$t('异常')}}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -77,13 +77,13 @@
<el-row>
<div class="label-font">
<p>
<span>总计</span>
<span>{{$t('总计')}}</span>
<span>{{getTotlContent(pageData.totalStatistics)}}</span>
</p>
</div>
<div class="label-font">
<p>
<span>已卸</span>
<span>{{$t('已卸')}}</span>
<span>{{getUnLoadNumCount}}</span>
</p>
</div>
......@@ -92,23 +92,23 @@
<!-- 审核流程 -->
<el-row class="process-area">
<div class="process">
<div>审批流程</div>
<div>{{$t('审批流程')}}</div>
<work-flow xmlkey="unload_container" v-model="selectedUsers"></work-flow>
</div>
<!-- 操作 -->
<div v-if="!isUnderReview">
<el-button type="success" @click="onSubmit">卸柜完成</el-button>
<el-button plain type="primary" @click="$emit('closeStart')">返回</el-button>
<el-button type="success" @click="onSubmit">{{$t('卸柜完成')}}</el-button>
<el-button plain type="primary" @click="$emit('closeStart')">{{$t('返回')}}</el-button>
</div>
<div v-if="isUnderReview">
<el-button type="primary" @click="jumpReviewDetail">卸柜审核中</el-button>
<el-button plain type="primary" @click="canclAudit">取消审核</el-button>
<el-button plain type="primary" @click="$emit('closeStart')">返回</el-button>
<el-button type="primary" @click="jumpReviewDetail">{{$t('卸柜审核中')}}</el-button>
<el-button plain type="primary" @click="canclAudit">{{$t('取消审核')}}</el-button>
<el-button plain type="primary" @click="$emit('closeStart')">{{$t('返回')}}</el-button>
</div>
</el-row>
<!-- 对话框 -->
<el-dialog custom-class="shipping-dialog" title="异常" :visible.sync="dialogVisible" width="600px" :modal-append-to-body=false append-to-body>
<el-dialog custom-class="shipping-dialog" :title="$t('异常')" :visible.sync="dialogVisible" width="600px" :modal-append-to-body=false append-to-body>
<unloadingError v-if="dialogVisible" @closeDialog="closeDialog" v-bind="$attrs" :currRow="currRow" />
</el-dialog>
</div>
......@@ -172,7 +172,7 @@ export default {
this.sectionList = res.data.map((item, index) => {
return {
...item,
title: `第${index + 1}部分`,
title: this.$t('第{index}部分', {index: index + 1}),
};
});
});
......@@ -195,7 +195,7 @@ export default {
/* 单个卸柜 */
modifyUnload() {
if (!this.labelNo) {
this.$message.error("请输入箱号标签");
this.$message.error(this.$t("请输入箱号标签"));
return;
}
singleUnload({
......@@ -211,7 +211,7 @@ export default {
/* 批量输入 */
modifyBatchUnload() {
if (!this.labelNo) {
this.$message.error("请输入订单号");
this.$message.error(this.$t("请输入订单号"));
return;
}
batchUnload({
......@@ -226,7 +226,7 @@ export default {
},
/* 一键卸柜 */
modifyAllUnload() {
this.$confirm("确认卸柜?", "提示", {
this.$confirm(this.$t("确认卸柜?"), this.$t("提示"), {
type: "warning",
})
.then((_) => {
......@@ -269,13 +269,13 @@ export default {
clearStatus(row) {
const { installNum, unloadNum } = row;
if (installNum === unloadNum) {
return "全部清关";
return this.$t("全部清关");
}
if (installNum >= unloadNum) {
return "部分清关";
return this.$t("部分清关");
}
if (unloadNum === 0) {
return "未清关";
return this.$t("未清关");
}
},
// 部分切换
......@@ -286,7 +286,7 @@ export default {
canclAudit() {
const { shipmentObj } = this.$attrs;
approvalCancel({
applyReason: "取消审核",
applyReason: this.$t("取消审核"),
id: shipmentObj["cabinetUnloadApprovalInfo"].id,
shipmentId: shipmentObj.id,
}).then((res) => {
......@@ -310,9 +310,9 @@ export default {
// 订单异常
getOrderError(row, type) {
if (row.exceptionList && row.exceptionList.length) {
return type === "orderStatus" ? "卸柜异常" : "待处理";
return type === "orderStatus" ? this.$t("卸柜异常") : this.$t("待处理");
}
return type === "orderStatus" ? "已到港" : "";
return type === "orderStatus" ? this.$t("已到港") : "";
},
// 处理异常
handleError(row) {
......
<template>
<div>
<el-form ref="errorForm" :model="errorObj" label-width="100px" :rules="rules">
<el-form-item label="异常" prop="exceptionType">
<el-form-item :label="$t('异常')" prop="exceptionType">
<el-radio-group v-model="errorObj.exceptionType">
<el-radio v-for="item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_UNLOADING_ERROR)" :key="item.value" :label="item.value">{{item.label}}</el-radio>
<el-radio v-for="item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_UNLOADING_ERROR)" :key="item.value" :label="item.value">{{$l(item, 'label')}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="品名">
<el-select v-model="errorObj.productId" placeholder="请选择品名">
<el-option v-for="(item, index) in goodsList" :key="index" :value="item.orderItemId" :label="item.prodTitleZh"></el-option>
<el-form-item :label="$t('品名')">
<el-select v-model="errorObj.productId" :placeholder="$t('请选择品名')">
<el-option v-for="(item, index) in goodsList" :key="index" :value="item.orderItemId" :label="$l(item, 'prodTitle')"></el-option>
</el-select>
</el-form-item>
<el-form-item label="件数" prop="productNum">
<el-form-item :label="$t('件数')" prop="productNum">
<el-input-number v-model="errorObj.productNum" controls-position="right" :min="1"></el-input-number>
</el-form-item>
<el-form-item label="异常详情">
<el-input v-model="errorObj.exceptionDetail" type="textarea" rows="2" placeholder="请输入异常详情"></el-input>
<el-form-item :label="$t('异常详情')">
<el-input v-model="errorObj.exceptionDetail" type="textarea" rows="2" :placeholder="$t('请输入异常详情')"></el-input>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="success" @click="onSubmit">提交</el-button>
<el-button @click="$emit('closeDialog')">关闭</el-button>
<el-button type="success" @click="onSubmit">{{$t('提交')}}</el-button>
<el-button @click="$emit('closeDialog')">{{$t('关闭')}}</el-button>
</el-row>
</div>
</template>
......@@ -41,8 +41,8 @@ export default {
return {
// 校验
rules: {
exceptionType: [{ required: true, message: "必填", trigger: "change" }],
productNum: [{ required: true, message: "必填", trigger: "change" }],
exceptionType: [{ required: true, message: this.$t("必填"), trigger: "change" }],
productNum: [{ required: true, message: this.$t("必填"), trigger: "change" }],
},
// 异常对象
errorObj: {
......@@ -60,7 +60,7 @@ export default {
const { productNum = 0 } = this.errorObj;
const { currRow } = this.$attrs;
if (productNum > currRow.installNum) {
this.$message.error("货物异常数量不能大于装柜数量");
this.$message.error(this.$t("货物异常数量不能大于装柜数量"));
return;
}
createError({
......
......@@ -132,7 +132,7 @@ export default {
/** 节点点击 */
nodeClick(currIndex, node) {
if (currIndex > this.currIndex) {
this.$message.error("请先完成上一步");
this.$message.error(this.$t("请先完成上一步"));
return;
}
this.currNode = node;
......@@ -151,7 +151,7 @@ export default {
break;
// AGENT
case "agent":
this.$set(this.dialogConfig, "title", "代理商设置");
this.$set(this.dialogConfig, "title", this.$t("代理商设置"));
break;
// 理货
case "tally":
......@@ -164,10 +164,10 @@ export default {
if ([25].includes(preStatus)) {
this.currentComponent = `reviewWidget`;
this.$set(this.dialogConfig, "width", "700px");
this.$set(this.dialogConfig, "title", "预装反审");
this.$set(this.dialogConfig, "title", this.$t("预装反审"));
} else {
this.$set(this.dialogConfig, "fullscreen", true);
this.$set(this.dialogConfig, "title", "出货安排(预装)");
this.$set(this.dialogConfig, "title", this.$t("出货安排(预装)"));
}
// 卸柜
case "unloading":
......@@ -176,7 +176,7 @@ export default {
if ([186].includes(unStatus)) {
this.currentComponent = `reviewWidget`;
this.$set(this.dialogConfig, "width", "700px");
this.$set(this.dialogConfig, "title", "卸柜反审");
this.$set(this.dialogConfig, "title", this.$t("卸柜反审"));
}
break;
}
......
......@@ -70,15 +70,15 @@ export default {
},
getSupplier(id) {
return (
this.$attrs.allSupplier.find((item) => item.id === id)?.companyZh ?? id
this.$l(this.$attrs.allSupplier.find((item) => item.id === id), 'company') // ?? id
);
},
getDock(id) {
return this.$attrs.allDocks.find((item) => item.id === id)?.titleZh ?? id;
return this.$l(this.$attrs.allDocks.find((item) => item.id === id), 'title') ?? id;
},
getWarehouse(id) {
return (
this.$attrs.warehouseList.find((item) => item.id === id)?.titleZh ?? id
this.$l(this.$attrs.warehouseList.find((item) => item.id === id), 'title') ?? id
);
},
getUser(id) {
......@@ -88,7 +88,7 @@ export default {
},
getDict(code, id) {
return (
this.getDictDatas(code).find((item) => item.value === id)?.label ?? id
this.$l(this.getDictDatas(code).find((item) => item.value === id), 'label') ?? id
);
},
getConstant(code, id) {
......
......@@ -3,23 +3,23 @@
<el-row type="flex" style="margin-top: 15px; margin-bottom: 15px" justify="center">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="19">
<div style="display: flex; justify-content: space-between;align-items: flex-end;">
<h2>海运出货操作</h2>
<h2>{{$t('海运出货操作')}}</h2>
</div>
<!-- 信息 -->
<el-card style="margin-top: 15px">
<el-descriptions :column="5" border>
<el-descriptions-item label="自编号">{{shipmentObj.selfNo}}</el-descriptions-item>
<el-descriptions-item label="运输方式">
<el-descriptions-item :label="$t('自编号')">{{shipmentObj.selfNo}}</el-descriptions-item>
<el-descriptions-item :label="$t('运输方式')">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="shipmentObj.transportType" />
</el-descriptions-item>
<el-descriptions-item label="始发地">
<el-descriptions-item :label="$t('始发地')">
{{importCityName(shipmentObj.startWarehouseId)}}
</el-descriptions-item>
<el-descriptions-item label="目的地">
<el-descriptions-item :label="$t('目的地')">
{{importCityName(shipmentObj.destWarehouseId)}}
</el-descriptions-item>
<el-descriptions-item label="状态">
<el-descriptions-item :label="$t('状态')">
{{shipmentObj.shipmentStatusText}}
</el-descriptions-item>
</el-descriptions>
......@@ -43,6 +43,8 @@ import { getWarehouseList } from "@/api/ecw/warehouse";
import { getSupplierPage } from "@/api/ecw/supplier";
import { getDockPage } from "@/api/ecw/dock";
import { listUser } from "@/api/system/user";
// 这里引入的数据切换语言后要刷新才生效,优化办法是label同时配备labelEn字段,然后再页面上用$l函数调用
import { getSeaStatus, getStatusName, seaBaseData } from "./utils";
/**
......
......@@ -2,7 +2,7 @@ import dayjs from "dayjs";
import * as _BOX from "@/api/ecw/box";
import FileSaver from "file-saver";
import Decimal from "decimal.js";
import i18n from '@/i18n'
/**
* 节点状态值
*
......@@ -11,67 +11,67 @@ import Decimal from "decimal.js";
function getStatusName(statu) {
const statusName = new Map();
statusName.set(11, "未订舱");
statusName.set(12, "已订舱");
statusName.set(11, i18n.t("未订舱"));
statusName.set(12, i18n.t("已订舱"));
statusName.set(21, "未预装");
statusName.set(22, "预装中");
statusName.set(23, "预装审核中");
statusName.set(24, "预装审核失败");
statusName.set(25, "预装审核成功");
statusName.set(21, i18n.t("未预装"));
statusName.set(22, i18n.t("预装中"));
statusName.set(23, i18n.t("预装审核中"));
statusName.set(24, i18n.t("预装审核失败"));
statusName.set(25, i18n.t("预装审核成功"));
statusName.set(2111, "未理货");
statusName.set(2112, "已理货");
statusName.set(2111, i18n.t("未理货"));
statusName.set(2112, i18n.t("已理货"));
statusName.set(31, "未派车");
statusName.set(32, "已派车");
statusName.set(31, i18n.t("未派车"));
statusName.set(32, i18n.t("已派车"));
statusName.set(41, "未装柜");
statusName.set(42, "装柜中");
statusName.set(43, "已装柜、待封柜");
statusName.set(44, "封柜审核中");
statusName.set(45, "封柜审核失败");
statusName.set(46, "封柜审核成功");
statusName.set(47, "已封柜,待出仓");
statusName.set(41, i18n.t("未装柜"));
statusName.set(42, i18n.t("装柜中"));
statusName.set(43, i18n.t("已装柜、待封柜"));
statusName.set(44, i18n.t("封柜审核中"));
statusName.set(45, i18n.t("封柜审核失败"));
statusName.set(46, i18n.t("封柜审核成功"));
statusName.set(47, i18n.t("已封柜,待出仓"));
statusName.set(51, "未报关");
statusName.set(52, "报关中");
statusName.set(53, "已报关");
statusName.set(51, i18n.t("未报关"));
statusName.set(52, i18n.t("报关中"));
statusName.set(53, i18n.t("已报关"));
statusName.set(61, "未配船");
statusName.set(62, "已配船");
statusName.set(61, i18n.t("未配船"));
statusName.set(62, i18n.t("已配船"));
statusName.set(71, "未提单补料");
statusName.set(72, "已提单补料");
statusName.set(71, i18n.t("未提单补料"));
statusName.set(72, i18n.t("已提单补料"));
statusName.set(81, "未驳船");
statusName.set(82, "已驳船");
statusName.set(81, i18n.t("未驳船"));
statusName.set(82, i18n.t("已驳船"));
statusName.set(91, "未起运");
statusName.set(92, "已起运");
statusName.set(91, i18n.t("未起运"));
statusName.set(92, i18n.t("已起运"));
statusName.set(101, "未上传");
statusName.set(102, "已上传");
statusName.set(101, i18n.t("未上传"));
statusName.set(102, i18n.t("已上传"));
statusName.set(111, "未清关文件");
statusName.set(112, "已清关文件");
statusName.set(111, i18n.t("未清关文件"));
statusName.set(112, i18n.t("已清关文件"));
statusName.set(121, "未到港");
statusName.set(122, "已到港");
statusName.set(121, i18n.t("未到港"));
statusName.set(122, i18n.t("已到港"));
statusName.set(131, "未清关");
statusName.set(132, "已清关");
statusName.set(131, i18n.t("未清关"));
statusName.set(132, i18n.t("已清关"));
statusName.set(181, "未卸柜");
statusName.set(182, "卸柜中");
statusName.set(183, "卸柜审核中");
statusName.set(184, "卸柜审核失败");
statusName.set(185, "卸柜审核成功");
statusName.set(186, "已卸柜");
statusName.set(181, i18n.t("未卸柜"));
statusName.set(182, i18n.t("卸柜中"));
statusName.set(183, i18n.t("卸柜审核中"));
statusName.set(184, i18n.t("卸柜审核失败"));
statusName.set(185, i18n.t("卸柜审核成功"));
statusName.set(186, i18n.t("已卸柜"));
statusName.set(191, "未结算");
statusName.set(192, "结算中");
statusName.set(193, "已结算");
statusName.set(191, i18n.t("未结算"));
statusName.set(192, i18n.t("结算中"));
statusName.set(193, i18n.t("已结算"));
return statusName.get(statu);
}
......@@ -85,7 +85,7 @@ function seaBaseData() {
return [
[
{
title: "订舱",
title: i18n.t("订舱"),
imgSrc: {
start: require("@/assets/images/shipping/dc-start.png"),
end: require("@/assets/images/shipping/dc-end.png"),
......@@ -106,7 +106,7 @@ function seaBaseData() {
],
[
{
title: "排单",
title: i18n.t("排单"),
imgSrc: {
start: require("@/assets/images/shipping/yz-start.png"),
wait: require("@/assets/images/shipping/yz-wait.png"),
......@@ -139,7 +139,7 @@ function seaBaseData() {
],
[
{
title: "理货",
title: i18n.t("理货"),
imgSrc: {
start: require("@/assets/images/shipping/lh-start.png"),
wait: require("@/assets/images/shipping/lh-wait.png"),
......@@ -159,7 +159,7 @@ function seaBaseData() {
},
},
{
title: "拖车",
title: i18n.t("拖车"),
imgSrc: {
start: require("@/assets/images/shipping/tc-start.png"),
wait: require("@/assets/images/shipping/tc-wait.png"),
......@@ -181,7 +181,7 @@ function seaBaseData() {
],
[
{
title: "装柜",
title: i18n.t("装柜"),
imgSrc: {
start: require("@/assets/images/shipping/zg-start.png"),
wait: require("@/assets/images/shipping/zg-wait.png"),
......@@ -203,7 +203,7 @@ function seaBaseData() {
],
[
{
title: "报关",
title: i18n.t("报关"),
imgSrc: {
start: require("@/assets/images/shipping/bg-start.png"),
wait: require("@/assets/images/shipping/bg-wait.png"),
......@@ -243,7 +243,7 @@ function seaBaseData() {
},
},
{
title: "提单补料",
title: i18n.t("提单补料"),
imgSrc: {
start: require("@/assets/images/shipping/tdcl-start.png"),
wait: require("@/assets/images/shipping/tdcl-wait.png"),
......@@ -265,7 +265,7 @@ function seaBaseData() {
],
[
{
title: "驳船",
title: i18n.t("驳船"),
imgSrc: {
start: require("@/assets/images/shipping/bc-start.png"),
wait: require("@/assets/images/shipping/bc-wait.png"),
......@@ -287,7 +287,7 @@ function seaBaseData() {
],
[
{
title: "起运",
title: i18n.t("起运"),
imgSrc: {
start: require("@/assets/images/shipping/qy-start.png"),
wait: require("@/assets/images/shipping/qy-wait.png"),
......@@ -309,7 +309,7 @@ function seaBaseData() {
],
[
{
title: "提单Copy",
title: i18n.t("提单Copy"),
imgSrc: {
start: require("@/assets/images/shipping/tdcopy-start.png"),
wait: require("@/assets/images/shipping/tdcopy-wait.png"),
......@@ -335,7 +335,7 @@ function seaBaseData() {
wait: require("@/assets/images/shipping/qg-wait.png"),
end: require("@/assets/images/shipping/qg-end.png"),
},
title: "清关文件",
title: i18n.t("清关文件"),
dataKey: "11", // 字典数据键值
/**
* 清关文件状态:111、未清关文件;112、已清关文件
......@@ -351,7 +351,7 @@ function seaBaseData() {
],
[
{
title: "到港",
title: i18n.t("到港"),
imgSrc: {
start: require("@/assets/images/shipping/dg-start.png"),
wait: require("@/assets/images/shipping/dg-wait.png"),
......@@ -373,7 +373,7 @@ function seaBaseData() {
],
[
{
title: "清关",
title: i18n.t("清关"),
imgSrc: {
start: require("@/assets/images/shipping/qg-start.png"),
wait: require("@/assets/images/shipping/qg-wait.png"),
......@@ -395,7 +395,7 @@ function seaBaseData() {
],
[
{
title: "卸柜",
title: i18n.t("卸柜"),
imgSrc: {
start: require("@/assets/images/shipping/xg-start.png"),
wait: require("@/assets/images/shipping/xg-wait.png"),
......@@ -417,7 +417,7 @@ function seaBaseData() {
],
[
{
title: "结算",
title: i18n.t("结算"),
imgSrc: {
start: require("@/assets/images/shipping/js-start.png"),
wait: require("@/assets/images/shipping/js-wait.png"),
......@@ -449,7 +449,7 @@ function seaAirBaseData() {
return [
[
{
title: "订舱",
title: i18n.t("订舱"),
imgSrc: {
start: require("@/assets/images/shipping/dc-start.png"),
end: require("@/assets/images/shipping/dc-end.png"),
......@@ -470,7 +470,7 @@ function seaAirBaseData() {
],
[
{
title: "排单",
title: i18n.t("排单"),
imgSrc: {
start: require("@/assets/images/shipping/yz-start.png"),
wait: require("@/assets/images/shipping/yz-wait.png"),
......@@ -503,7 +503,7 @@ function seaAirBaseData() {
],
[
{
title: "理货",
title: i18n.t("理货"),
imgSrc: {
start: require("@/assets/images/shipping/lh-start.png"),
wait: require("@/assets/images/shipping/lh-wait.png"),
......@@ -523,7 +523,7 @@ function seaAirBaseData() {
},
},
{
title: "拖车",
title: i18n.t("拖车"),
imgSrc: {
start: require("@/assets/images/shipping/tc-start.png"),
wait: require("@/assets/images/shipping/tc-wait.png"),
......@@ -545,7 +545,7 @@ function seaAirBaseData() {
],
[
{
title: "装柜",
title: i18n.t("装柜"),
imgSrc: {
start: require("@/assets/images/shipping/zg-start.png"),
wait: require("@/assets/images/shipping/zg-wait.png"),
......@@ -567,7 +567,7 @@ function seaAirBaseData() {
],
[
{
title: "报关",
title: i18n.t("报关"),
imgSrc: {
start: require("@/assets/images/shipping/bg-start.png"),
wait: require("@/assets/images/shipping/bg-wait.png"),
......@@ -587,7 +587,7 @@ function seaAirBaseData() {
},
},
{
title: "配船",
title: i18n.t("配船"),
imgSrc: {
start: require("@/assets/images/shipping/pc-start.png"),
wait: require("@/assets/images/shipping/pc-wait.png"),
......@@ -607,7 +607,7 @@ function seaAirBaseData() {
},
},
{
title: "提单补料",
title: i18n.t("提单补料"),
imgSrc: {
start: require("@/assets/images/shipping/tdcl-start.png"),
wait: require("@/assets/images/shipping/tdcl-wait.png"),
......@@ -629,7 +629,7 @@ function seaAirBaseData() {
],
[
{
title: "驳船",
title: i18n.t("驳船"),
imgSrc: {
start: require("@/assets/images/shipping/bc-start.png"),
wait: require("@/assets/images/shipping/bc-wait.png"),
......@@ -651,7 +651,7 @@ function seaAirBaseData() {
],
[
{
title: "起运",
title: i18n.t("起运"),
imgSrc: {
start: require("@/assets/images/shipping/qy-start.png"),
wait: require("@/assets/images/shipping/qy-wait.png"),
......@@ -673,7 +673,7 @@ function seaAirBaseData() {
],
[
{
title: "提单Copy",
title: i18n.t("提单Copy"),
imgSrc: {
start: require("@/assets/images/shipping/tdcopy-start.png"),
wait: require("@/assets/images/shipping/tdcopy-wait.png"),
......@@ -699,7 +699,7 @@ function seaAirBaseData() {
wait: require("@/assets/images/shipping/qg-wait.png"),
end: require("@/assets/images/shipping/qg-end.png"),
},
title: "清关文件",
title: i18n.t("清关文件"),
dataKey: "11", // 字典数据键值
/**
* 清关文件状态:111、未清关文件;112、已清关文件
......@@ -715,7 +715,7 @@ function seaAirBaseData() {
],
[
{
title: "到港",
title: i18n.t("到港"),
imgSrc: {
start: require("@/assets/images/shipping/dg-start.png"),
wait: require("@/assets/images/shipping/dg-wait.png"),
......@@ -737,7 +737,7 @@ function seaAirBaseData() {
],
[
{
title: "清关",
title: i18n.t("清关"),
imgSrc: {
start: require("@/assets/images/shipping/qg-start.png"),
wait: require("@/assets/images/shipping/qg-wait.png"),
......@@ -759,7 +759,7 @@ function seaAirBaseData() {
],
[
{
title: "二程起飞",
title: i18n.t("二程起飞"),
imgSrc: {
start: require("@/assets/images/shipping/ecqf-start.png"),
wait: require("@/assets/images/shipping/ecqf-wait.png"),
......@@ -781,7 +781,7 @@ function seaAirBaseData() {
],
[
{
title: "二程到港",
title: i18n.t("二程到港"),
imgSrc: {
start: require("@/assets/images/shipping/ecdg-start.png"),
wait: require("@/assets/images/shipping/ecdg-wait.png"),
......@@ -803,7 +803,7 @@ function seaAirBaseData() {
],
[
{
title: "卸柜",
title: i18n.t("卸柜"),
imgSrc: {
start: require("@/assets/images/shipping/xg-start.png"),
wait: require("@/assets/images/shipping/xg-wait.png"),
......@@ -825,7 +825,7 @@ function seaAirBaseData() {
],
[
{
title: "结算",
title: i18n.t("结算"),
imgSrc: {
start: require("@/assets/images/shipping/js-start.png"),
wait: require("@/assets/images/shipping/js-wait.png"),
......@@ -861,254 +861,254 @@ function getColmnMapping() {
key: "sono",
},
{
title: "船公司类型",
title: i18n.t("船公司类型"),
key: "shipCompanyType",
type: "supplier",
},
{
title: "驳船港",
title: i18n.t("驳船港"),
key: "bargePortId",
type: "dock",
},
{
title: "大船港",
title: i18n.t("大船港"),
key: "bigPortId",
type: "dock",
},
{
title: "目的港",
title: i18n.t("目的港"),
key: "destPortId",
type: "dock",
},
{
title: "订舱公司",
title: i18n.t("订舱公司"),
key: "spaceCompanyId",
type: "supplier",
},
{
title: "预计驳船时间",
title: i18n.t("预计驳船时间"),
key: "bargeTime",
type: "date",
},
{
title: "预计开船时间",
title: i18n.t("预计开船时间"),
key: "sailTime",
type: "date",
},
{
title: "业务员",
title: i18n.t("业务员"),
key: "operator",
},
],
preInstallInfo: [
{
title: "预装时间",
title: i18n.t("预装时间"),
key: "createTime",
type: "date",
},
{
title: "业务员",
title: i18n.t("业务员"),
key: "operator",
},
],
trailerInfo: [
{
title: "货柜号",
title: i18n.t("货柜号"),
key: "tlContainerNo",
},
{
title: "封条",
title: i18n.t("封条"),
key: "tlStripSeal",
},
{
title: "拖车公司",
title: i18n.t("拖车公司"),
key: "tlCompanyId",
type: "supplier",
},
{
title: "拖车时间",
title: i18n.t("拖车时间"),
key: "tlTime",
type: "date",
},
{
title: "车牌",
title: i18n.t("车牌"),
key: "tlLicensePlate",
},
{
title: "司机",
title: i18n.t("司机"),
key: "tlDriver",
},
{
title: "联系方式",
title: i18n.t("联系方式"),
key: "tlDriverContact",
},
{
title: "业务员",
title: i18n.t("业务员"),
key: "operator",
},
],
tallyInfo: [
{
title: "完成理货时间",
title: i18n.t("完成理货时间"),
key: "tyTime",
type: "datetime",
},
{
title: "业务员",
title: i18n.t("业务员"),
key: "tyOperator",
},
],
agentInfo: [
{
title: "代理商",
title: i18n.t("代理商"),
key: "agentId",
type: "supplier",
},
{
title: "业务员",
title: i18n.t("业务员"),
key: "operator",
},
],
cabinetInfo: [
{
title: "到仓时间",
title: i18n.t("到仓时间"),
key: "ldInWarehouseTime",
type: "date",
},
{
title: "仓库类型",
title: i18n.t("仓库类型"),
key: "ldWarehouseType",
type: "warehouse",
},
{
title: "装柜时间",
title: i18n.t("装柜时间"),
key: "ldBoxTime",
type: "date",
},
{
title: "出仓时间",
title: i18n.t("出仓时间"),
key: "ldOutWarehouseTime",
type: "date",
},
{
title: "业务员",
title: i18n.t("业务员"),
key: "operator",
},
],
customsInfo: [
{
title: "报关方式",
title: i18n.t("报关方式"),
key: "dcCustomsType",
type: "shipping_customs_type",
},
{
title: "报关行公司",
title: i18n.t("报关行公司"),
key: "dcCompanyId",
type: "supplier",
},
{
title: "截关时间",
title: i18n.t("截关时间"),
key: "dcCutOffTime",
type: "date",
},
{
title: "状态",
title: i18n.t("状态"),
key: "dcCustomsStatus",
type: "shipping_dcCustoms_status",
},
{
title: "放行时间",
title: i18n.t("放行时间"),
key: "dcPassTime",
type: "date",
},
{
title: "新封条",
title: i18n.t("新封条"),
key: "dcStripSeal",
},
{
title: "柜重",
title: i18n.t("柜重"),
key: "dcBoxWgt",
},
{
title: "货重",
title: i18n.t("货重"),
key: "dcGoodsWgt",
},
{
title: "VGM重量",
title: i18n.t("VGM重量"),
key: "dcVgmWgt",
},
{
title: "业务员",
title: i18n.t("业务员"),
key: "operator",
},
],
shipConfigInfo: [
{
title: "已配/免配",
title: i18n.t("已配/免配"),
key: "saExmtStatus",
type: "saExmtStatus",
},
{
title: "业务员",
title: i18n.t("业务员"),
key: "operator",
},
],
ladingBillInfo: [
{
title: "清关代理",
title: i18n.t("清关代理"),
key: "agentId",
type: "supplier",
},
{
title: "提单品名",
title: i18n.t("提单品名"),
key: "blMblNo",
},
{
title: "通知方",
title: i18n.t("通知方"),
key: "notifyingId",
type: "user",
},
{
title: "提单备注",
title: i18n.t("提单备注"),
key: "remarks",
},
{
title: "数量(个)",
title: i18n.t("数量(个)"),
key: "packageNum",
},
{
title: "体积",
title: i18n.t("体积"),
key: "cbm",
},
{
title: "业务员",
title: i18n.t("业务员"),
key: "operator",
},
],
bargeInfo: [
{
title: "驳船",
title: i18n.t("驳船"),
key: "bgExmtStatus",
type: "bgExmtStatus",
},
{
title: "业务员",
title: i18n.t("业务员"),
key: "operator",
},
],
shippingInfo: [
{
title: "实际开船时间",
title: i18n.t("实际开船时间"),
key: "dtRealShipTime",
type: "datetime",
},
{
title: "预计到港时间",
title: i18n.t("预计到港时间"),
key: "dtEstArrivalTime",
type: "date",
},
{
title: "业务员",
title: i18n.t("业务员"),
key: "operator",
},
],
......@@ -1124,128 +1124,128 @@ function getColmnMapping() {
type: "isFile",
},
{
title: "出单方式",
title: i18n.t("出单方式"),
key: "cdOutBillType",
type: "billingMethod",
},
{
title: "寄送时间",
title: i18n.t("寄送时间"),
key: "cdSendTime",
type: "date",
},
{
title: "业务员",
title: i18n.t("业务员"),
key: "operator",
},
],
arrivalInfo: [
{
title: "实际到港时间",
title: i18n.t("实际到港时间"),
key: "apRealTime",
type: "datetime",
},
{
title: "确认到港",
title: i18n.t("确认到港"),
key: "apConfirmTime",
type: "datetime",
},
{
title: "卸港时间",
title: i18n.t("卸港时间"),
key: "apUnloadPortTime",
type: "date",
},
{
title: "业务员",
title: i18n.t("业务员"),
key: "operator",
},
],
clearanceInfo: [
{
title: "预计清关时间",
title: i18n.t("预计清关时间"),
key: "clEstTime",
type: "date",
},
{
title: "清关时间",
title: i18n.t("清关时间"),
key: "clClearTime",
type: "datetime",
},
{
title: "业务员",
title: i18n.t("业务员"),
key: "operator",
},
],
takeOffInfo: [
{
title: "预计头程时间",
title: i18n.t("预计头程时间"),
key: "estHeadTime",
type: "datetime",
},
{
title: "实际头程时间",
title: i18n.t("实际头程时间"),
key: "actHeadTime",
type: "datetime",
},
{
title: "预计二程时间",
title: i18n.t("预计二程时间"),
key: "estSecondTime",
type: "date",
},
{
title: "业务员",
title: i18n.t("业务员"),
key: "operator",
},
],
airArrivalInfo: [
{
title: "预计到达时间",
title: i18n.t("预计到达时间"),
key: "estTime",
type: "datetime",
},
{
title: "实际到达时间",
title: i18n.t("实际到达时间"),
key: "actTime",
type: "datetime",
},
{
title: "实际二程时间",
title: i18n.t("实际二程时间"),
key: "actSecondTime",
type: "datetime",
},
{
title: "业务员",
title: i18n.t("业务员"),
key: "operator",
},
],
cabinetUnloadInfo: [
{
title: "到仓时间",
title: i18n.t("到仓时间"),
key: "ulWarehouseTime",
type: "date",
},
{
title: "卸货时间",
title: i18n.t("卸货时间"),
key: "ulBoxTime",
type: "date",
},
{
title: "业务员",
title: i18n.t("业务员"),
key: "operator",
},
],
settlementInfo: [
{
title: "可结算",
title: i18n.t("可结算"),
key: "slSettlementTime",
type: "date",
},
{
title: "已结算",
title: i18n.t("已结算"),
key: "slSettledTime",
type: "date",
},
{
title: "业务员",
title: i18n.t("业务员"),
key: "operator",
},
],
......@@ -1260,44 +1260,44 @@ const constantDict = {
saExmtStatus: [
{
value: "1",
label: "免配",
label: i18n.t("免配"),
},
{
value: "2",
label: "已配",
label: i18n.t("已配"),
},
],
// 驳船
bgExmtStatus: [
{
value: "1",
label: "无驳船",
label: i18n.t("无驳船"),
},
{
value: "2",
label: "有驳船",
label: i18n.t("有驳船"),
},
],
// 出单方式
billingMethod: [
{
value: "1",
label: "电放",
label: i18n.t("电放"),
},
{
value: "2",
label: "正本",
label: i18n.t("正本"),
},
],
// 是否有文件
isFile: [
{
value: "1",
label: "无需",
label: i18n.t("无需"),
},
{
value: "2",
label: "已做",
label: i18n.t("已做"),
},
],
};
......
......@@ -3,23 +3,23 @@
<el-row type="flex" style="margin-top: 15px; margin-bottom: 15px" justify="center">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="19">
<div style="display: flex; justify-content: space-between;align-items: flex-end;">
<h2>海空联运出货操作</h2>
<h2>{{$t('海空联运出货操作')}}</h2>
</div>
<!-- 信息 -->
<el-card style="margin-top: 15px">
<el-descriptions :column="5" border>
<el-descriptions-item label="自编号">{{shipmentObj.selfNo}}</el-descriptions-item>
<el-descriptions-item label="出货渠道">
<el-descriptions-item :label="$t('自编号')">{{shipmentObj.selfNo}}</el-descriptions-item>
<el-descriptions-item :label="$t('出货渠道')">
{{ channelName(shipmentObj.shippingChannelId) }}
</el-descriptions-item>
<el-descriptions-item label="始发地">
<el-descriptions-item :label="$t('始发地')">
{{importCityName(shipmentObj.startWarehouseId)}}
</el-descriptions-item>
<el-descriptions-item label="目的地">
<el-descriptions-item :label="$t('目的地')">
{{importCityName(shipmentObj.destWarehouseId)}}
</el-descriptions-item>
<el-descriptions-item label="状态">
<el-descriptions-item :label="$t('状态')">
{{shipmentObj.shipmentStatusText}}
</el-descriptions-item>
</el-descriptions>
......@@ -84,7 +84,7 @@ export default {
// 根据渠道id获取渠道名
channelName(){
return id => {
return this.keyedChannel[id] ? this.keyedChannel[id].nameZh : null
return this.keyedChannel[id] ? this.$l(this.keyedChannel[id], 'name') : null
}
},
},
......@@ -120,7 +120,7 @@ export default {
/* 获取仓库 */
importCityName(id) {
var arr = this.warehouseList.filter((item) => item.id == id);
return arr.length > 0 ? arr[0].titleZh : "";
return arr.length > 0 ? this.$l(arr[0], 'title') : "";
},
// 出货
getBoxInfo() {
......
......@@ -4,7 +4,7 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-plus" size="mini" @click="handleUpdate"
v-hasPermi="['ecw:currency:update']">修改
v-hasPermi="['ecw:currency:update']">{{$t('修改')}}
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
......@@ -12,27 +12,31 @@
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="金额" align="center" prop="fromFee">
<el-table-column :label="$t('金额')" align="center" prop="fromFee">
<template slot-scope="scope">
<span>{{scope.row.fromFee}}{{ scope.row.fromCurrency | currencyDataFilter(currencyDictDatas) }}</span>
<span>{{scope.row.fromFee}}
<dict-tag :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" :value="scope.row.fromCurrency" />
<!-- {{ scope.row.fromCurrency | currencyDataFilter(currencyDictDatas) }} -->
</span>
</template>
</el-table-column>
<el-table-column label="" align="center">=</el-table-column>
<el-table-column label="兑换金额" align="center">
<el-table-column :label="$t('兑换金额')" align="center">
<template slot-scope="scope">
<el-input v-show="showFlag" v-model="scope.row.toFee" type="text" @blur="updateEcash(scope.row)"></el-input>
<span v-show="!showFlag">{{ scope.row.toFee}}</span>
</template>
</el-table-column>
<el-table-column label="兑换货币类型" align="center" prop="toCurrency">
<el-table-column :label="$t('兑换货币类型')" align="center" prop="toCurrency">
<template slot-scope="scope">
<span>{{ scope.row.toCurrency | currencyDataFilter(currencyDictDatas) }}</span>
<dict-tag :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" :value="scope.row.toCurrency" />
<!-- <span>{{ scope.row.toCurrency | currencyDataFilter(currencyDictDatas) }}</span> -->
</template>
</el-table-column>
</el-table>
<el-card>
<el-form ref="retForm" :model="retForm">
<el-form-item label="有效时间(尼日利亚)">
<el-form-item :label="$t('有效时间') + '(' + $t('尼日利亚') + ')'">
<el-col :span="3">
<el-date-picker type="datetime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss"
v-model="retForm.nrlyStartTime"
......@@ -47,7 +51,7 @@
</el-form-item>
</el-form>
<el-form>
<el-form-item label="有效时间(北京)">
<el-form-item :label="$t('有效时间') +'(' + $t('北京') + ')'">
<el-col :span="3">
<el-date-picker type="datetime" :disable="showFlag" value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm:ss" @change="changeDictData3"
......@@ -63,7 +67,7 @@
</el-form-item>
</el-form>
<el-form :inline="true">
<el-form-item label="过期提示语:" prop="remark">
<el-form-item :label="$t('过期提示语')" prop="remark">
<el-input v-model="retForm.remark" type="textarea" @change="changeDictData5"></el-input>
</el-form-item>
</el-form>
......@@ -75,22 +79,23 @@
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="金额" prop="fromFee">
<el-input v-model="form.fromFee" placeholder="请输入金额"/>
<el-form-item :label="$t('金额')" prop="fromFee">
<el-input v-model="form.fromFee" :placeholder="$t('请输入金额')"/>
</el-form-item>
<el-form-item label="货币类型" prop="fromCurrency">
<el-select v-model="form.fromCurrency" clearable>
<el-form-item :label="$t('货币类型')" prop="fromCurrency">
<dict-selector :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" v-model="form.fromCurrency" />
<!-- <el-select v-model="form.fromCurrency" clearable>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE)" :key="parseInt(dict.value)"
:label="dict.label" :value="parseInt(dict.value)"/>
</el-select>
:label="$l(dict, 'label')" :value="parseInt(dict.value)"/>
</el-select> -->
</el-form-item>
<el-form-item label="兑换金额" prop="toFee">
<el-input v-model="form.toFee" placeholder="请输入兑换金额"/>
<el-form-item :label="$t('兑换金额')" prop="toFee">
<el-input v-model="form.toFee" :placeholder="$t('请输入兑换金额')"/>
</el-form-item>
<!-- <el-form-item label="状态" prop="show">-->
<!-- <el-input v-model="form.show" placeholder="请输入状态" />-->
<!-- <el-form-item :label="$t('状态')" prop="show">-->
<!-- <el-input v-model="form.show" :placeholder="$t('请输入状态')" />-->
<!-- </el-form-item>-->
<el-form-item label="兑换货币类型" prop="toCurrency">
<el-form-item :label="$t('兑换货币类型')" prop="toCurrency">
<el-select v-model="form.toCurrency" clearable>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE)" :key="parseInt(dict.value)"
:label="dict.label" :value="parseInt(dict.value)"/>
......@@ -98,28 +103,28 @@
</el-form-item>
<el-form-item label="开始时间(尼日利亚)" prop="nrlyStartTime">
<el-date-picker v-model="form.nrlyStartTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss"
type="datetime" placeholder="选择开始时间"></el-date-picker>
type="datetime" :placeholder="$t('选择开始时间')"></el-date-picker>
</el-form-item>
<el-form-item label="结束时间(尼日利亚)" prop="nrlyEndTime">
<el-date-picker v-model="form.nrlyEndTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss"
type="datetime" placeholder="选择结束时间"></el-date-picker>
type="datetime" :placeholder="$t('选择结束时间')"></el-date-picker>
</el-form-item>
<el-form-item label="开始时间(北京)" prop="bjStartTime">
<el-date-picker v-model="form.bjStartTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss"
type="datetime" placeholder="选择开始时间"></el-date-picker>
type="datetime" :placeholder="$t('选择开始时间')"></el-date-picker>
</el-form-item>
<el-form-item label="结束时间(北京)" prop="bjEndTime">
<el-date-picker v-model="form.bjEndTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss"
type="datetime" placeholder="选择结束时间"></el-date-picker>
type="datetime" :placeholder="$t('选择结束时间')"></el-date-picker>
</el-form-item>
<el-form-item label="过期提示语" prop="remark">
<el-form-item :label="$t('过期提示语')" prop="remark">
<el-input v-model="form.remark" type="textarea"></el-input>
</el-form-item>
<!-- <el-form-item label="" prop="createAt">-->
<!-- <el-input v-model="form.createAt" placeholder="请输入" />-->
<!-- <el-input v-model="form.createAt" :placeholder="$t('请输入')" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="" prop="updateAt">-->
<!-- <el-input v-model="form.updateAt" placeholder="请输入" />-->
<!-- <el-input v-model="form.updateAt" :placeholder="$t('请输入')" />-->
<!-- </el-form-item>-->
</el-form>
<div slot="footer" class="dialog-footer">
......@@ -147,14 +152,14 @@
export default {
name: "CurrencyEcash",
components: {},
filters: {
/* filters: {
currencyDataFilter(e, currencyDictDatas) {
if (e) return currencyDictDatas.find(item => item.value == e).label
if (e) return currencyDictDatas.find(item => item.value == e)
},
ecashDataFilter(e, ecashDatas) {
if (e) return ecashDatas.find(item => item.value == e).label
if (e) return ecashDatas.find(item => item.value == e)
}
},
}, */
data() {
return {
// 遮罩层
......@@ -196,9 +201,9 @@
form: {},
// 表单校验
rules: {},
statusDictDatas: getDictDatas(DICT_TYPE.COMMON_STATUS),
currencyDictDatas: getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE),
ecashDatas: getDictDatas(DICT_TYPE.ECASH_INIT),
/* statusDictDatas: getDictDatas(DICT_TYPE.COMMON_STATUS), */
/* currencyDictDatas: getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE), */
/* ecashDatas: getDictDatas(DICT_TYPE.ECASH_INIT), */
};
},
created() {
......@@ -252,7 +257,7 @@
handleAdd() {
this.reset();
this.open = true;
this.title = "添加E-Cash汇率单位";
this.title = this.$t("添加E-Cash汇率单位");
},
/** 修改按钮操作 */
handleUpdate() {
......@@ -267,7 +272,7 @@
},
updateEcash(row) {
updateCurrencyEcash(row).then(response => {
this.$modal.msgSuccess("修改成功");
this.$modal.msgSuccess(this.$t("修改成功"));
this.getList();
this.showFlag = false;
});
......@@ -275,7 +280,7 @@
changeDictData1(value) {
this.updForm.nrlyStartTime = value;
updateCurrencyEcashAll(this.updForm).then(response => {
this.$modal.msgSuccess("修改成功");
this.$modal.msgSuccess(this.$t("修改成功"));
this.getList();
this.showFlag = false;
});
......@@ -283,7 +288,7 @@
changeDictData2(value) {
this.updForm.nrlyEndTime = value;
updateCurrencyEcashAll(this.updForm).then(response => {
this.$modal.msgSuccess("修改成功");
this.$modal.msgSuccess(this.$t("修改成功"));
this.getList();
this.showFlag = false;
});
......@@ -291,7 +296,7 @@
changeDictData3(value) {
this.updForm.bjStartTime = value;
updateCurrencyEcashAll(this.updForm).then(response => {
this.$modal.msgSuccess("修改成功");
this.$modal.msgSuccess(this.$t("修改成功"));
this.getList();
this.showFlag = false;
});
......@@ -299,7 +304,7 @@
changeDictData4(value) {
this.updForm.bjEndTime = value;
updateCurrencyEcashAll(this.updForm).then(response => {
this.$modal.msgSuccess("修改成功");
this.$modal.msgSuccess(this.$t("修改成功"));
this.getList();
this.showFlag = false;
});
......@@ -307,7 +312,7 @@
changeDictData5(value) {
this.updForm.remark = value;
updateCurrencyEcashAll(this.updForm).then(response => {
this.$modal.msgSuccess("修改成功");
this.$modal.msgSuccess(this.$t("修改成功"));
this.getList();
this.showFlag = false;
});
......@@ -321,7 +326,7 @@
// 修改的提交
// if (this.form.id != null) {
// updateCurrencyEcash(this.form).then(response => {
// this.$modal.msgSuccess("修改成功");
// this.$modal.msgSuccess(this.$t("修改成功"));
// this.open = false;
// this.getList();
// });
......@@ -329,7 +334,7 @@
// }
// 添加的提交
createCurrencyEcash(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.$modal.msgSuccess(this.$t("新增成功"));
this.open = false;
this.getList();
});
......@@ -338,11 +343,11 @@
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除E-Cash汇率单位编号为"' + id + '"的数据项?').then(function () {
this.$modal.confirm(this.$t('是否确认删除E-Cash汇率单位编号为{id}的数据项?', {id})).then(function () {
return deleteCurrencyEcash(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
this.$modal.msgSuccess(this.$t("删除成功"));
}).catch(() => {
});
},
......@@ -354,7 +359,7 @@
params.pageSize = undefined;
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行导出
this.$modal.confirm('是否确认导出所有E-Cash汇率单位数据项?').then(() => {
this.$modal.confirm(this.$t('是否确认导出所有E-Cash汇率单位数据项?')).then(() => {
this.exportLoading = true;
return exportCurrencyEcashExcel(params);
}).then(response => {
......
......@@ -3,42 +3,42 @@
<!--人员目标进度-->
<el-card class="card">
<div slot="header" class="card-title">
人员目标进度
{{$t('人员目标进度')}}
</div>
<el-form>
<el-form-item>
{{detail.deptName}}-{{getDictDataLabel(DICT_TYPE.TARGET_TYPE,detail.targetType)}}
</el-form-item>
<el-form-item label="运输方式:">{{getDictDataLabel(DICT_TYPE.TRANSPORT_TYPE,detail.transportType)}}</el-form-item>
<el-form-item label="出货渠道:">{{ getShipChannelName(detail.shippingChannel) }}</el-form-item>
<el-form-item label="部门目标:">{{detail.cubeNum}}</el-form-item>
<el-form-item :label="$t('运输方式')">{{getDictDataLabel(DICT_TYPE.TRANSPORT_TYPE,detail.transportType)}}</el-form-item>
<el-form-item :label="$t('出货渠道')">{{ getShipChannelName(detail.shippingChannel) }}</el-form-item>
<el-form-item :label="$t('部门目标')">{{detail.cubeNum}}</el-form-item>
</el-form>
</el-card>
<el-card class="card">
<el-table v-loading="loading" :data="tableList">
<el-table-column label="员工名称" align="center" width="180">
<el-table-column :label="$t('员工名称')" align="center" width="180">
<template slot-scope="scope">
<span>{{scope.row.userName}}</span>
</template>
</el-table-column>
<el-table-column label="部门" align="center">
<el-table-column :label="$t('部门')" align="center">
<template>
<span>{{detail.deptName}}</span>
</template>
</el-table-column>
<el-table-column label="目标类型" align="center" prop="targetType">
<el-table-column :label="$t('目标类型')" align="center" prop="targetType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.TARGET_TYPE" :value="scope.row.targetType"/>
</template>
</el-table-column>
<el-table-column label="时间范围" align="center" prop="targetPeriodName">
<el-table-column :label="$t('时间范围')" align="center" prop="targetPeriodName">
<template slot-scope="scope">
<span>{{dateFormat(scope.row.startTime)}}~{{dateFormat(scope.row.endTime)}}</span>
</template>
</el-table-column>
<el-table-column label="个人目标方数" align="center" prop="personalCubeNum"/>
<el-table-column label="已完成方数" align="center" prop="personalCompleteCubeNum"/>
<el-table-column label="完成比例" align="center">
<el-table-column :label="$t('个人目标方数')" align="center" prop="personalCubeNum"/>
<el-table-column :label="$t('已完成方数')" align="center" prop="personalCompleteCubeNum"/>
<el-table-column :label="$t('完成比例')" align="center">
<template slot-scope="scope">
<span>{{ (scope.row.personalCompleteCubeNum/scope.row.personalCubeNum*100).toFixed(2)+'%' }}</span>
</template>
......@@ -125,9 +125,9 @@
form: {},
// 表单校验
rules: {
deptId: [{required: true, message: "部门ID不能为空", trigger: "blur"}],
targetType: [{required: true, message: "目标类型不能为空", trigger: "change"}],
cubeNum: [{required: true, message: "立方数不能为空", trigger: "blur"}],
deptId: [{required: true, message: this.$t("部门ID不能为空"), trigger: "blur"}],
targetType: [{required: true, message: this.$t("目标类型不能为空"), trigger: "change"}],
cubeNum: [{required: true, message: this.$t("立方数不能为空"), trigger: "blur"}],
}
};
},
......@@ -137,7 +137,7 @@
for (let index in this.channelList) {
let channelItem = this.channelList[index];
if (channelItem.channelId == shippingChannelId) {
return channelItem.nameZh;
return this.$l(channelItem, 'name');
}
}
return '/'
......@@ -233,7 +233,7 @@
this.targetPeriod = this.monthList;
this.reset();
this.open = true;
this.title = "添加部门业绩目标设置";
this.title = this.$t("添加部门业绩目标设置");
},
/** 查看人员目标情况 */
handleView(row) {
......@@ -262,7 +262,7 @@
this.targetPeriod = this.yearList;
}
this.open = true;
this.title = "修改部门业绩目标设置";
this.title = this.$t("修改部门业绩目标设置");
});
},
/** 提交按钮 */
......@@ -274,7 +274,7 @@
// 修改的提交
if (this.form.id != null) {
updateDeptTarget(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$modal.msgSuccess(this.$t("修改成功"));
this.open = false;
this.getList();
});
......@@ -282,7 +282,7 @@
}
// 添加的提交
createDeptTarget(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.$modal.msgSuccess(this.$t("新增成功"));
this.open = false;
this.getList();
});
......@@ -291,11 +291,11 @@
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除部门业绩目标设置编号为"' + id + '"的数据项?').then(function () {
this.$modal.confirm(this.$t('是否确认删除部门业绩目标设置编号为{id}的数据项?', {id})).then(function () {
return deleteDeptTarget(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
this.$modal.msgSuccess(this.$t("删除成功"));
}).catch(() => {
});
},
......@@ -309,7 +309,7 @@
this.addBeginAndEndTime(params, this.dateRangeStartTime, 'startTime');
this.addBeginAndEndTime(params, this.dateRangeEndTime, 'endTime');
// 执行导出
this.$modal.confirm('是否确认导出所有部门业绩目标设置数据项?').then(() => {
this.$modal.confirm(this.$t('是否确认导出所有部门业绩目标设置数据项?')).then(() => {
this.exportLoading = true;
return exportDeptTargetExcel(params);
}).then(response => {
......
......@@ -3,26 +3,26 @@
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="部门" prop="deptId">
<el-select v-model="queryParams.deptId" style="width: 300px;" placeholder="请选择部门">
<el-form-item :label="$t('部门')" prop="deptId">
<el-select v-model="queryParams.deptId" style="width: 300px;" :placeholder="$t('请选择部门')">
<el-option v-for="item in this.deptData" :key="item.id" :label="item.name" :value="item.id"/>
</el-select>
</el-form-item>
<el-form-item label="目标类型" prop="targetType">
<el-form-item :label="$t('目标类型')" prop="targetType">
<dict-selector :type="DICT_TYPE.TARGET_TYPE" v-model="queryParams.targetType" formatter="number"/>
</el-form-item>
<el-form-item label="运输方式" prop="transportType">
<el-form-item :label="$t('运输方式')" prop="transportType">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportType" formatter="number"/>
</el-form-item>
<el-form-item label="出货渠道" prop="shippingChannel">
<el-select v-model="queryParams.shippingChannel" placeholder="请选择出货渠道">
<el-form-item :label="$t('出货渠道')" prop="shippingChannel">
<el-select v-model="queryParams.shippingChannel" :placeholder="$t('请选择出货渠道')">
<el-option v-for="item in channelList" :label="item.nameZh" :value="item.channelId"
:key="item.channelId"></el-option>
</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>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
</el-form-item>
</el-form>
......@@ -30,7 +30,7 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['ecw:dept-target:create']">目标设置
v-hasPermi="['ecw:dept-target:create']">{{$t('目标设置')}}
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
......@@ -38,49 +38,49 @@
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="目标名称" align="center" width="180">
<el-table-column :label="$t('目标名称')" align="center" width="180">
<template slot-scope="scope">
<router-link :to="{path: '/deptTarget/empAchievement',query: {row: scope.row}}" class="link-type">
<span>{{scope.row.deptName}}{{scope.row.targetPeriodName}}目标</span>
<span>{{scope.row.deptName}}{{scope.row.targetPeriodName}}{{$t('目标')}}</span>
</router-link>
</template>
</el-table-column>
<el-table-column label="部门" align="center" prop="deptName"/>
<el-table-column label="目标类型" align="center" prop="targetType">
<el-table-column :label="$t('部门')" align="center" prop="deptName"/>
<el-table-column :label="$t('目标类型')" align="center" prop="targetType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.TARGET_TYPE" :value="scope.row.targetType"/>
</template>
</el-table-column>
<el-table-column label="时间范围" align="center" prop="targetPeriodName">
<el-table-column :label="$t('时间范围')" align="center" prop="targetPeriodName">
<template slot-scope="scope">
<span>{{dateFormat(scope.row.startTime)}}~{{dateFormat(scope.row.endTime)}}</span>
</template>
</el-table-column>
<el-table-column label="部门人数" align="center" prop="deptEmpCount"/>
<el-table-column label="目标方数" align="center" prop="cubeNum"/>
<el-table-column label="运输方式" align="center" prop="transportType">
<el-table-column :label="$t('部门人数')" align="center" prop="deptEmpCount"/>
<el-table-column :label="$t('目标方数')" align="center" prop="cubeNum"/>
<el-table-column :label="$t('运输方式')" align="center" prop="transportType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.TRANSPORT_TYPE" :value="scope.row.transportType"/>
</template>
</el-table-column>
<el-table-column label="出货渠道" align="center" prop="shippingChannel">
<el-table-column :label="$t('出货渠道')" align="center" prop="shippingChannel">
<template slot-scope="scope">
<span>{{ getShipChannelName(scope.row.shippingChannel) }}</span>
</template>
</el-table-column>
<el-table-column label="已完成方数" align="center" prop="completeCubeNum"/>
<el-table-column label="完成比例" align="center">
<el-table-column :label="$t('已完成方数')" align="center" prop="completeCubeNum"/>
<el-table-column :label="$t('完成比例')" align="center">
<template slot-scope="scope">
<span>{{ (scope.row.completeCubeNum/scope.row.cubeNum*100).toFixed(2)+'%' }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:dept-target:update']">修改
v-hasPermi="['ecw:dept-target:update']">{{$t('修改')}}
</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ecw:dept-target:delete']">删除
v-hasPermi="['ecw:dept-target:delete']">{{$t('删除')}}
</el-button>
<!-- <el-button size="mini" type="text" icon="el-icon-search" @click="handleView(scope.row)"-->
<!-- v-hasPermi="['ecw:dept-target:create']"></el-button>-->
......@@ -94,38 +94,39 @@
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="部门" prop="deptId">
<el-select v-model="form.deptId" style="width: 300px;" placeholder="请选择部门">
<el-form-item :label="$t('部门')" prop="deptId">
<el-select v-model="form.deptId" style="width: 300px;" :placeholder="$t('请选择部门')">
<el-option v-for="item in this.deptData" :key="item.id" :label="item.name" :value="item.id"/>
</el-select>
</el-form-item>
<el-form-item label="目标类型" prop="targetType">
<el-select v-model="form.targetType" placeholder="请选择运输方式" @change="changeList">
<el-form-item :label="$t('目标类型')" prop="targetType">
<!-- <el-select v-model="form.targetType" :placeholder="$t('请选择运输方式')" @change="changeList">
<el-option v-for="dict in getDictDatas(DICT_TYPE.TARGET_TYPE)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)"/>
</el-select>
</el-select> -->
<dict-selector :type="DICT_TYPE.TARGET_TYPE" v-model="form.targetType" :placeholder="$t('请选择目标类型')" />
</el-form-item>
<el-form-item label="计算周期" prop="targetPeriodName">
<el-select v-model="form.targetPeriodName" placeholder="请选择计算周期" @change="setTime">
<el-form-item :label="$t('计算周期')" prop="targetPeriodName">
<el-select v-model="form.targetPeriodName" :placeholder="$t('请选择计算周期')" @change="setTime">
<el-option v-for="item in targetPeriod" :label="item.name" :value="item.name" :key="item.name"></el-option>
</el-select>
</el-form-item>
<el-form-item label="运输方式" prop="transportType">
<el-form-item :label="$t('运输方式')" prop="transportType">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="form.transportType" formatter="number" @change="showChannel"/>
</el-form-item>
<el-form-item label="出货渠道" prop="shippingChannel" v-if="this.showFlag">
<el-select v-model="form.shippingChannel" placeholder="请选择出货渠道">
<el-option v-for="item in channelList" :label="item.nameZh" :value="item.channelId"
<el-form-item :label="$t('出货渠道')" prop="shippingChannel" v-if="this.showFlag">
<el-select v-model="form.shippingChannel" :placeholder="$t('请选择出货渠道')">
<el-option v-for="item in channelList" :label="$l(item, 'name')" :value="item.channelId"
:key="item.channelId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="立方数" prop="cubeNum">
<el-input v-model="form.cubeNum" placeholder="请输入立方数"/>
<el-form-item :label="$t('立方数')" prop="cubeNum">
<el-input v-model="form.cubeNum" :placeholder="$t('请输入立方数')"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
<el-button type="primary" @click="submitForm">{{$t('确定')}}</el-button>
<el-button @click="cancel">{{$t('取消')}}</el-button>
</div>
</el-dialog>
......@@ -207,11 +208,11 @@
form: {},
// 表单校验
rules: {
deptId: [{required: true, message: "部门不能为空", trigger: "blur"}],
targetType: [{required: true, message: "目标类型不能为空", trigger: "change"}],
targetPeriodName: [{required: true, message: "计算周期不能为空", trigger: "change"}],
transportType: [{required: true, message: "运输方式不能为空", trigger: "change"}],
cubeNum: [{required: true, message: "立方数不能为空", trigger: "blur"}],
deptId: [{required: true, message: this.$t("部门不能为空"), trigger: "blur"}],
targetType: [{required: true, message: this.$t("目标类型不能为空"), trigger: "change"}],
targetPeriodName: [{required: true, message: this.$t("计算周期不能为空"), trigger: "change"}],
transportType: [{required: true, message: this.$t("运输方式不能为空"), trigger: "change"}],
cubeNum: [{required: true, message: this.$t("立方数不能为空"), trigger: "blur"}],
}
};
},
......@@ -221,7 +222,7 @@
for (let index in this.channelList) {
let channelItem = this.channelList[index];
if (channelItem.channelId == shippingChannelId) {
return channelItem.nameZh;
return $l(channelItem, 'name');
}
}
return '/'
......@@ -343,7 +344,7 @@
this.targetPeriod = this.monthList;
this.reset();
this.open = true;
this.title = "添加部门业绩目标设置";
this.title = this.$t("添加部门业绩目标设置");
},
/** 查看人员目标情况 */
handleView(row) {
......@@ -372,7 +373,7 @@
this.targetPeriod = this.yearList;
}
this.open = true;
this.title = "修改部门业绩目标设置";
this.title = this.$t("修改部门业绩目标设置");
});
},
/** 提交按钮 */
......@@ -384,7 +385,7 @@
// 修改的提交
if (this.form.id != null) {
updateDeptTarget(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$modal.msgSuccess(this.$t("修改成功"));
this.open = false;
this.getList();
});
......@@ -392,7 +393,7 @@
}
// 添加的提交
createDeptTarget(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.$modal.msgSuccess(this.$t("新增成功"));
this.open = false;
this.getList();
});
......@@ -401,11 +402,11 @@
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除部门业绩目标设置编号为"' + id + '"的数据项?').then(function () {
this.$modal.confirm(this.$t('是否确认删除部门业绩目标设置编号为{id}的数据项?', {id})).then(function () {
return deleteDeptTarget(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
this.$modal.msgSuccess(this.$t("删除成功"));
}).catch(() => {
});
},
......@@ -419,7 +420,7 @@
this.addBeginAndEndTime(params, this.dateRangeStartTime, 'startTime');
this.addBeginAndEndTime(params, this.dateRangeEndTime, 'endTime');
// 执行导出
this.$modal.confirm('是否确认导出所有部门业绩目标设置数据项?').then(() => {
this.$modal.confirm(this.$t('是否确认导出所有部门业绩目标设置数据项?')).then(() => {
this.exportLoading = true;
return exportDeptTargetExcel(params);
}).then(response => {
......
......@@ -3,50 +3,50 @@
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="运输方式" prop="transportType">
<el-form-item :label="$t('运输方式')" prop="transportType">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportType" formatter="number"/>
</el-form-item>
<el-form-item label="出货渠道" prop="shippingChannel">
<el-select v-model="queryParams.shippingChannel" placeholder="请选择出货渠道">
<el-form-item :label="$t('出货渠道')" prop="shippingChannel">
<el-select v-model="queryParams.shippingChannel" :placeholder="$t('请选择出货渠道')">
<el-option v-for="item in channelList" :label="item.nameZh" :value="item.channelId"
:key="item.channelId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="开始时间" prop="beginStartTime">
<el-date-picker v-model="queryParams.beginStartTime" placeholder="请选择开始时间" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('开始时间')" prop="beginStartTime">
<el-date-picker v-model="queryParams.beginStartTime" :placeholder="$t('请选择开始时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item label="结束时间" prop="endStartTime">
<el-date-picker v-model="queryParams.endStartTime" placeholder="请选择结束时间" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item :label="$t('结束时间')" prop="endStartTime">
<el-date-picker v-model="queryParams.endStartTime" :placeholder="$t('请选择结束时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
</el-form-item>
</el-form>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="序号" align="center" type="index"></el-table-column>
<el-table-column label="报价单号" align="center" width="180">
<el-table-column :label="$t('序号')" align="center" type="index"></el-table-column>
<el-table-column :label="$t('报价单号')" align="center" width="180">
<template slot-scope="scope">
<span>{{scope.row.offerId}}</span>
</template>
</el-table-column>
<el-table-column label="报价结果" align="center">
<el-table-column :label="$t('报价结果')" align="center">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_OFFER_STATUS" :value="scope.row.offerStatus"/>
</template>
</el-table-column>
<el-table-column label="订单号" align="center" prop="orderId"/>
<el-table-column label="发货人" align="center" prop="consignorName"/>
<el-table-column label="唛头" align="center" prop="marks"/>
<el-table-column label="是否控货" align="center" prop="isCargoControl">
<el-table-column :label="$t('订单号')" align="center" prop="orderId"/>
<el-table-column :label="$t('发货人')" align="center" prop="consignorName"/>
<el-table-column :label="$t('唛头')" align="center" prop="marks"/>
<el-table-column :label="$t('是否控货')" align="center" prop="isCargoControl">
<template slot-scope="scope">
{{scope.row.isCargoControl?'':''}}
{{scope.row.isCargoControl?$t(''):$t('')}}
</template>
</el-table-column>
<el-table-column label="方数" align="center" prop="sumVolume"/>
<el-table-column label="下单时间" align="center" prop="createTime"/>
<el-table-column label="订单状态" align="center">
<el-table-column :label="$t('方数')" align="center" prop="sumVolume"/>
<el-table-column :label="$t('下单时间')" align="center" prop="createTime"/>
<el-table-column :label="$t('订单状态')" align="center">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="scope.row.status"/>
</template>
......@@ -131,9 +131,9 @@
form: {},
// 表单校验
rules: {
deptId: [{required: true, message: "部门ID不能为空", trigger: "blur"}],
targetType: [{required: true, message: "目标类型不能为空", trigger: "change"}],
cubeNum: [{required: true, message: "立方数不能为空", trigger: "blur"}],
deptId: [{required: true, message: this.$t("部门ID不能为空"), trigger: "blur"}],
targetType: [{required: true, message: this.$t("目标类型不能为空"), trigger: "change"}],
cubeNum: [{required: true, message: this.$t("立方数不能为空"), trigger: "blur"}],
}
};
},
......@@ -143,7 +143,7 @@
for (let index in this.channelList) {
let channelItem = this.channelList[index];
if (channelItem.channelId == shippingChannelId) {
return channelItem.nameZh;
return this.$l(channelItem, 'name');
}
}
return '/'
......@@ -229,7 +229,7 @@
this.targetPeriod = this.monthList;
this.reset();
this.open = true;
this.title = "添加部门业绩目标设置";
this.title = this.$t("添加部门业绩目标设置");
},
/** 查看人员目标情况 */
handleView(row) {
......@@ -258,7 +258,7 @@
this.targetPeriod = this.yearList;
}
this.open = true;
this.title = "修改部门业绩目标设置";
this.title = this.$t("修改部门业绩目标设置");
});
},
/** 提交按钮 */
......@@ -270,7 +270,7 @@
// 修改的提交
if (this.form.id != null) {
updateDeptTarget(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$modal.msgSuccess(this.$t("修改成功"));
this.open = false;
this.getList();
});
......@@ -278,7 +278,7 @@
}
// 添加的提交
createDeptTarget(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.$modal.msgSuccess(this.$t("新增成功"));
this.open = false;
this.getList();
});
......@@ -287,11 +287,11 @@
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除部门业绩目标设置编号为"' + id + '"的数据项?').then(function () {
this.$modal.confirm(this.$t('是否确认删除部门业绩目标设置编号为{id}的数据项?', {id})).then(function () {
return deleteDeptTarget(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
this.$modal.msgSuccess(this.$t("删除成功"));
}).catch(() => {
});
},
......@@ -305,7 +305,7 @@
this.addBeginAndEndTime(params, this.dateRangeStartTime, 'startTime');
this.addBeginAndEndTime(params, this.dateRangeEndTime, 'endTime');
// 执行导出
this.$modal.confirm('是否确认导出所有部门业绩目标设置数据项?').then(() => {
this.$modal.confirm(this.$t('是否确认导出所有部门业绩目标设置数据项?')).then(() => {
this.exportLoading = true;
return exportDeptTargetExcel(params);
}).then(response => {
......
......@@ -364,10 +364,10 @@ export default {
return this.$showFormValidateErrors(errors)
}
if(!this.formData.bankList.length){
return this.$message.error('请添加银行信息')
return this.$message.error(this.$t('请添加银行信息'))
}
if(!this.formData.contactList.length){
return this.$message.error('请添加联系人信息')
return this.$message.error(this.$t('请添加联系人信息'))
}
let data = Object.assign({}, this.formData)
......
......@@ -93,7 +93,7 @@
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="" align="center" prop="id" />
<el-table-column :label="$t('公司名称')" align="center" prop="companyZh" />
<el-table-column :label="$t('公司名称')" align="center" :prop="$l('company')" />
<!--el-table-column label="英文名称" align="center" prop="companyEn" /-->
<el-table-column :label="$t('供应商代码')" align="center" prop="companyCode" />
<el-table-column :label="$t('代理商名称')" align="center" prop="agentName" />
......
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