Commit 97a11006 authored by lanbaoming's avatar lanbaoming

2024-05-23-3提交

parent eb62b30b
......@@ -224,6 +224,7 @@ import { getCabinetPage } from "@/api/ecw/cabinet";
import { getWarehouseList } from "@/api/ecw/warehouse";
import { getListTree } from "@/api/ecw/region";
import costForm from "./costForm.vue";
//异常登记对话框
import regError from "./regError.vue";
import editForm from "./editForm.vue";
import ladingBill from "./ladingBill/index.vue";
......
......@@ -228,6 +228,22 @@
:label="$t('报关费用')"
align="center"
></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
prop=""
:label="$t('操作')"
......@@ -696,6 +712,12 @@ export default {
handleSelectionChange(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) {
let orders = [];
......
<template>
<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">
<div style="display: flex; justify-content: space-between;align-items: flex-end;">
<h2>{{$t('出货详情')}}</h2>
<div
style="
display: flex;
justify-content: space-between;
align-items: flex-end;
"
>
<h2>{{ $t("出货详情") }}</h2>
<div>
<!-- <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 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
size="small"
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> -->
</div>
</div>
<el-card style="margin-top: 15px">
<el-descriptions :column="4" border>
<el-descriptions-item :label="$t('自编号')">
{{shipmentObj.selfNo}}
{{ shipmentObj.selfNo }}
</el-descriptions-item>
<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 :label="$t('出货渠道')">
{{getShipChannelName(shipmentObj.shippingChannelId)}}
{{ getShipChannelName(shipmentObj.shippingChannelId) }}
</el-descriptions-item>
<el-descriptions-item :label="$t('状态')">
{{shipmentObj.shipmentStatusText}}
{{ shipmentObj.shipmentStatusText }}
</el-descriptions-item>
<el-descriptions-item :label="$t('总计')">
{{getBoxSum(shipmentObj.boxStatistics)}}
{{ getBoxSum(shipmentObj.boxStatistics) }}
</el-descriptions-item>
<el-descriptions-item :label="$t('始发地')">
{{getCityName(shipmentObj.startWarehouseId)}}
{{ getCityName(shipmentObj.startWarehouseId) }}
</el-descriptions-item>
<el-descriptions-item :label="$t('目的地')">
{{getCityName(shipmentObj.destWarehouseId)}}
{{ getCityName(shipmentObj.destWarehouseId) }}
</el-descriptions-item>
<el-descriptions-item label="SO NO">
{{shipmentObj.bookSeaInfo ? shipmentObj.bookSeaInfo.sono : '' }}
{{ shipmentObj.bookSeaInfo ? shipmentObj.bookSeaInfo.sono : "" }}
</el-descriptions-item>
<el-descriptions-item :label="$t('目的港清关')">
{{getClearance(shipmentObj.destinationClearance)}}
{{ getClearance(shipmentObj.destinationClearance) }}
</el-descriptions-item>
<el-descriptions-item :label="$t('发货方式')">
{{getdeliveryType(shipmentObj.deliveryType)}}
{{ getdeliveryType(shipmentObj.deliveryType) }}
</el-descriptions-item>
</el-descriptions>
</el-card>
......@@ -50,108 +80,343 @@
<el-tabs style="margin-top: 15px" type="border-card" value="detail">
<el-tab-pane :label="$t('明细')" name="detail">
<div class="detail-pane">
<div>{{$t('当前部分')}}</div>
<el-select :placeholder="$t('请选择')" v-model="sectionId" @change="sectionChange">
<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-option
v-for="item in sectionList"
:key="item.id"
:label="item.title"
:value="item.id"
></el-option>
</el-select>
<p class="box-weight">
{{getSectionInfo}}
{{ getSectionInfo }}
</p>
<div class="document-status">
<p>{{$t('单证状态')}}</p>
<template v-for="(item, index) in getDocStatus(sectionObj.sectionOrderList)">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="item" :key="index" />
<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>
<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 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 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
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>
<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 align="center" :label="$t('序号')" width="50" prop="tidanNum" />
<el-table-column prop="orderNo" :label="$t('订单号')" align="center">
<el-table-column
align="center"
:label="$t('序号')"
width="50"
prop="tidanNum"
/>
<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>
<a
href="javascript:void(0)"
@click="jumpOrderDetail(scope.row)"
>{{ scope.row.orderNo }}</a
>
</template>
</el-table-column>
<el-table-column prop="goodsList" :label="$t('货物信息')" width="230px" align="center">
<template v-slot="{row}">
<el-table-column
prop="goodsList"
:label="$t('货物信息')"
width="230px"
align="center"
>
<template v-slot="{ row }">
<section>
<div v-for="(item, index) in row.goodsList" :key="index">
{{index+1}}{{item.prodTitleZh}}
{{ index + 1 }}{{ item.prodTitleZh }}
</div>
</section>
</template>
</el-table-column>
<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">
<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
: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="$t('报关费用')" align="center"></el-table-column>
<el-table-column prop="" :label="$t('操作')" align="center" width="120px">
<el-table-column
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">
<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="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> -->
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<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-number">{{logList.length - index}}</div>
<div class="status-number">{{ logList.length - index }}</div>
<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>
<p>{{formatDate(item.createTime)}}</p>
<p>{{item.operator}}</p>
{{ $l(item, "title") }}
<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>
</el-tab-pane>
<el-tab-pane :label="$t('费用')" name="fee">
<el-table :data="costList" style="width: 100%" border>
<el-table-column type="index" align="center" :label="$t('序号')" width="50" />
<el-table-column prop="costType" :label="$t('费用类型')" 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" />
<dict-tag
:type="DICT_TYPE.FEE_TYPE"
:value="scope.row.costType"
/>
</template>
</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">
{{getSupplier(scope.row.supplierId)}}
{{ getSupplier(scope.row.supplierId) }}
</template>
</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 修改-->
<el-table-column prop="priceUnitName" :label="$t('币种')" 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">
<el-table-column
prop="priceUnitName"
:label="$t('币种')"
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">
<span v-if="scope.row.payTime">{{formatDate(scope.row.payTime)}}</span>
<span v-if="scope.row.payTime">{{
formatDate(scope.row.payTime)
}}</span>
</template>
</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">
<span
style="color: #1890ff"
......@@ -160,17 +425,53 @@
>
</template>
</el-table-column>
<el-table-column prop="creator" :label="$t('创建人')" 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>
<el-table-column
prop="creator"
:label="$t('创建人')"
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-->
<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">
<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-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-button
type="primary"
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>
</template>
</el-table-column>
......@@ -178,34 +479,76 @@
</el-tab-pane>
<el-tab-pane :label="$t('异常')" name="error">
<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">
<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>
</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">
<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>
</el-table-column>
<el-table-column prop="abnDetail" :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">
<el-table-column
prop="abnDetail"
: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">
<span v-if="scope.row.abnStartTime">{{formatDate(scope.row.abnStartTime)}} - </span>
<span v-if="scope.row.abnEndTime">{{formatDate(scope.row.abnEndTime)}}</span>
<span v-if="scope.row.abnStartTime"
>{{ formatDate(scope.row.abnStartTime) }} -
</span>
<span v-if="scope.row.abnEndTime">{{
formatDate(scope.row.abnEndTime)
}}</span>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane :label="$t('表单')" name="download">
<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('下载链接')">
<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>
<div v-else>{{$t('未完成')}}</div>
<a
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>
</el-table-column>
</el-table>
......@@ -215,40 +558,100 @@
</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'">
<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 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 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 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 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 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 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 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>
</el-dialog>
<!-- 对话框 -->
<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="closeDialog1" v-bind="$attrs" :currRow="currRow" />
<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="closeDialog1"
v-bind="$attrs"
:currRow="currRow"
/>
</el-dialog>
</div>
</template>
......@@ -259,7 +662,8 @@ import {
getCostList,
getAbnormalList,
deleteCost,
deletebox,getPaymentId
deletebox,
getPaymentId,
} from "@/api/ecw/box";
import { getChannelList } from "@/api/ecw/channel";
import { getCabinetPage } from "@/api/ecw/cabinet";
......@@ -296,7 +700,7 @@ export default {
updateArrival,
updateClear,
cancelClear,
unloadingError
unloadingError,
},
created() {
this.transportTypes = this.getDictDatas(
......@@ -351,16 +755,15 @@ export default {
fullscreen: false,
},
// // 弹窗配置
// dialogConfig: {
// title: "",
// dialogVisible: false,
// width: "30%",
// type: "",
// fullscreen: false,
// },
dialogVisible: false,
// // 弹窗配置
// dialogConfig: {
// title: "",
// dialogVisible: false,
// width: "30%",
// type: "",
// fullscreen: false,
// },
dialogVisible: false,
// 运输方式
transportTypes: [],
......@@ -368,40 +771,53 @@ export default {
costDetail: {},
// 下载
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: "downloadReceivableList", hasPermi: "shipment:air:download:downloadReceivableList" },
{
title: this.$t("应收汇总表"),
serviceName: "downloadReceivableList",
hasPermi: "shipment:air:download:downloadReceivableList",
},
{
title: this.$t("提货单"),
serviceName: "zipDownload",
fileFormat: "zip",
hasPermi: "shipment:air:download:zipDownload"
hasPermi: "shipment:air:download:zipDownload",
},
{
title: "agent list",
serviceName: "downloadAgentListFiles",
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文件"),
serviceName: "cdAwbFile",
type: "url",
hasPermi: "shipment:air:download:cdAwbFile"
hasPermi: "shipment:air:download:cdAwbFile",
},
{
title: this.$t("提单Copy"),
serviceName: "downloadLadingCopy",
type: "url",
hasPermi: "shipment:air:download:downloadLadingCopy"
hasPermi: "shipment:air:download:downloadLadingCopy",
},
{
title: this.$t("已装单"),
serviceName: "downloadLoadGoods",
type: "url",
hasPermi: "shipment:air:download:downloadLoadGoods"
hasPermi: "shipment:air:download:downloadLoadGoods",
},
],
// 选中行
......@@ -413,12 +829,12 @@ export default {
operate: "",
},
arrivalInfo: {
orderList: []
orderList: [],
},
clearInfo: {
orderList: []
orderList: [],
},
cancelClearInfo: {}
cancelClearInfo: {},
};
},
methods: {
......@@ -431,37 +847,37 @@ export default {
});
},
getregprocess(val) {
var data = ''
switch(val){
var data = "";
switch (val) {
case 10:
data = 'FLYING_TICKET_EXCEPTION'
data = "FLYING_TICKET_EXCEPTION";
break;
case 12:
data = 'ARRIVAL_TICKET_EXCEPTION'
break
data = "ARRIVAL_TICKET_EXCEPTION";
break;
case 13:
data = 'CLEARANCE_TICKET_EXCEPTION'
break
data = "CLEARANCE_TICKET_EXCEPTION";
break;
default:
data = 'BOX_SHIPPING_TICKET_EXCEPTION'
break
data = "BOX_SHIPPING_TICKET_EXCEPTION";
break;
}
return data
return data;
},
selectable(row, index) {
if (row.abnormalDealStatus === 1) return false;
return true;
},
/* 关闭弹窗 */
closeDialog1(type) {
/* 关闭弹窗 */
closeDialog1(type) {
this.dialogVisible = false;
// if (type === "query") this.getLoadGoodsList();
},
/* 打开异常 */
openError(row) {
console.log(row)
console.log(row);
this.currRow = row;
this.dialogVisible = true;
},
......@@ -470,6 +886,12 @@ export default {
handleSelectionChange(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) {
let orders = [];
......@@ -491,7 +913,7 @@ export default {
} else if (type === "single") {
orders = [row];
}
console.log('getErrorType', type)
console.log("getErrorType", type);
this.getErrorType();
this.$set(this.errorInfo, "orderList", orders);
this.$set(this.errorInfo, "operate", type);
......@@ -499,8 +921,6 @@ export default {
this.handleCommand("updateError");
},
/* 更新到港状态 */
updateArrivalStatus(type) {
let orders = [];
......@@ -509,7 +929,9 @@ export default {
this.$message.error("请选择需要更新的订单");
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, "type", type);
......@@ -523,7 +945,9 @@ export default {
this.$message.error("请选择需要更新的订单");
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, "type", type);
......@@ -531,7 +955,7 @@ export default {
},
/* 更新清关状态 */
cancleClear(val) {
this.cancelClearInfo = val
this.cancelClearInfo = val;
this.handleCommand("cancelClear");
},
getErrorType() {
......@@ -556,7 +980,7 @@ export default {
this.$set(this.errorInfo, "errorType", "flight");
this.$set(this.dialogConfig, "title", this.$t("更新起飞异常状态"));
}
console.log(key, value)
console.log(key, value);
}
},
// 初始化字典数据
......@@ -614,7 +1038,7 @@ export default {
},
// 获取费用
getCost() {
//空运费用 lanbm 2024-05-16
//空运费用 lanbm 2024-05-16
getCostList({ shipmentId: this.shipmentId }).then((res) => {
this.costList = res.data;
});
......@@ -745,10 +1169,10 @@ export default {
},
formatDate,
downloadDetailFile(row) {
if(row.serviceName == 'downloadLoadGoods'){
if(this.shipmentObj.tyStatus < 2112){
this.$message.error('请先完成理货后,再下载已装单')
return
if (row.serviceName == "downloadLoadGoods") {
if (this.shipmentObj.tyStatus < 2112) {
this.$message.error("请先完成理货后,再下载已装单");
return;
}
}
const { fileFormat, type } = row;
......@@ -765,11 +1189,14 @@ export default {
fileFormat ?? "xlsx"
);
}
this.$message.success(this.$t('已加入导出队列,请稍后在下载日志中下载'))
this.$message.success(this.$t("已加入导出队列,请稍后在下载日志中下载"));
},
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: {
visitedViews() {
......@@ -835,16 +1262,16 @@ export default {
},
getClearance() {
return (id) => {
let data = ['','我司清关','合作方清关','客户']
return data[id]
}
let data = ["", "我司清关", "合作方清关", "客户"];
return data[id];
};
},
getdeliveryType() {
return (id) => {
let data = ['','多票','单票']
return data[id]
}
}
let data = ["", "多票", "单票"];
return data[id];
};
},
},
};
</script>
......
......@@ -344,11 +344,12 @@
align="center"
prop="customerServiceName"
></el-table-column>
<!--
<el-table-column
:label="$t('客户经理ID')"
align="center" v-show="false"
prop="customerService"
>
>-->
</el-table-column>
<el-table-column :label="$t('出货渠道')">
<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