Commit 11f534d5 authored by huhaiqing's avatar huhaiqing

海运缺陷单修复

parent a8b17a4a
...@@ -9,67 +9,67 @@ ...@@ -9,67 +9,67 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="自编号" prop="selfNo"> <el-form-item :label="$t('自编号')" prop="selfNo">
<el-input v-model="queryParams.selfNo" placeholder="请输入自编号" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.selfNo" :placeholder="$t('请输入自编号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="柜号" prop="cubNo"> <el-form-item :label="$t('柜号')" prop="cubNo">
<el-input v-model="queryParams.cubNo" placeholder="请输入柜号" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.cubNo" :placeholder="$t('请输入柜号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="柜型" prop="cabinetId"> <el-form-item :label="$t('柜型')" prop="cabinetId">
<el-select v-model="queryParams.cabinetId" placeholder="请选择柜型"> <el-select v-model="queryParams.cabinetId" :placeholder="$t('请选择柜型')">
<el-option v-for="item in cabinetList" :label="item.name" :value="item.name" :key="item.id"></el-option> <el-option v-for="item in cabinetList" :label="$l(item, 'name')" :value="item.name" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="始发地" prop="startWarehouseId"> <el-form-item :label="$t('始发地')" prop="startWarehouseId">
<el-select v-model="queryParams.startWarehouseId" placeholder="请选择始发地"> <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-option v-for="item in exportWarehouseList" :label="$l(item, 'titleZh')" :value="item.id" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="目的地" prop="destWarehouseId"> <el-form-item :label="$t('目的地')" prop="destWarehouseId">
<el-select v-model="queryParams.destWarehouseId" placeholder="请选择目的地"> <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-option v-for="item in importWarehouseList" :label="$l(item, 'titleZh')" :value="item.id" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="" prop="date"> <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-option v-for="item in dateTypes" :key="item.value" :label="$l(item, 'label')" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label=""> <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="结束日期" /> <el-date-picker v-model="queryParams.dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="boxStatus"> <el-form-item :label="$t('状态')" prop="boxStatus">
<el-select v-model="queryParams.boxStatus" placeholder="请选择状态" clearable size="small"> <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" /> <el-option v-for="dict in this.getDictDatas(DICT_TYPE.BOX_SHIPMENT_STATUS)" :key="dict.value" :label="$l(dict, 'label')" :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="国家"> <el-form-item :label="$t('国家')">
<el-select v-model="queryParams.countryId" placeholder="请选择国家"> <el-select v-model="queryParams.countryId" :placeholder="$t('请选择国家')">
<el-option v-for="item in countryList" :key="item.id" :label="item.titleZh" :value="item.id"> <el-option v-for="item in countryList" :key="item.id" :label="$l(item, 'titleZh')" :value="item.id">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<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-button icon="el-icon-refresh" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<!-- 操作工具栏 --> <!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['shipment:box:create']">出货安排 <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['shipment:box:create']">{{$t('出货安排')}}
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="1.5"> <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']">导出 <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading" v-hasPermi="['shipment:box:export']">{{$t('导出')}}
</el-button> </el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
...@@ -77,54 +77,54 @@ ...@@ -77,54 +77,54 @@
<!-- 列表 --> <!-- 列表 -->
<el-table v-loading="loading" :data="list"> <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"> <template slot-scope="scope">
<a href="javascript:void(0)" @click="handleCommand(scope.row, 'detail')">{{ scope.row.selfNo }}</a> <a href="javascript:void(0)" @click="handleCommand(scope.row, 'detail')">{{ scope.row.selfNo }}</a>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="柜号" align="center" prop="cubNo" /> <el-table-column :label="$t('柜号')" align="center" prop="cubNo" />
<el-table-column label="柜型" align="center" prop="cabinetId"> <el-table-column :label="$t('柜型')" align="center" prop="cabinetId">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ getCabinetName(scope.row.cabinetId) }}</span> <span>{{ getCabinetName(scope.row.cabinetId) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="运输方式" align="center" prop="transportType"> <el-table-column :label="$t('运输方式')" align="center" prop="transportType">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.transportType" /> <dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.transportType" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="方数(预装/已装)" align="center" prop=""> <el-table-column :label="$t('方数(预装/已装)')" align="center" prop="">
<template slot-scope="{row}"> <template slot-scope="{row}">
{{row.boxStatistics.volume}}/{{row.boxStatistics.loadVolume}} {{row.boxStatistics.volume}}/{{row.boxStatistics.loadVolume}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="重量(预装/已装)" align="center" prop="weight"> <el-table-column :label="$t('重量(预装/已装)')" align="center" prop="weight">
<template slot-scope="{row}"> <template slot-scope="{row}">
{{row.boxStatistics.weight}}/{{row.boxStatistics.loadWeight}} {{row.boxStatistics.weight}}/{{row.boxStatistics.loadWeight}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="状态" align="center" prop="shipmentStatusText" /> <el-table-column :label="$t('状态')" align="center" prop="shipmentStatusText" />
<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"> <template slot-scope="scope">
<span>{{ new Date(scope.row.createTime).format('yyyy-MM-dd hh:mm:ss') }}</span> <span>{{ new Date(scope.row.createTime).format('yyyy-MM-dd hh:mm:ss') }}</span>
</template> </template>
</el-table-column> </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"> <template slot-scope="scope">
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)" style="marginRight:10px;"> <el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)" style="marginRight:10px;">
<el-button type="primary"> <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-button>
<el-dropdown-menu slot="dropdown"> <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="sea">操作-海运</el-dropdown-item> <el-dropdown-item command="sea">{{$t('操作-海运')}}</el-dropdown-item>
<el-dropdown-item command="error">异常登记</el-dropdown-item> <el-dropdown-item command="error">{{$t('异常登记')}}</el-dropdown-item>
<el-dropdown-item command="cost">费用登记</el-dropdown-item> <el-dropdown-item command="cost">{{$t('费用登记')}}</el-dropdown-item>
<el-dropdown-item command="delete">删除</el-dropdown-item> <el-dropdown-item command="delete">{{$t('删除')}}</el-dropdown-item>
<el-dropdown-item v-if="scope.row.ldStatus>42" command="editLadingBill">编辑提货单</el-dropdown-item> <el-dropdown-item v-if="scope.row.ldStatus>42" command="editLadingBill">{{$t('编辑提货单')}}</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)"> <el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)">
...@@ -166,17 +166,17 @@ ...@@ -166,17 +166,17 @@
<div class="notice-title">您有{{noticeList.length}}个待处理出货操作,请尽快前往处理:</div> <div class="notice-title">您有{{noticeList.length}}个待处理出货操作,请尽快前往处理:</div>
<el-table :data="noticeList" height="500px" border> <el-table :data="noticeList" height="500px" border>
<el-table-column :label="$t('自编号')" align="center" prop="selfNo" /> <el-table-column :label="$t('自编号')" align="center" prop="selfNo" />
<el-table-column label="类型" align="center"> <el-table-column :label="$t('类型')" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_NOTICE_TYPE" :value="String(scope.row.noticeType)" /> <dict-tag :type="DICT_TYPE.BOX_SHIPPING_NOTICE_TYPE" :value="String(scope.row.noticeType)" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="预计时间" align="center"> <el-table-column :label="$t('预计时间')" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{formatDate(scope.row.createTime)}} {{formatDate(scope.row.createTime)}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="80"> <el-table-column :label="$t('操作')" align="center" width="80">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="handleCommand(scope.row, 'sea')">处理</el-button> <el-button type="text" @click="handleCommand(scope.row, 'sea')">处理</el-button>
</template> </template>
......
...@@ -192,6 +192,7 @@ export default { ...@@ -192,6 +192,7 @@ export default {
} }
this.currRow = row; this.currRow = row;
this.$set(this.dialogCfg, "type", type); this.$set(this.dialogCfg, "type", type);
this.$set(this.dialogCfg, "width", "750px");
this.$set(this.dialogCfg, "visible", true); this.$set(this.dialogCfg, "visible", true);
}, },
makeBill(row) { makeBill(row) {
...@@ -201,11 +202,10 @@ export default { ...@@ -201,11 +202,10 @@ export default {
}).then((res) => { }).then((res) => {
const { data } = res; const { data } = res;
const { titleZh = "", contentZh = "" } = data?.ladingTemplate ?? {}; const { titleZh = "", contentZh = "" } = data?.ladingTemplate ?? {};
let billContent = `${titleZh}${data.orderInfo}${contentZh}`, let billContent = `${titleZh}${data.orderInfo}${contentZh}`;
orderNo = data.orderInfo?.orderNo ?? "";
this.currData = { this.currData = {
billContent, billContent,
orderNo, orderNo: this.currRow.orderNo,
}; };
}); });
}, },
......
...@@ -3,7 +3,9 @@ ...@@ -3,7 +3,9 @@
<el-row> <el-row>
<div class="title-orderNo">订单号:{{orderNo}}</div> <div class="title-orderNo">订单号:{{orderNo}}</div>
</el-row> </el-row>
<vue-ueditor-wrap v-model="billContent" :config="editorConfig" editor-id="billUeditor" /> <el-row class="ueditor-row">
<vue-ueditor-wrap v-model="billContent" :config="editorConfig" editor-id="billUeditor" style="max-width: 690px;" />
</el-row>
<!-- 审核流程 --> <!-- 审核流程 -->
<el-row class="process-area"> <el-row class="process-area">
...@@ -22,7 +24,7 @@ ...@@ -22,7 +24,7 @@
</div> </div>
</el-row> </el-row>
<el-dialog :title="dialogCfg.title" :visible.sync="visible" width="80%" append-to-body class="shippingSea-dialog"> <el-dialog :title="dialogCfg.title" :visible.sync="visible" width="850px" append-to-body class="shippingSea-dialog">
<previewBill v-if="visible" :contentHtml="billContent" :currRow="currRow" :type="dialogCfg.type" /> <previewBill v-if="visible" :contentHtml="billContent" :currRow="currRow" :type="dialogCfg.type" />
</el-dialog> </el-dialog>
</el-row> </el-row>
...@@ -234,5 +236,9 @@ export default { ...@@ -234,5 +236,9 @@ export default {
text-align: center; text-align: center;
} }
} }
.ueditor-row {
display: flex;
justify-content: center;
}
} }
</style> </style>
<template> <template>
<el-row> <el-row>
<div v-html="contentHtml"></div> <div v-html="contentHtml" class="contentHtml"></div>
<el-row v-if="currRow.status === 2 && type === 'previewBill'" style="text-align: center;"> <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="download">下载</el-button>
<el-button type="primary" @click="print">打印</el-button> <el-button type="primary" @click="print">打印</el-button>
...@@ -55,6 +55,11 @@ export default { ...@@ -55,6 +55,11 @@ export default {
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep .contentHtml {
> table {
width: 96% !important;
margin-left: 2%;
}
}
</style> </style>
...@@ -318,22 +318,18 @@ export default { ...@@ -318,22 +318,18 @@ export default {
}, },
/* 打开拆单 */ /* 打开拆单 */
getSplit() { getSplit() {
this.querySplitGoods().then((res) => { if (this.currRow.goodsList && this.currRow.goodsList.length) {
if (res) { const [orderItem] = this.currRow.goodsList;
if (this.currRow.goodsList && this.currRow.goodsList.length) { createSplit({
const [orderItem] = this.currRow.goodsList; parentOrderId: this.currRow.orderId,
createSplit({ parentOrderNo: this.currRow.orderNo,
parentOrderId: this.currRow.orderId, dstWarehouseId: orderItem.destWarehouseId,
parentOrderNo: this.currRow.orderNo, transportId: orderItem.transportId,
dstWarehouseId: orderItem.destWarehouseId, shipmentType: 1,
transportId: orderItem.transportId, }).then((res) => {
shipmentType: 1, this.querySplitGoods();
}).then((res) => { });
this.querySplitGoods(); }
});
}
}
});
}, },
/* 查询拆单项 */ /* 查询拆单项 */
querySplitGoods() { querySplitGoods() {
...@@ -389,8 +385,14 @@ export default { ...@@ -389,8 +385,14 @@ export default {
leviteSum, leviteSum,
column.warehouseInInfoVO?.cartonsNum ?? 0 column.warehouseInInfoVO?.cartonsNum ?? 0
).toNumber(); ).toNumber();
leviteV += Decimal.add(leviteV, column.warehouseInInfoVO?.volume ?? 0).toFixed(2); leviteV += Decimal.add(
leviteW += Decimal.add(leviteW, column.warehouseInInfoVO?.weight ?? 0).toFixed(2); leviteV,
column.warehouseInInfoVO?.volume ?? 0
).toFixed(2);
leviteW += Decimal.add(
leviteW,
column.warehouseInInfoVO?.weight ?? 0
).toFixed(2);
}); });
sums[1] = sums[1] =
"下单统计:" + "下单统计:" +
...@@ -460,7 +462,10 @@ export default { ...@@ -460,7 +462,10 @@ export default {
if (valid) { if (valid) {
// 输入箱数大于实装箱数 // 输入箱数大于实装箱数
const total = this.totalSplitNum(); const total = this.totalSplitNum();
const canSplitNum = Decimal.sub(this.currRow.num, this.currRow.installNum).toNumber(); const canSplitNum = Decimal.sub(
this.currRow.num,
this.currRow.installNum
).toNumber();
const remain = Decimal.sub(canSplitNum, total).toNumber(); const remain = Decimal.sub(canSplitNum, total).toNumber();
if (this.shopForm.num > remain) { if (this.shopForm.num > remain) {
this.$message.error("放入箱数不能大于总箱数"); this.$message.error("放入箱数不能大于总箱数");
......
...@@ -545,7 +545,7 @@ export default { ...@@ -545,7 +545,7 @@ export default {
}, },
/* 是否显示拆单 */ /* 是否显示拆单 */
isShowSplitOrder(row) { isShowSplitOrder(row) {
if (row.num > row.installNum) { if (row.num > row.installNum && row.installNum !== 0) {
return true; return true;
} }
return false; return false;
......
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