Commit 97a11006 authored by lanbaoming's avatar lanbaoming

2024-05-23-3提交

parent eb62b30b
...@@ -224,6 +224,7 @@ import { getCabinetPage } from "@/api/ecw/cabinet"; ...@@ -224,6 +224,7 @@ import { getCabinetPage } from "@/api/ecw/cabinet";
import { getWarehouseList } from "@/api/ecw/warehouse"; import { getWarehouseList } from "@/api/ecw/warehouse";
import { getListTree } from "@/api/ecw/region"; import { getListTree } from "@/api/ecw/region";
import costForm from "./costForm.vue"; import costForm from "./costForm.vue";
//异常登记对话框
import regError from "./regError.vue"; import regError from "./regError.vue";
import editForm from "./editForm.vue"; import editForm from "./editForm.vue";
import ladingBill from "./ladingBill/index.vue"; import ladingBill from "./ladingBill/index.vue";
......
...@@ -228,6 +228,22 @@ ...@@ -228,6 +228,22 @@
:label="$t('报关费用')" :label="$t('报关费用')"
align="center" align="center"
></el-table-column> ></el-table-column>
<el-table-column
prop=""
:label="$t('异常操作')"
align="center"
width="120px"
>
<!--lanbm 2024-05-23 添加异常登记功能-->
<template slot-scope="scope">
<el-button
type="primary"
size="small"
@click="() => updateStatus_2('single', scope.row)"
>{{ $t("异常登记") }}</el-button
>
</template>
</el-table-column>
<el-table-column <el-table-column
prop="" prop=""
:label="$t('操作')" :label="$t('操作')"
...@@ -696,6 +712,12 @@ export default { ...@@ -696,6 +712,12 @@ export default {
handleSelectionChange(selected) { handleSelectionChange(selected) {
this.selectedRows = selected; this.selectedRows = selected;
}, },
updateStatus_2(type, row) {
//lanbm 2024-05-23 添加的异常登记功能
this.$set(this.dialogConfig, "visible", true);
this.$set(this.dialogConfig, "title", this.$t("异常登记"));
this.$set(this.dialogConfig, "type", "error");
},
/* 更新状态 */ /* 更新状态 */
updateStatus(type, row) { updateStatus(type, row) {
let orders = []; let orders = [];
......
<template> <template>
<div class="app-container shipping-detail"> <div class="app-container shipping-detail">
<el-row type="flex" style="margin-top: 15px; margin-bottom: 15px" justify="center"> <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"> <el-col :xs="24" :sm="24" :md="24" :lg="20" :xl="22">
<div style="display: flex; justify-content: space-between;align-items: flex-end;"> <div
<h2>{{$t('出货详情')}}</h2> style="
display: flex;
justify-content: space-between;
align-items: flex-end;
"
>
<h2>{{ $t("出货详情") }}</h2>
<div> <div>
<!-- <el-button size="small" @click="handleCommand('edit')">{{$t('编辑')}}</el-button> --> <!-- <el-button size="small" @click="handleCommand('edit')">{{$t('编辑')}}</el-button> -->
<el-button size="small" v-hasPermi="['shipment:box:action:sea']" @click="handleCommand('router')">{{$t('操作')}}</el-button> <el-button
<el-button type="primary" v-hasPermi="['shipment:box:action:error']" size="small" @click="handleCommand('error')">{{$t('异常登记')}}</el-button> size="small"
<el-button type="primary" v-hasPermi="['shipment:box:action:cost']" size="small" @click="handleCommand('cost')">{{$t('费用登记')}}</el-button> v-hasPermi="['shipment:box:action:sea']"
@click="handleCommand('router')"
>{{ $t("操作") }}</el-button
>
<el-button
type="primary"
v-hasPermi="['shipment:box:action:error']"
size="small"
@click="handleCommand('error')"
>{{ $t("异常登记") }}</el-button
>
<el-button
type="primary"
v-hasPermi="['shipment:box:action:cost']"
size="small"
@click="handleCommand('cost')"
>{{ $t("费用登记") }}</el-button
>
<!-- <el-button type="danger" size="small" @click="handleCommand('delete')">{{$t('删除')}}</el-button> --> <!-- <el-button type="danger" size="small" @click="handleCommand('delete')">{{$t('删除')}}</el-button> -->
</div> </div>
</div> </div>
<el-card style="margin-top: 15px"> <el-card style="margin-top: 15px">
<el-descriptions :column="4" border> <el-descriptions :column="4" border>
<el-descriptions-item :label="$t('自编号')"> <el-descriptions-item :label="$t('自编号')">
{{shipmentObj.selfNo}} {{ shipmentObj.selfNo }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('运输方式')"> <el-descriptions-item :label="$t('运输方式')">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="shipmentObj.transportType" /> <dict-tag
:type="DICT_TYPE.ECW_TRANSPORT_TYPE"
:value="shipmentObj.transportType"
/>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('出货渠道')"> <el-descriptions-item :label="$t('出货渠道')">
{{getShipChannelName(shipmentObj.shippingChannelId)}} {{ getShipChannelName(shipmentObj.shippingChannelId) }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('状态')"> <el-descriptions-item :label="$t('状态')">
{{shipmentObj.shipmentStatusText}} {{ shipmentObj.shipmentStatusText }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('总计')"> <el-descriptions-item :label="$t('总计')">
{{getBoxSum(shipmentObj.boxStatistics)}} {{ getBoxSum(shipmentObj.boxStatistics) }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('始发地')"> <el-descriptions-item :label="$t('始发地')">
{{getCityName(shipmentObj.startWarehouseId)}} {{ getCityName(shipmentObj.startWarehouseId) }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('目的地')"> <el-descriptions-item :label="$t('目的地')">
{{getCityName(shipmentObj.destWarehouseId)}} {{ getCityName(shipmentObj.destWarehouseId) }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="SO NO"> <el-descriptions-item label="SO NO">
{{shipmentObj.bookSeaInfo ? shipmentObj.bookSeaInfo.sono : '' }} {{ shipmentObj.bookSeaInfo ? shipmentObj.bookSeaInfo.sono : "" }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('目的港清关')"> <el-descriptions-item :label="$t('目的港清关')">
{{getClearance(shipmentObj.destinationClearance)}} {{ getClearance(shipmentObj.destinationClearance) }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('发货方式')"> <el-descriptions-item :label="$t('发货方式')">
{{getdeliveryType(shipmentObj.deliveryType)}} {{ getdeliveryType(shipmentObj.deliveryType) }}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-card> </el-card>
...@@ -50,108 +80,343 @@ ...@@ -50,108 +80,343 @@
<el-tabs style="margin-top: 15px" type="border-card" value="detail"> <el-tabs style="margin-top: 15px" type="border-card" value="detail">
<el-tab-pane :label="$t('明细')" name="detail"> <el-tab-pane :label="$t('明细')" name="detail">
<div class="detail-pane"> <div class="detail-pane">
<div>{{$t('当前部分')}}</div> <div>{{ $t("当前部分") }}</div>
<el-select :placeholder="$t('请选择')" v-model="sectionId" @change="sectionChange"> <el-select
:placeholder="$t('请选择')"
v-model="sectionId"
@change="sectionChange"
>
<el-option key="0" :label="$t('全部')" value="0"></el-option> <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-option
v-for="item in sectionList"
:key="item.id"
:label="item.title"
:value="item.id"
></el-option>
</el-select> </el-select>
<p class="box-weight"> <p class="box-weight">
{{getSectionInfo}} {{ getSectionInfo }}
</p> </p>
<div class="document-status"> <div class="document-status">
<p>{{$t('单证状态')}}</p> <p>{{ $t("单证状态") }}</p>
<template v-for="(item, index) in getDocStatus(sectionObj.sectionOrderList)"> <template
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="item" :key="index" /> v-for="(item, index) in getDocStatus(
sectionObj.sectionOrderList
)"
>
<dict-tag
:type="DICT_TYPE.ECW_CUSTOMS_TYPE"
:value="item"
:key="index"
/>
</template> </template>
</div> </div>
</div> </div>
<div style="margin:20px 0 20px 0;"> <div style="margin: 20px 0 20px 0">
<el-button type="primary" v-hasPermi="['shipment:box:order:select']" size="small" @click="()=>updateStatus('selected')">{{$t('更新所选订单状态')}}</el-button> <el-button
<el-button type="primary" v-hasPermi="['shipment:box:order:all']" size="small" @click="()=>updateStatus('all')">{{$t('更新全部订单状态')}}</el-button> type="primary"
<el-button type="primary" v-if="shipmentObj.sapStatus==152&&(shipmentObj.airArrivalInfo&&shipmentObj.airArrivalInfo.arriveType==1)" v-hasPermi="['shipment:box:order:select']" size="small" @click="()=>updateArrivalStatus('selected')">{{$t('更新所选订单到港状态')}}</el-button> v-hasPermi="['shipment:box:order:select']"
<el-button type="primary" v-if="shipmentObj.sapStatus==152&&(shipmentObj.airArrivalInfo&&shipmentObj.airArrivalInfo.arriveType==1)" v-hasPermi="['shipment:box:order:all']" size="small" @click="()=>updateArrivalStatus('all')">{{$t('更新全部订单到港状态')}}</el-button> size="small"
<el-button type="primary" v-if="shipmentObj.clStatus==132&&(shipmentObj.clearanceInfo&&shipmentObj.clearanceInfo.clearanceType==1)" v-hasPermi="['shipment:box:order:select']" size="small" @click="()=>updateClearStatus('selected')">{{$t('更新所选订单清关状态')}}</el-button> @click="() => updateStatus('selected')"
<el-button type="primary" v-if="shipmentObj.clStatus==132&&(shipmentObj.clearanceInfo&&shipmentObj.clearanceInfo.clearanceType==1)" v-hasPermi="['shipment:box:order:all']" size="small" @click="()=>updateClearStatus('all')">{{$t('更新全部订单清关状态')}}</el-button> >{{ $t("更新所选订单状态") }}</el-button
>
<el-button
type="primary"
v-hasPermi="['shipment:box:order:all']"
size="small"
@click="() => updateStatus('all')"
>{{ $t("更新全部订单状态") }}</el-button
>
<el-button
type="primary"
v-if="
shipmentObj.sapStatus == 152 &&
shipmentObj.airArrivalInfo &&
shipmentObj.airArrivalInfo.arriveType == 1
"
v-hasPermi="['shipment:box:order:select']"
size="small"
@click="() => updateArrivalStatus('selected')"
>{{ $t("更新所选订单到港状态") }}</el-button
>
<el-button
type="primary"
v-if="
shipmentObj.sapStatus == 152 &&
shipmentObj.airArrivalInfo &&
shipmentObj.airArrivalInfo.arriveType == 1
"
v-hasPermi="['shipment:box:order:all']"
size="small"
@click="() => updateArrivalStatus('all')"
>{{ $t("更新全部订单到港状态") }}</el-button
>
<el-button
type="primary"
v-if="
shipmentObj.clStatus == 132 &&
shipmentObj.clearanceInfo &&
shipmentObj.clearanceInfo.clearanceType == 1
"
v-hasPermi="['shipment:box:order:select']"
size="small"
@click="() => updateClearStatus('selected')"
>{{ $t("更新所选订单清关状态") }}</el-button
>
<el-button
type="primary"
v-if="
shipmentObj.clStatus == 132 &&
shipmentObj.clearanceInfo &&
shipmentObj.clearanceInfo.clearanceType == 1
"
v-hasPermi="['shipment:box:order:all']"
size="small"
@click="() => updateClearStatus('all')"
>{{ $t("更新全部订单清关状态") }}</el-button
>
</div> </div>
<el-table :data="sectionObj.sectionOrderList" style="width: 100%" border @selection-change="handleSelectionChange"> <el-table
:data="sectionObj.sectionOrderList"
style="width: 100%"
border
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="50"></el-table-column>> <el-table-column type="selection" width="50"></el-table-column>>
<el-table-column align="center" :label="$t('序号')" width="50" prop="tidanNum" /> <el-table-column
<el-table-column prop="orderNo" :label="$t('订单号')" align="center"> align="center"
:label="$t('序号')"
width="50"
prop="tidanNum"
/>
<el-table-column
prop="orderNo"
:label="$t('订单号')"
align="center"
>
<template v-slot="scope"> <template v-slot="scope">
<a href="javascript:void(0)" @click="jumpOrderDetail(scope.row)">{{ scope.row.orderNo }}</a> <a
href="javascript:void(0)"
@click="jumpOrderDetail(scope.row)"
>{{ scope.row.orderNo }}</a
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="goodsList" :label="$t('货物信息')" width="230px" align="center"> <el-table-column
<template v-slot="{row}"> prop="goodsList"
:label="$t('货物信息')"
width="230px"
align="center"
>
<template v-slot="{ row }">
<section> <section>
<div v-for="(item, index) in row.goodsList" :key="index"> <div v-for="(item, index) in row.goodsList" :key="index">
{{index+1}}{{item.prodTitleZh}} {{ index + 1 }}{{ item.prodTitleZh }}
</div> </div>
</section> </section>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="num" :label="$t('计划箱数')" align="center"></el-table-column> <el-table-column
<el-table-column prop="installNum" :label="$t('实装箱数')" align="center"></el-table-column> prop="num"
<el-table-column prop="unloadNum" :label="$t('卸柜箱数')" align="center"></el-table-column> :label="$t('计划箱数')"
<el-table-column prop="destWarehouseName" :label="$t('提货点')" align="center"></el-table-column> align="center"
<el-table-column prop="volume" :label="$t('体积')" align="center"></el-table-column> ></el-table-column>
<el-table-column prop="weight" :label="$t('重量')" align="center"></el-table-column> <el-table-column
<el-table-column prop="totalWorth" :label="$t('货值')" align="center"></el-table-column> prop="installNum"
<el-table-column prop="customsType" :label="$t('报关方式')" align="center"> :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"> <template slot-scope="scope">
<div :class="scope.row.customsType !== 1 ? 'customsType-red' : ''"> <div
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="scope.row.customsType" /> :class="
scope.row.customsType !== 1 ? 'customsType-red' : ''
"
>
<dict-tag
:type="DICT_TYPE.ECW_CUSTOMS_TYPE"
:value="scope.row.customsType"
/>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="customsFee" :label="$t('报关费用')" align="center"></el-table-column> <el-table-column
<el-table-column prop="" :label="$t('操作')" align="center" width="120px"> prop="customsFee"
:label="$t('报关费用')"
align="center"
></el-table-column>
<el-table-column
prop=""
:label="$t('异常操作')"
align="center"
width="120px"
>
<template slot-scope="scope">
<el-button
type="primary"
size="small"
@click="() => updateStatus_2('single', scope.row)"
style="margin-top: 5px"
>{{ $t("异常登记") }}</el-button
>
</template>
</el-table-column>
<el-table-column
prop=""
:label="$t('操作')"
align="center"
width="120px"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="small" :disabled="scope.row.abnormalDealStatus === 1" @click="()=>updateStatus('single', scope.row)" style="margin-top: 5px;">{{$t('更新状态')}}</el-button> <el-button
<el-button type="primary" size="small" style="margin-top: 5px;" :disabled="shipmentObj.clStatus==132|| (shipmentObj.clearanceInfo == null) || (shipmentObj.clearanceInfo&&shipmentObj.clearanceInfo.clearanceOrderList.findIndex(ff=>ff.orderId == scope.row.orderId) == -1)" @click="()=>cancleClear(scope.row)">{{$t('撤销清关申请')}}</el-button> type="primary"
size="small"
:disabled="scope.row.abnormalDealStatus === 1"
@click="() => updateStatus('single', scope.row)"
style="margin-top: 5px"
>{{ $t("更新状态") }}</el-button
>
<el-button
type="primary"
size="small"
style="margin-top: 5px"
:disabled="
shipmentObj.clStatus == 132 ||
shipmentObj.clearanceInfo == null ||
(shipmentObj.clearanceInfo &&
shipmentObj.clearanceInfo.clearanceOrderList.findIndex(
(ff) => ff.orderId == scope.row.orderId
) == -1)
"
@click="() => cancleClear(scope.row)"
>{{ $t("撤销清关申请") }}</el-button
>
<!-- <el-button type="danger" style="margin-top: 5px;" size="small" @click="openError(scope.row)">{{$t('异常')}}</el-button> --> <!-- <el-button type="danger" style="margin-top: 5px;" size="small" @click="openError(scope.row)">{{$t('异常')}}</el-button> -->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
<el-tab-pane :label="$t('状态')" 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
v-for="(item, index) in logList"
:key="item.id"
:class="`shipping-status ${index === 0 ? 'curr-status' : ''}`"
>
<div class="status-line"></div> <div class="status-line"></div>
<div class="status-number">{{logList.length - index}}</div> <div class="status-number">{{ logList.length - index }}</div>
<div class="status-info"> <div class="status-info">
<div>{{$l(item, 'title')}} <el-button v-if="item.approvalId>0" type="text" @click="handleApproval(item.bpmProcessId)">{{$t('查看审批')}}</el-button></div>
<div> <div>
<p>{{formatDate(item.createTime)}}</p> {{ $l(item, "title") }}
<p>{{item.operator}}</p> <el-button
v-if="item.approvalId > 0"
type="text"
@click="handleApproval(item.bpmProcessId)"
>{{ $t("查看审批") }}</el-button
>
</div>
<div>
<p>{{ formatDate(item.createTime) }}</p>
<p>{{ item.operator }}</p>
</div> </div>
</div> </div>
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane :label="$t('费用')" name="fee"> <el-tab-pane :label="$t('费用')" name="fee">
<el-table :data="costList" style="width: 100%" border> <el-table :data="costList" style="width: 100%" border>
<el-table-column type="index" align="center" :label="$t('序号')" width="50" /> <el-table-column
<el-table-column prop="costType" :label="$t('费用类型')" align="center"> type="index"
align="center"
:label="$t('序号')"
width="50"
/>
<el-table-column
prop="costType"
:label="$t('费用类型')"
align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.FEE_TYPE" :value="scope.row.costType" /> <dict-tag
:type="DICT_TYPE.FEE_TYPE"
:value="scope.row.costType"
/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="supplierId" :label="$t('供应商')" align="center"> <el-table-column
prop="supplierId"
:label="$t('供应商')"
align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
{{getSupplier(scope.row.supplierId)}} {{ getSupplier(scope.row.supplierId) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="price" :label="$t('金额')" align="center"></el-table-column> <el-table-column
prop="price"
:label="$t('金额')"
align="center"
></el-table-column>
<!--lanbm 2024-05-16 修改--> <!--lanbm 2024-05-16 修改-->
<el-table-column prop="priceUnitName" :label="$t('币种')" align="center"></el-table-column> <el-table-column
<el-table-column prop="payPrice" :label="$t('实付金额')" align="center"></el-table-column> prop="priceUnitName"
<el-table-column prop="payPriceBz" :label="$t('实付币种')" align="center"></el-table-column> :label="$t('币种')"
<el-table-column prop="payTime" :label="$t('实付日期')" align="center"> align="center"
></el-table-column>
<el-table-column
prop="payPrice"
:label="$t('实付金额')"
align="center"
></el-table-column>
<el-table-column
prop="payPriceBz"
:label="$t('实付币种')"
align="center"
></el-table-column>
<el-table-column
prop="payTime"
:label="$t('实付日期')"
align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.payTime">{{formatDate(scope.row.payTime)}}</span> <span v-if="scope.row.payTime">{{
formatDate(scope.row.payTime)
}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="payableNo" :label="$t('付款单号')" align="center"> <el-table-column
prop="payableNo"
:label="$t('付款单号')"
align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span <span
style="color: #1890ff" style="color: #1890ff"
...@@ -160,17 +425,53 @@ ...@@ -160,17 +425,53 @@
> >
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="creator" :label="$t('创建人')" align="center"></el-table-column> <el-table-column
<el-table-column prop="createTime" :label="$t('创建日期')" align="center"></el-table-column> prop="creator"
<el-table-column prop="updater" :label="$t('修改人')" align="center"></el-table-column> :label="$t('创建人')"
<el-table-column prop="updateTime" :label="$t('修改日期')" align="center"></el-table-column> align="center"
></el-table-column>
<el-table-column
prop="createTime"
:label="$t('创建日期')"
align="center"
></el-table-column>
<el-table-column
prop="updater"
:label="$t('修改人')"
align="center"
></el-table-column>
<el-table-column
prop="updateTime"
:label="$t('修改日期')"
align="center"
></el-table-column>
<!--添加备注信息列 lanbm 2024-05-16 add--> <!--添加备注信息列 lanbm 2024-05-16 add-->
<el-table-column prop="remarks" :label="$t('备注')" align="center"></el-table-column> <el-table-column
prop="remarks"
:label="$t('备注')"
align="center"
></el-table-column>
<el-table-column :label="$t('操作')" align="center"> <el-table-column :label="$t('操作')" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="small" @click="editCostClick(scope.row)" style="marginRight:10px;" v-hasPermi="['ecw:box-cost:update']">{{$t('编辑')}}</el-button> <el-button
<el-popconfirm :title="$t('确定是否删除')" @confirm="deleteCostClick(scope.row)"> type="primary"
<el-button type="danger" size="small" slot="reference" v-hasPermi="['ecw:box-cost:delete']">{{$t('删除')}}</el-button> size="small"
@click="editCostClick(scope.row)"
style="marginright: 10px"
v-hasPermi="['ecw:box-cost:update']"
>{{ $t("编辑") }}</el-button
>
<el-popconfirm
:title="$t('确定是否删除')"
@confirm="deleteCostClick(scope.row)"
>
<el-button
type="danger"
size="small"
slot="reference"
v-hasPermi="['ecw:box-cost:delete']"
>{{ $t("删除") }}</el-button
>
</el-popconfirm> </el-popconfirm>
</template> </template>
</el-table-column> </el-table-column>
...@@ -178,34 +479,76 @@ ...@@ -178,34 +479,76 @@
</el-tab-pane> </el-tab-pane>
<el-tab-pane :label="$t('异常')" name="error"> <el-tab-pane :label="$t('异常')" name="error">
<el-table :data="errorList" style="width: 100%" border> <el-table :data="errorList" style="width: 100%" border>
<el-table-column type="index" align="center" :label="$t('序号')" width="50" /> <el-table-column
type="index"
align="center"
:label="$t('序号')"
width="50"
/>
<el-table-column prop="opStep" :label="$t('操作')" align="center"> <el-table-column prop="opStep" :label="$t('操作')" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BOX_AIR_SHIPMENT_PROCESS" :value="scope.row.opStep" /> <dict-tag
:type="DICT_TYPE.BOX_AIR_SHIPMENT_PROCESS"
:value="scope.row.opStep"
/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="billAbnId" :label="$t('异常')" align="center"> <el-table-column
prop="billAbnId"
:label="$t('异常')"
align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE[getregprocess(scope.row.opStep)]" :value="scope.row.billAbnId" /> <dict-tag
:type="DICT_TYPE[getregprocess(scope.row.opStep)]"
:value="scope.row.billAbnId"
/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="abnDetail" :label="$t('异常描述')" align="center" width="300"></el-table-column> <el-table-column
<el-table-column prop="delayDays" :label="$t('异常延迟天数')" align="center"></el-table-column> prop="abnDetail"
<el-table-column prop="" :label="$t('异常时间')" align="center" width="200"> :label="$t('异常描述')"
align="center"
width="300"
></el-table-column>
<el-table-column
prop="delayDays"
:label="$t('异常延迟天数')"
align="center"
></el-table-column>
<el-table-column
prop=""
:label="$t('异常时间')"
align="center"
width="200"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.abnStartTime">{{formatDate(scope.row.abnStartTime)}} - </span> <span v-if="scope.row.abnStartTime"
<span v-if="scope.row.abnEndTime">{{formatDate(scope.row.abnEndTime)}}</span> >{{ formatDate(scope.row.abnStartTime) }} -
</span>
<span v-if="scope.row.abnEndTime">{{
formatDate(scope.row.abnEndTime)
}}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
<el-tab-pane :label="$t('表单')" name="download"> <el-tab-pane :label="$t('表单')" name="download">
<el-table :data="downloadList" style="width: 50%"> <el-table :data="downloadList" style="width: 50%">
<el-table-column prop="title" :label="$t('文件类型')"></el-table-column> <el-table-column
prop="title"
:label="$t('文件类型')"
></el-table-column>
<el-table-column prop="" :label="$t('下载链接')"> <el-table-column prop="" :label="$t('下载链接')">
<template slot-scope="scope"> <template slot-scope="scope">
<a v-if="scope.row.serviceName" href="javascript:void(0)" @click="downloadDetailFile(scope.row)" v-hasPermi="[`${scope.row.hasPermi}`]">{{$t('下载')}}</a> <a
<div v-else>{{$t('未完成')}}</div> v-if="scope.row.serviceName"
href="javascript:void(0)"
@click="downloadDetailFile(scope.row)"
v-hasPermi="[`${scope.row.hasPermi}`]"
>{{ $t("下载") }}</a
>
<div v-else>{{ $t("未完成") }}</div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -215,40 +558,100 @@ ...@@ -215,40 +558,100 @@
</el-row> </el-row>
<!-- 对话框(添加 / 修改) --> <!-- 对话框(添加 / 修改) -->
<el-dialog :title="dialogConfig.title" :visible.sync="dialogConfig.visible" :width="dialogConfig.width" append-to-body class="shippingSea-dialog"> <el-dialog
:title="dialogConfig.title"
:visible.sync="dialogConfig.visible"
:width="dialogConfig.width"
append-to-body
class="shippingSea-dialog"
>
<template v-if="dialogConfig.type === 'edit'"> <template v-if="dialogConfig.type === 'edit'">
<editForm v-if="dialogConfig.visible" @closeDialog="closeDialog" :shipmentObj="shipmentObj" :warehouseList="warehouseList" :transportTypes="transportTypes" :cabinetList="cabinetList" /> <editForm
v-if="dialogConfig.visible"
@closeDialog="closeDialog"
:shipmentObj="shipmentObj"
:warehouseList="warehouseList"
:transportTypes="transportTypes"
:cabinetList="cabinetList"
/>
</template> </template>
<template v-if="dialogConfig.type === 'cost'"> <template v-if="dialogConfig.type === 'cost'">
<costForm v-if="dialogConfig.visible" @closeDialog="closeDialog" :shipmentObj="shipmentObj" :costDetail="costDetail" flag="air" /> <costForm
v-if="dialogConfig.visible"
@closeDialog="closeDialog"
:shipmentObj="shipmentObj"
:costDetail="costDetail"
flag="air"
/>
</template> </template>
<template v-if="dialogConfig.type === 'error'"> <template v-if="dialogConfig.type === 'error'">
<regError v-if="dialogConfig.visible" @closeDialog="closeDialog" :shipmentObj="shipmentObj" :allUsers="allUsers" flag="air" /> <regError
v-if="dialogConfig.visible"
@closeDialog="closeDialog"
:shipmentObj="shipmentObj"
:allUsers="allUsers"
flag="air"
/>
</template> </template>
<template v-if="dialogConfig.type === 'updateError'"> <template v-if="dialogConfig.type === 'updateError'">
<updateError v-if="dialogConfig.visible" @closeDialog="closeDialog" :shipmentObj="shipmentObj" :errorInfo="errorInfo" /> <updateError
v-if="dialogConfig.visible"
@closeDialog="closeDialog"
:shipmentObj="shipmentObj"
:errorInfo="errorInfo"
/>
</template> </template>
<template v-if="dialogConfig.type === 'updateArrival'"> <template v-if="dialogConfig.type === 'updateArrival'">
<updateArrival v-if="dialogConfig.visible" @closeDialog="closeDialog" :shipmentObj="shipmentObj" :arrivalInfo="arrivalInfo" /> <updateArrival
v-if="dialogConfig.visible"
@closeDialog="closeDialog"
:shipmentObj="shipmentObj"
:arrivalInfo="arrivalInfo"
/>
</template> </template>
<template v-if="dialogConfig.type === 'updateClear'"> <template v-if="dialogConfig.type === 'updateClear'">
<updateClear v-if="dialogConfig.visible" @closeDialog="closeDialog" :shipmentObj="shipmentObj" :clearInfo="clearInfo" /> <updateClear
v-if="dialogConfig.visible"
@closeDialog="closeDialog"
:shipmentObj="shipmentObj"
:clearInfo="clearInfo"
/>
</template> </template>
<template v-if="dialogConfig.type === 'cancelClear'"> <template v-if="dialogConfig.type === 'cancelClear'">
<cancelClear v-if="dialogConfig.visible" @closeDialog="closeDialog" :shipmentObj="shipmentObj" :cancelClearInfo="cancelClearInfo" /> <cancelClear
v-if="dialogConfig.visible"
@closeDialog="closeDialog"
:shipmentObj="shipmentObj"
:cancelClearInfo="cancelClearInfo"
/>
</template> </template>
<template v-if="dialogConfig.type === 'unloadingError'"> <template v-if="dialogConfig.type === 'unloadingError'">
<unloadingError v-if="dialogConfig.visible" @closeDialog="closeDialog" :shipmentObj="shipmentObj" :unloadingError="unloadingError" /> <unloadingError
v-if="dialogConfig.visible"
@closeDialog="closeDialog"
:shipmentObj="shipmentObj"
:unloadingError="unloadingError"
/>
</template> </template>
</el-dialog> </el-dialog>
<!-- 对话框 --> <!-- 对话框 -->
<el-dialog custom-class="shipping-dialog" :title="$t('异常')" :visible.sync="dialogVisible" width="600px" :modal-append-to-body=false append-to-body> <el-dialog
<unloadingError v-if="dialogVisible" @closeDialog="closeDialog1" v-bind="$attrs" :currRow="currRow" /> custom-class="shipping-dialog"
:title="$t('异常')"
:visible.sync="dialogVisible"
width="600px"
:modal-append-to-body="false"
append-to-body
>
<unloadingError
v-if="dialogVisible"
@closeDialog="closeDialog1"
v-bind="$attrs"
:currRow="currRow"
/>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
...@@ -259,7 +662,8 @@ import { ...@@ -259,7 +662,8 @@ import {
getCostList, getCostList,
getAbnormalList, getAbnormalList,
deleteCost, deleteCost,
deletebox,getPaymentId deletebox,
getPaymentId,
} from "@/api/ecw/box"; } from "@/api/ecw/box";
import { getChannelList } from "@/api/ecw/channel"; import { getChannelList } from "@/api/ecw/channel";
import { getCabinetPage } from "@/api/ecw/cabinet"; import { getCabinetPage } from "@/api/ecw/cabinet";
...@@ -296,7 +700,7 @@ export default { ...@@ -296,7 +700,7 @@ export default {
updateArrival, updateArrival,
updateClear, updateClear,
cancelClear, cancelClear,
unloadingError unloadingError,
}, },
created() { created() {
this.transportTypes = this.getDictDatas( this.transportTypes = this.getDictDatas(
...@@ -351,16 +755,15 @@ export default { ...@@ -351,16 +755,15 @@ export default {
fullscreen: false, fullscreen: false,
}, },
// // 弹窗配置 // // 弹窗配置
// dialogConfig: { // dialogConfig: {
// title: "", // title: "",
// dialogVisible: false, // dialogVisible: false,
// width: "30%", // width: "30%",
// type: "", // type: "",
// fullscreen: false, // fullscreen: false,
// }, // },
dialogVisible: false, dialogVisible: false,
// 运输方式 // 运输方式
transportTypes: [], transportTypes: [],
...@@ -368,40 +771,53 @@ export default { ...@@ -368,40 +771,53 @@ export default {
costDetail: {}, costDetail: {},
// 下载 // 下载
downloadList: [ downloadList: [
{ title: this.$t("预装单"), serviceName: "downloadPreloadGoodsList", hasPermi: "shipment:air:download:downloadPreloadGoodsList" }, {
title: this.$t("预装单"),
serviceName: "downloadPreloadGoodsList",
hasPermi: "shipment:air:download:downloadPreloadGoodsList",
},
// { title: this.$t("已装单"), serviceName: "downloadLoadGoodsList", hasPermi: "shipment:box:download:downloadLoadGoodsList" }, // { title: this.$t("已装单"), serviceName: "downloadLoadGoodsList", hasPermi: "shipment:box:download:downloadLoadGoodsList" },
{ title: this.$t("应收汇总表"), serviceName: "downloadReceivableList", hasPermi: "shipment:air:download:downloadReceivableList" }, {
title: this.$t("应收汇总表"),
serviceName: "downloadReceivableList",
hasPermi: "shipment:air:download:downloadReceivableList",
},
{ {
title: this.$t("提货单"), title: this.$t("提货单"),
serviceName: "zipDownload", serviceName: "zipDownload",
fileFormat: "zip", fileFormat: "zip",
hasPermi: "shipment:air:download:zipDownload" hasPermi: "shipment:air:download:zipDownload",
}, },
{ {
title: "agent list", title: "agent list",
serviceName: "downloadAgentListFiles", serviceName: "downloadAgentListFiles",
type: "url", type: "url",
hasPermi: "shipment:air:download:downloadAgentListFiles" hasPermi: "shipment:air:download:downloadAgentListFiles",
},
{
title: "soncap",
serviceName: "downloadSoncapFiles",
type: "url",
hasPermi: "shipment:air:download:downloadSoncapFiles",
}, },
{ title: "soncap", serviceName: "downloadSoncapFiles", type: "url", hasPermi: "shipment:air:download:downloadSoncapFiles" },
{ {
title: this.$t("AWB文件"), title: this.$t("AWB文件"),
serviceName: "cdAwbFile", serviceName: "cdAwbFile",
type: "url", type: "url",
hasPermi: "shipment:air:download:cdAwbFile" hasPermi: "shipment:air:download:cdAwbFile",
}, },
{ {
title: this.$t("提单Copy"), title: this.$t("提单Copy"),
serviceName: "downloadLadingCopy", serviceName: "downloadLadingCopy",
type: "url", type: "url",
hasPermi: "shipment:air:download:downloadLadingCopy" hasPermi: "shipment:air:download:downloadLadingCopy",
}, },
{ {
title: this.$t("已装单"), title: this.$t("已装单"),
serviceName: "downloadLoadGoods", serviceName: "downloadLoadGoods",
type: "url", type: "url",
hasPermi: "shipment:air:download:downloadLoadGoods" hasPermi: "shipment:air:download:downloadLoadGoods",
}, },
], ],
// 选中行 // 选中行
...@@ -413,12 +829,12 @@ export default { ...@@ -413,12 +829,12 @@ export default {
operate: "", operate: "",
}, },
arrivalInfo: { arrivalInfo: {
orderList: [] orderList: [],
}, },
clearInfo: { clearInfo: {
orderList: [] orderList: [],
}, },
cancelClearInfo: {} cancelClearInfo: {},
}; };
}, },
methods: { methods: {
...@@ -431,37 +847,37 @@ export default { ...@@ -431,37 +847,37 @@ export default {
}); });
}, },
getregprocess(val) { getregprocess(val) {
var data = '' var data = "";
switch(val){ switch (val) {
case 10: case 10:
data = 'FLYING_TICKET_EXCEPTION' data = "FLYING_TICKET_EXCEPTION";
break; break;
case 12: case 12:
data = 'ARRIVAL_TICKET_EXCEPTION' data = "ARRIVAL_TICKET_EXCEPTION";
break break;
case 13: case 13:
data = 'CLEARANCE_TICKET_EXCEPTION' data = "CLEARANCE_TICKET_EXCEPTION";
break break;
default: default:
data = 'BOX_SHIPPING_TICKET_EXCEPTION' data = "BOX_SHIPPING_TICKET_EXCEPTION";
break break;
} }
return data return data;
}, },
selectable(row, index) { selectable(row, index) {
if (row.abnormalDealStatus === 1) return false; if (row.abnormalDealStatus === 1) return false;
return true; return true;
}, },
/* 关闭弹窗 */ /* 关闭弹窗 */
closeDialog1(type) { closeDialog1(type) {
this.dialogVisible = false; this.dialogVisible = false;
// if (type === "query") this.getLoadGoodsList(); // if (type === "query") this.getLoadGoodsList();
}, },
/* 打开异常 */ /* 打开异常 */
openError(row) { openError(row) {
console.log(row) console.log(row);
this.currRow = row; this.currRow = row;
this.dialogVisible = true; this.dialogVisible = true;
}, },
...@@ -470,6 +886,12 @@ export default { ...@@ -470,6 +886,12 @@ export default {
handleSelectionChange(selected) { handleSelectionChange(selected) {
this.selectedRows = selected; this.selectedRows = selected;
}, },
updateStatus_2(type, row) {
//异常登记 lanbm 2024-05-23 add
this.$set(this.dialogConfig, "visible", true);
this.$set(this.dialogConfig, "title", this.$t("异常登记"));
this.$set(this.dialogConfig, "type", "error");
},
/* 更新状态 */ /* 更新状态 */
updateStatus(type, row) { updateStatus(type, row) {
let orders = []; let orders = [];
...@@ -491,7 +913,7 @@ export default { ...@@ -491,7 +913,7 @@ export default {
} else if (type === "single") { } else if (type === "single") {
orders = [row]; orders = [row];
} }
console.log('getErrorType', type) console.log("getErrorType", type);
this.getErrorType(); this.getErrorType();
this.$set(this.errorInfo, "orderList", orders); this.$set(this.errorInfo, "orderList", orders);
this.$set(this.errorInfo, "operate", type); this.$set(this.errorInfo, "operate", type);
...@@ -499,8 +921,6 @@ export default { ...@@ -499,8 +921,6 @@ export default {
this.handleCommand("updateError"); this.handleCommand("updateError");
}, },
/* 更新到港状态 */ /* 更新到港状态 */
updateArrivalStatus(type) { updateArrivalStatus(type) {
let orders = []; let orders = [];
...@@ -509,7 +929,9 @@ export default { ...@@ -509,7 +929,9 @@ export default {
this.$message.error("请选择需要更新的订单"); this.$message.error("请选择需要更新的订单");
return; return;
} }
orders = this.selectedRows.map(item=>{return item.orderId}); orders = this.selectedRows.map((item) => {
return item.orderId;
});
} }
this.$set(this.arrivalInfo, "orderList", orders); this.$set(this.arrivalInfo, "orderList", orders);
this.$set(this.arrivalInfo, "type", type); this.$set(this.arrivalInfo, "type", type);
...@@ -523,7 +945,9 @@ export default { ...@@ -523,7 +945,9 @@ export default {
this.$message.error("请选择需要更新的订单"); this.$message.error("请选择需要更新的订单");
return; return;
} }
orders = this.selectedRows.map(item=>{return item.orderId}); orders = this.selectedRows.map((item) => {
return item.orderId;
});
} }
this.$set(this.clearInfo, "orderList", orders); this.$set(this.clearInfo, "orderList", orders);
this.$set(this.clearInfo, "type", type); this.$set(this.clearInfo, "type", type);
...@@ -531,7 +955,7 @@ export default { ...@@ -531,7 +955,7 @@ export default {
}, },
/* 更新清关状态 */ /* 更新清关状态 */
cancleClear(val) { cancleClear(val) {
this.cancelClearInfo = val this.cancelClearInfo = val;
this.handleCommand("cancelClear"); this.handleCommand("cancelClear");
}, },
getErrorType() { getErrorType() {
...@@ -556,7 +980,7 @@ export default { ...@@ -556,7 +980,7 @@ export default {
this.$set(this.errorInfo, "errorType", "flight"); this.$set(this.errorInfo, "errorType", "flight");
this.$set(this.dialogConfig, "title", this.$t("更新起飞异常状态")); this.$set(this.dialogConfig, "title", this.$t("更新起飞异常状态"));
} }
console.log(key, value) console.log(key, value);
} }
}, },
// 初始化字典数据 // 初始化字典数据
...@@ -614,7 +1038,7 @@ export default { ...@@ -614,7 +1038,7 @@ export default {
}, },
// 获取费用 // 获取费用
getCost() { getCost() {
//空运费用 lanbm 2024-05-16 //空运费用 lanbm 2024-05-16
getCostList({ shipmentId: this.shipmentId }).then((res) => { getCostList({ shipmentId: this.shipmentId }).then((res) => {
this.costList = res.data; this.costList = res.data;
}); });
...@@ -745,10 +1169,10 @@ export default { ...@@ -745,10 +1169,10 @@ export default {
}, },
formatDate, formatDate,
downloadDetailFile(row) { downloadDetailFile(row) {
if(row.serviceName == 'downloadLoadGoods'){ if (row.serviceName == "downloadLoadGoods") {
if(this.shipmentObj.tyStatus < 2112){ if (this.shipmentObj.tyStatus < 2112) {
this.$message.error('请先完成理货后,再下载已装单') this.$message.error("请先完成理货后,再下载已装单");
return return;
} }
} }
const { fileFormat, type } = row; const { fileFormat, type } = row;
...@@ -765,11 +1189,14 @@ export default { ...@@ -765,11 +1189,14 @@ export default {
fileFormat ?? "xlsx" fileFormat ?? "xlsx"
); );
} }
this.$message.success(this.$t('已加入导出队列,请稍后在下载日志中下载')) this.$message.success(this.$t("已加入导出队列,请稍后在下载日志中下载"));
}, },
handleApproval(id) { handleApproval(id) {
this.$router.push({path: '/bpm/process-instance/detail', query: {id: id}}) this.$router.push({
} path: "/bpm/process-instance/detail",
query: { id: id },
});
},
}, },
computed: { computed: {
visitedViews() { visitedViews() {
...@@ -835,16 +1262,16 @@ export default { ...@@ -835,16 +1262,16 @@ export default {
}, },
getClearance() { getClearance() {
return (id) => { return (id) => {
let data = ['','我司清关','合作方清关','客户'] let data = ["", "我司清关", "合作方清关", "客户"];
return data[id] return data[id];
} };
}, },
getdeliveryType() { getdeliveryType() {
return (id) => { return (id) => {
let data = ['','多票','单票'] let data = ["", "多票", "单票"];
return data[id] return data[id];
} };
} },
}, },
}; };
</script> </script>
......
...@@ -344,11 +344,12 @@ ...@@ -344,11 +344,12 @@
align="center" align="center"
prop="customerServiceName" prop="customerServiceName"
></el-table-column> ></el-table-column>
<!--
<el-table-column <el-table-column
:label="$t('客户经理ID')" :label="$t('客户经理ID')"
align="center" v-show="false" align="center" v-show="false"
prop="customerService" prop="customerService"
> >-->
</el-table-column> </el-table-column>
<el-table-column :label="$t('出货渠道')"> <el-table-column :label="$t('出货渠道')">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment