<template> <div class="app-container"> <!-- 搜索工作栏 --> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="140px" class="search-z"> <el-form-item :label="$t('编号')" prop="orderNo"> <el-input class="w-200" v-model.trim="noParam.value" :placeholder="$t('请输入订单号、唛头、提单号')" clearable @keyup.enter.native="handleQuery" @input="replaceSpace(noParam, 'value')"> <template slot="prepend"> <dict-selector :type="DICT_TYPE.ORDER_QUERY_NO_FIELD" defaultable v-model="noParam.key"/> </template> </el-input> </el-form-item> <el-form-item :label="$t('发货人')" prop="consignorKey"> <el-input v-model.trim="queryParams.consignorKey" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" class="w-200"/> </el-form-item> <el-form-item :label="$t('收货人')" prop="consigneeKey"> <el-input v-model.trim="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" class="w-200"/> </el-form-item> <el-form-item :label="$t('控货状态')" prop="isCargoControl"> <dict-selector v-model="queryParams.cargoControlStatusList" multiple :type="DICT_TYPE.CONTROL_GOODS_STATUS" clearable @change="handleQuery" class="w-200"/> </el-form-item> <div> <el-form-item :label="$t('始发仓')" prop="startWarehouseIds"> <el-select v-model="queryParams.startWarehouseIds" multiple :placeholder="$t('请选择始发仓')" clearable @change="handleQuery" class="w-200"> <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="$t('目的国')" prop="destCountryId"> <el-select v-model="destCountryId" multiple :label="destCountryId" :placeholder="$t('请选择目的国')" clearable @change="handleQuery" class="w-200"> <el-option v-for="item in AddressProvince" :key="item.guojia" :label="item.guojiaName" :value="item.guojia"></el-option> </el-select> </el-form-item> <el-form-item :label="$t('目的城市')" prop="objectiveId"> <el-select v-model="objectiveId" multiple :placeholder="$t('请选择目的城市')" style="width: 200px" clearable @change="handleQuery" class="w-200"> <el-option v-for="item in AddressCity" :key="item.shi" :label="item.shiName" :value="item.shi"></el-option> </el-select> </el-form-item> <el-form-item :label="$t('目的仓')" prop="destWarehouseId"> <el-select v-model="destWarehouseId" multiple :placeholder="$t('请选择目的仓')" style="width: 200px" clearable @change="handleQuery" class="w-200"> <el-option v-for="item in AddressTown" :key="item.id" :label="item.titleZh" :value="item.id"></el-option> </el-select> </el-form-item> </div> <el-form-item :label="$t('客户经理')"> <user-selector manage v-model="queryParams.salesmanIds" multiple clearable @change="handleQuery" :prepend="{ id: 0, nickname: $t('未分配客户经理') }" class="w-200"/> </el-form-item> <el-form-item :label="$t('运输方式')" prop="transportId" v-show="showSearch"> <dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model.number="queryParams.transportId" clearable @change="handleQuery" class="w-200"/> </el-form-item> <el-form-item :label="$t('出货渠道')" prop="channelIds"> <selector clearable :options="channelList" :label-field="$l('name')" value-field="channelId" v-model="queryParams.channelIds" multiple class="w-200"></selector> </el-form-item> <!--<el-form-item :label="$t('订单编号')" prop="orderNo"> <el-input v-model="queryParams.orderNo" :placeholder="$t('订单编号')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/\s+/g, '')" /> </el-form-item>--> <el-form-item :label="$t('商品') + ':'" v-show="showSearch"> <el-input v-model.trim="prodParam.value" :placeholder="$t('请输入商品类型、品名或品牌')" clearable @keyup.enter.native="handleQuery" class="w-200"> <template slot="prepend"> <dict-selector :type="DICT_TYPE.ORDER_QUERY_PROD_FIELD" defaultable v-model="prodParam.key"/> </template> </el-input> </el-form-item> <el-form-item :label="$t('订单状态')" prop="statusList" v-show="showSearch"> <dict-selector :type="DICT_TYPE.ORDER_STATUS" multiple v-model="queryParams.statusList" @keyup.enter.native="handleQuery" clearable @change="handleQuery" class="w-200"/> </el-form-item> <!--<el-form-item :label="$t('提单号')" prop="tidanNo"> <el-input v-model.trim="queryParams.tidanNo" :placeholder="$t('提单号')" clearable @keyup.enter.native="handleQuery" /> </el-form-item>--> <el-form-item :label="$t('报关方式')" prop="customsTypes" v-show="showSearch"> <dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" multiple v-model="queryParams.customsTypes" clearable @change="handleQuery" class="w-200"/> </el-form-item> <!--<el-form-item :label="$t('唛头')" prop="marks"> <el-input v-model="queryParams.marks" :placeholder="$t('唛头')" clearable @keyup.enter.native="handleQuery" /> </el-form-item>--> <el-form-item :label="$t('备案属性')" prop="productRecords" v-show="showSearch"> <dict-selector :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" multiple v-model="queryParams.productRecords" clearable @change="handleQuery" class="w-200"/> </el-form-item> <el-form-item :label="$t('外部仓')" prop="isExternalWarehouse" v-show="showSearch"> <el-select v-model="queryParams.isExternalWarehouse" :placeholder="$t('请选择')" clearable @change="handleQuery" class="w-200"> <el-option :label="$t('外部仓')" :value="1"></el-option> <el-option :label="$t('自有仓')" :value="0"></el-option> </el-select> </el-form-item> <el-form-item :label="$t('增值服务')" prop="types" v-show="showSearch"> <el-select v-model="queryParams.types" :placeholder="$t('请选择')" clearable multiple @change="handleQuery" class="w-200"> <el-option :label="$t('普通订单')" :value="0"></el-option> <el-option :label="$t('集运服务')" :value="1"></el-option> <el-option :label="$t('海外仓')" :value="2"></el-option> </el-select> </el-form-item> <el-form-item :label="$t('商品类型')" prop="goodsTypes" v-show="showSearch"> <selector v-model="queryParams.goodsTypes" multiple :options="productAttrList" label-field="attrName" value-field="id" class="w-200"> </selector> </el-form-item> <!--<el-form-item :label="$t('订单放货锁定收货人到期时间')" prop="lockConsigneeTime"> </el-form-item>--> <el-form-item :label="$t('提货状态')" v-show="showSearch"> <dict-selector :type="DICT_TYPE.PICK_STATE" multiple v-model="queryParams.pickStateList" clearable @change="handleQuery" class="w-200"/> </el-form-item> <el-form-item :label="$t('放货率')" v-show="showSearch"> <el-input type="number" v-model.trim="releaseRatio.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" class="w-200"> <template slot="prepend"> <dict-selector :type="DICT_TYPE.RELEASE_RATIO_FIELD" defaultable v-model="releaseRatio.key"/> </template> </el-input> </el-form-item> <el-form-item :label="$t('提货率')" v-show="showSearch"> <el-input type="number" v-model.trim="pickRatio.value" :placeholder="$t('请输入数字')" clearable @keyup.enter.native="handleQuery" class="w-200"> <template slot="prepend"> <dict-selector :type="DICT_TYPE.PICK_RATIO_FIELD" defaultable v-model="pickRatio.key"/> </template> </el-input> </el-form-item> <el-form-item :label="$t('特需')" prop="packageTypeArr" v-show="showSearch"> <el-select v-model="queryParams.packageTypeArr" multiple :placeholder="$t('请选择')" clearable class="w-200"> <template v-for="item in getDictDatas(DICT_TYPE.ORDER_SPECIAL_NEEDS)"> <el-option :label="$l(item, 'label')" :value="item.value"></el-option> </template> </el-select> </el-form-item> <el-form-item :label="$t('订单限制修改收货人')" prop="isLimitUpdateConsignee"> <el-select v-model="queryParams.isLimitUpdateConsignee" :placeholder="$t('请选择')" clearable @change="handleQuery" class="w-200"> <el-option :label="$t('是')" :value="1"></el-option> <el-option :label="$t('否')" :value="0"></el-option> </el-select> </el-form-item> <div class="flex pb-20"> <dict-selector :type="DICT_TYPE.ECW_BEGINTIME_TYPE_ENDTIME" v-model="dateFilterType" defaultable class="w-200 mr-5" /> <el-date-picker v-model="dateFilter" type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss" @change="handleQuery"> </el-date-picker> <el-button type="primary" icon="el-icon-search" @click="handleQuery" :loading="loading" class="ml-10">{{ $t("搜索") }}</el-button> <el-button icon="el-icon-refresh" @click="resetQuery">{{ $t("重置") }}</el-button> <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading" v-hasPermi="['ecw:cargo:export:search']">{{ $t("导出") }}</el-button> </div> </el-form> <!-- 操作工具栏 --> <el-row :gutter="10" class="mb8"> <el-col :span="2"> <el-button v-hasPermi="['ecw:cargo_control:batch_review']" type="primary" plain icon="el-icon-setting" size="mini" :disabled="multiple" @click="batchReview">{{ $t("批量复核") }}</el-button> </el-col> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> <!-- 列表 --> <el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" align="center" /> <el-table-column :label="$t('订单编号')" width="120px" align="center" prop="orderNo"> <template slot-scope="scope"> <router-link :to="`detail?orderId=` + scope.row.orderId">{{ scope.row.orderNo }}</router-link> </template> </el-table-column> <el-table-column :label="$t('唛头')" align="center" prop="marks" /> <el-table-column :label="$t('箱数')" align="center" prop="sumNum"> <template v-slot="{ row }"> {{ row.sumNum > 0 ? row.sumNum : row.totalNum }} </template> </el-table-column> <el-table-column :label="$t('已放箱数')" align="center" prop="sumWeight"> <template slot-scope="{ row }">{{ row.releaseNum }}</template> </el-table-column> <el-table-column :label="$t('放货率')" align="left" prop="status"> <template slot-scope="{ row }"> {{ row.releaseRatio }}% </template> </el-table-column> <el-table-column :label="$t('订单状态')" align="left" prop="status"> <template slot-scope="{ row }"> {{ row.statusMsg }} </template> </el-table-column> <el-table-column :label="$t('提货率')" align="left" prop="status"> <template slot-scope="{ row }"> {{ row.pickRatio || 0 }}% </template> </el-table-column> <el-table-column :label="$t('已卸柜/已到仓时间')" align="left" prop="status"> <template slot-scope="{ row }"> {{ row.unloadTime }} </template> </el-table-column> <el-table-column :label="$t('放货锁定收货人到期时间')" align="left" prop="status"> <template slot-scope="{ row }"> {{ row.lockConsigneeTime }} </template> </el-table-column> <el-table-column :label="$t('订单限制修改收货人')" align="left" prop="status"> <template slot-scope="{ row }"> {{ row.isLimitUpdateConsignee ? $t("是") : $t("否") }} </template> </el-table-column> <!--<el-table-column :label="$t('提单号')" align="center" prop="status"> <template slot-scope="scope"> {{scope.row.tidanNo}} </template> </el-table-column>--> <el-table-column :label="$t('放货人')" align="center" prop="sumWeight"> <template slot-scope="{ row }">{{ row.cargoControlName }}</template> </el-table-column> <el-table-column :label="$t('控货状态')" align="center" prop="transportId"> <template slot-scope="{ row }"> <template v-if="row.cargoControlStatus == 1 && row.isToReview">{{ $t("放货中") }}</template> <dict-tag v-else :type="DICT_TYPE.CONTROL_GOODS_STATUS" :value="row.cargoControlStatus" /> </template> </el-table-column> <el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width" width="150px"> <template slot-scope="scope"> <!-- 2408新需求,当订单放货状态不等于已放完货,按钮可点击,佛足额置灰不可点击 https://czxy.cpolar.cn/task-view-266.html --> <!--修改放货限制--> <el-button type="text" size="mini" @click="showUpdateReleaseLimit = scope.row" v-hasPermi="['ecw:cargo_control:updateReleaseLimit']" :disabled="scope.row.cargoControlStatus == 1 && !scope.row.isToReview">{{ $t("修改放货限制") }}</el-button> <!--控货中,已入仓--> <template v-if="[0, 2].indexOf(scope.row.cargoControlStatus) > -1 && scope.row.sumNum > 0"> <!-- 2408新需求,如果有修改放货限制审批 和 海外仓修改申请在途则置灰 https://czxy.cpolar.cn/task-view-266.html --> <el-button type="text" size="mini" @click="showReleaseOrderId = scope.row.orderId" v-hasPermi="['ecw:cargo_control:release']" :disabled="scope.row.auditType == 61 || scope.row.auditType == 62">{{ $t("放货") }}</el-button> <el-button type="text" size="mini" @click="showTransferOrder = scope.row" v-hasPermi="['ecw:cargo_control:transfer']">{{ $t("控货权转移") }}</el-button> </template> <!--部分控货--> <template v-if="scope.row.cargoControlStatus == 2"> <el-button type="text" size="mini" @click="toDetail(scope.row)" v-hasPermi="['ecw:cargo_control:update']">{{ $t("修改") }}</el-button> <el-button type="text" size="mini" @click="toDetail(scope.row)" v-hasPermi="['ecw:cargo_control:cancel']">{{ $t("取消") }}</el-button> <el-button type="text" size="mini" @click="review(scope.row)" v-if="scope.row.isToReview" v-hasPermi="['ecw:cargo_control:review']">{{ $t("放货复核") }}</el-button> </template> <!--已全部放货,但是未复核--> <template v-if="scope.row.cargoControlStatus == 1 && scope.row.isToReview"> <el-button type="text" size="mini" @click="review(scope.row)" v-hasPermi="['ecw:cargo_control:review']">{{ $t("放货复核") }}</el-button> <el-button type="text" size="mini" @click="toDetail(scope.row)" v-hasPermi="['ecw:cargo_control:update']">{{ $t("修改") }}</el-button> <el-button type="text" size="mini" @click="toDetail(scope.row)" v-hasPermi="['ecw:cargo_control:cancel']">{{ $t("取消") }}</el-button> </template> <!--已完成放货,且没有待复核;真正的放货完成--> <template v-if="scope.row.cargoControlStatus == 1 && !scope.row.isToReview"> <!-- <el-button type="text" size="mini" @click="toDetail(scope.row)" >{{$t('查看')}}</el-button> --> <el-button type="text" size="mini" @click="cargoTransfer(scope.row)" v-hasPermi="['ecw:cargo_control:cargo_transfer']">{{ $t("调货") }}</el-button> <el-button type="text" size="mini" @click="showFallbackOrder = scope.row" v-if="scope.row.isReleaseAfterGoods" v-hasPermi="['ecw:cargo_control:fallback']">{{ $t("反复核") }}</el-button> </template> <el-button type="text" size="mini" @click="showLogOrderId = scope.row.orderId" v-hasPermi="['ecw:cargo_control:log']">{{ $t("控货日志") }}</el-button> <el-button type="text" size="mini" @click="toDetail(scope.row)" v-hasPermi="['ecw:cargo_control:show']">{{ $t("查看") }}</el-button> </template> </el-table-column> </el-table> <!-- 分页组件 --> <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.rows" @pagination="getList" /> <transfer v-if="showTransferOrder" v-bind="showTransferOrder" @close="showTransferOrder = null" /> <release v-if="showReleaseOrderId" :order-id="showReleaseOrderId" @close="showReleaseOrderId = null" @success="onReleaseSuccess" /> <transfer-cargo v-if="showTransferCargoOrderId" :order-id="showTransferCargoOrderId" @close="showTransferCargoOrderId = null" @success="onTransferCargoSuccess" :cargoControlPickId="pickInfo ? pickInfo.id : 0" /> <fallback v-if="showFallbackOrder !== null" :order="showFallbackOrder" @close="showFallbackOrder = null" @success="onFallbackSuccess" :index="null" /> <!--控货日志--> <cargo-log-list v-if="showLogOrderId" :order-id="showLogOrderId" @close="showLogOrderId = null" /> <!--修改放货限制--> <update-release-limit v-if="showUpdateReleaseLimit" :order="showUpdateReleaseLimit" @close="showUpdateReleaseLimit = null" @success="onUpdateReleaseLimitSuccess" /> </div> </template> <script> import Selector from "@/components/Selector" import ProductSelector from "@/components/ProductSelector" import { getProductAttrList } from "@/api/ecw/productAttr" import CustomerSelector from "@/components/CustomerSelector" import UpdateReleaseLimit from "@/views/ecw/order/components/updateReleaseLimit.vue" /* import { getTradeCityList } from '@/api/ecw/region' */ import Transfer from "@/views/ecw/order/components/Transfer" import Release from "./components/Release" import CargoControlEdit from "./components/CargoControlEdit" import { getCargoControlOrderPage, batchReview, orderReview, getPickRleaseInfo, exportCargoControl } from "@/api/ecw/orderCargoControl" import TransferCargo from "@/views/ecw/order/components/TransferCargo" import Fallback from "./components/Fallback" import { getWarehouseList } from "@/api/ecw/warehouse" import CargoLogList from "@/views/ecw/order/components/CargoLogList.vue" import { getRegionList } from "@/api/ecw/order" import UserSelector from "@/components/UserSelector" import { getChannelList } from "@/api/ecw/channel" export default { name: "EcwOrderCargocontrol", components: { UpdateReleaseLimit, CargoLogList, UserSelector, CustomerSelector, ProductSelector, Selector, Transfer, Release, CargoControlEdit, TransferCargo, Fallback }, data() { return { // 选中数组 ids: [], // 非单个禁用 single: true, // 非多个禁用 multiple: true, // 遮罩层 loading: true, // 导出遮罩层 exportLoading: false, // 显示搜索条件 showSearch: false, // 总条数 total: 0, // 订单列表 list: [], // 弹出层标题 title: "", // 查询参数 queryParams: { page: 1, rows: 10 }, tradeCityList: [], warehouseList: [], productAttrList: [], // 商品属性 molecule: "", //重货比分子 denominator: "", //重货比分母 dateFilterType: "", //日期筛选类别 dateFilter: [], //筛选日期 showTransferOrder: null, // 控制权转移操作订单 showReleaseOrderId: null, // 放货ID showTransferCargoOrderId: null, // 调货ID showFallbackOrder: null, // 调货订单 pickInfo: null, // 当前操作的提货信息 showLogOrderId: null, // 显示控货日志的订单ID showUpdateReleaseLimit: null, // 显示修改放货限制的订单 // 编号搜索条件 noParam: { key: "numberKey", value: "" }, // 商品搜索条件 prodParam: { key: "prodKey", value: "" }, // 放货率 releaseRatio: { key: "geReleaseRatio", value: "" }, channelList: [], AddressProvince: [], AddressCity: [], AddressTown: [], destCountryId: null, objectiveId: null, destWarehouseId: null, pickRatio: { key: "gePickRatio", value: "" } } }, computed: { expoerCityList() { return this.tradeCityList.filter((item) => item.type == 2) }, importCityList() { return this.tradeCityList.filter((item) => item.type == 1) }, exportWarehouseList() { return this.warehouseList.filter((item) => item.tradeType == 2 || item.tradeType == 3) }, importWarehouseList() { return this.warehouseList.filter((item) => item.tradeType == 1 || item.tradeType == 3) }, combinedQueryParams() { let timeParams = {} if (this.dateFilterType && this.dateFilter) { timeParams["begin" + this.dateFilterType] = this.dateFilter[0] timeParams["end" + this.dateFilterType] = this.dateFilter[1] } let queryParams = { ...this.queryParams } if (this.noParam.value) { queryParams[this.noParam.key] = this.noParam.value } //目的国 if (this.destCountryId != null && this.destCountryId != "") { queryParams.destCountryIds = this.destCountryId } //目的城市 if (this.objectiveId != null && this.objectiveId != "") { queryParams.objectiveIds = this.objectiveId } //目的仓 if (this.destWarehouseId != null && this.destWarehouseId != "") { queryParams.destWarehouseIds = this.destWarehouseId } // 提货率 if (this.pickRatio.value) { queryParams[this.pickRatio.key] = this.pickRatio.value } // 放货率 if (this.releaseRatio.value) { queryParams[this.releaseRatio.key] = this.releaseRatio.value } if (this.prodParam.value) { queryParams[this.prodParam.key] = this.prodParam.value } if (queryParams.statusList?.length) { queryParams.statusString = queryParams.statusList.join(",") delete queryParams.statusList } return Object.assign({}, timeParams, queryParams) } }, watch: { destCountryId: { //监听当前地区值的变化,于与上方地区值进行了双向绑定 deep: true, //深度监听 handler() { //每当值省份值改变时其下地区值进行清空 this.AddressCity = [] this.AddressTown = [] this.objectiveId = "" this.destWarehouseId = "" this.findByprovinceCode() if (this.destCountryId == "") { this.getAddressCity() this.getAddressTown() } else if (this.destCountryId != "" && this.objectiveId == "" && this.destWarehouseId == "") { this.getAddressTown() } } }, objectiveId: { deep: true, //深度监听 handler() { this.AddressTown = [] this.destWarehouseId = "" this.findBycityCode() if (this.objectiveId != "" && this.destCountryId != "" && this.destWarehouseId == "") { //获取当前城市值id,获取该城市下区域 } else if (this.destCountryId == "" && this.objectiveId == "" && this.destWarehouseId == "") { this.getAddressTown() } else if (this.destCountryId != "" && this.objectiveId == "" && this.destWarehouseId == "") { this.findByprovinceCode() this.getAddressTown() } } }, destWarehouseId: { deep: true, //深度监听 handler() { if (this.objectiveId != "" && this.destCountryId != "" && this.destWarehouseId == "") { //获取当前城市值id,获取该城市下区域 this.findBycityCode() } else if (this.destCountryId != "" && this.objectiveId == "" && this.destWarehouseId == "") { this.getAddressTown() } } } }, activated() { // 要求保留页码 https://zentao.test.jdshangmen.com/bug-view-3079.html this.getList() }, created() { this.getList() getProductAttrList().then((res) => (this.productAttrList = res.data)) // getTradeCityList().then(res => this.tradeCityList = res.data) getWarehouseList().then((res) => (this.warehouseList = res.data)) getChannelList().then((res) => (this.channelList = res.data)) this.getAddressProvince() this.getAddressCity() this.getAddressTown() }, methods: { /** 查询列表 */ getList() { this.loading = true // 执行查询 const query = { ...this.combinedQueryParams } if (query.packageTypeArr && query.packageTypeArr.length) { query.packageType = query.packageTypeArr.join(",") } getCargoControlOrderPage(query).then((response) => { this.list = [] // 直接更细数据,可能因为elTable的部分渲染产生bug,比如权限控制异常 this.$nextTick(() => { this.list = response.data.list this.total = response.data.total }) this.loading = false }) }, /** 搜索按钮操作 */ handleQuery() { this.queryParams.page = 1 this.$nextTick(this.getList) }, /** 重置按钮操作 */ resetQuery() { this.resetForm("queryForm") this.queryParams = { page: 1, rows: 10, packageTypeArr: [], channelId: null, channelIds: null, customsTypes: null, productRecords: null, goodsTypes: null } this.destCountryId = null this.destWarehouseId = null this.objectiveId = null this.pickRatio.value = "" this.noParam.value = "" this.prodParam.value = "" this.dateFilter = [] this.handleQuery() }, /** 导出按钮操作 */ handleExport() { // 处理查询参数 // 执行导出 this.$modal .confirm("是否确认导出所有订单数据项?") .then(() => { this.exportLoading = true return exportCargoControl(this.combinedQueryParams) }) .then((response) => { this.$message.success(this.$t("已加入导出队列,请稍后在下载日志中下载")) this.exportLoading = false }) .catch(() => {}) }, // 表格多选 handleSelectionChange(selection) { this.ids = selection.map((item) => item.orderId) this.single = selection.length !== 1 this.multiple = !selection.length }, toDetail(row) { this.$router.push("cargo_control/detail?id=" + row.orderId) }, // 复核 review(row) { // 未放货完成则打开详情,已完成放货则弹窗 if (row.releaseNum < row.sumNum) { return this.toDetail(row) } this.$confirm("已核实放货信息,确认放货?") .then((res) => { return orderReview(row.orderId) }) .then((res) => { this.$message.success("操作成功") this.getList() }) }, // 批量复核 batchReview() { this.$confirm(this.$t("确定复核选中的订单么?")) .then(() => { return batchReview("orderIds=" + this.ids.join(",")) }) .then(() => { this.$message.success(this.$t("操作成功")) this.getList() }) }, cargoTransfer(row) { getPickRleaseInfo(row.orderId).then((res) => { if (res.data.cargoControlPickBackVOList && res.data.cargoControlPickBackVOList.length > 1) { this.toDetail(row) } this.pickInfo = res.data.cargoControlPickBackVOList[0] this.showTransferCargoOrderId = row.orderId }) }, onReleaseSuccess() { this.showReleaseOrderId = null this.getList() }, onFallbackSuccess() { this.showFallbackOrder = null this.getList() }, onTransferCargoSuccess() { this.showTransferCargoOrderId = null this.getList() }, // 修改放货审批限制成功 onUpdateReleaseLimitSuccess() { this.showUpdateReleaseLimit = null this.getList() }, getAddressProvince() { /*getListTree({ treeType: 1 }).then((response) => { this.countryList = response.data; })*/ getRegionList(1, 1).then(({ data }) => { this.AddressProvince = data }) }, getAddressCity() { getRegionList(4, 4).then(({ data }) => { this.AddressCity = data }) }, getAddressTown() { getRegionList(5, 5).then(({ data }) => { this.AddressTown = data }) }, findByprovinceCode() { if (this.destCountryId != null && this.destCountryId != "") { //获取当前省份值id,获取该省份下城市 destCountryId provinceCode getRegionList(2, this.destCountryId).then(({ data }) => { this.AddressCity = data }) } }, findBycityCode() { if (this.objectiveId != null && this.objectiveId != "") { //获取当前城市值id,获取该城市下区域 getRegionList(3, this.objectiveId).then(({ data }) => { this.AddressTown = data }) } }, // 自动去除空格 replaceSpace(obj, field) { obj[field] = obj[field].replace(/\s+/g, "") } } } </script>