Commit 0ee7aeed authored by 我在何方's avatar 我在何方
parents bfa345e9 2a8f3067
......@@ -71,7 +71,7 @@ export function createGoods(data) {
});
}
/***************************** 理货 start **********************************/
/***************************** 合包 start **********************************/
/**
* 获得获得合包箱分页
......
......@@ -52,6 +52,15 @@ export function getOrderPage(query) {
})
}
// 获得订单列表
export function getOrderList(query) {
return request({
url: '/ecw/order/list',
method: 'get',
params: query
})
}
// 导出订单 Excel
export function exportOrderExcel(query) {
return request({
......
......@@ -83,7 +83,9 @@ export default {
if(index < 0){
getProduct(this.value).then(res => {
this.list.unshift(res.data)
this.index = 0
this.$nextTick(() => {
this.index = 0
})
})
}else this.index = index
},
......
......@@ -77,9 +77,7 @@ export default {
data() {
return {
// 表单参数
form: {
destinationClearance: null
},
form: {},
channelList: [],
// 表单校验
rules: {
......@@ -101,7 +99,7 @@ export default {
},
destinationClearanceSelect(val) {
if(val == 3){
this.form.destinationClearance = val
this.$set(this.form,'destinationClearance',val)
}
},
/** 提交按钮 */
......
......@@ -5,10 +5,10 @@
<el-input v-model="bookingObj.blNo" :placeholder="$t('请输入提单号')"></el-input>
</el-form-item>
<el-form-item :label="$t('起运港')">
<dockSelect v-model="bookingObj.departurePortId" :placeholder="$t('请选择起运港')" portType="2" :allDocks="this.$attrs.allDocks" />
<dockSelect v-model="bookingObj.departurePortId" :placeholder="$t('请选择起运港')" portType="1" :allDocks="this.$attrs.allDocks" />
</el-form-item>
<el-form-item :label="$t('目的港')">
<dockSelect v-model="bookingObj.destPortId" :placeholder="$t('请选择目的港')" portType="2" :allDocks="this.$attrs.allDocks" />
<dockSelect v-model="bookingObj.destPortId" :placeholder="$t('请选择目的港')" portType="1" :allDocks="this.$attrs.allDocks" />
</el-form-item>
<el-form-item :label="$t('Shipper')">
<supplierSelect v-model="bookingObj.shipperId" :companyType="'5'" :placeholder="$t('请选择Shipper')" :allSupplier="this.$attrs.allSupplier" />
......
<template>
<el-select
v-model="valueSync"
multiple
filterable
clearable
remote
reserve-keyword
:disabled="disabled"
:placeholder="$t('请输入订单号')"
@focus="remoteMethod('')"
:remote-method="remoteMethod"
:loading="loading">
<el-option
v-for="(item) in list"
:key="item.id"
:label="item.orderNo"
:value="item.orderId">
</el-option>
</el-select>
</template>
<script>
import {getOrderPage, getOrderList} from '@/api/ecw/order'
export default {
props:{
value: [Array],
disabled: {
type: Boolean,
default: false
}
},
data(){
return {
valueSync: [],
list:[],
loading: false
}
},
watch:{
valueSync(val){
this.$emit('input', val)
},
value(val){
this.valueSync = this.value
this.init(val)
}
},
created(){
this.valueSync = this.value
this.init(this.value)
},
methods:{
init(val){
if(val === null || val == undefined || val == '') return
let params = {
ids: val.toString()
}
getOrderList(params).then(res => {
this.list = res.data
})
},
remoteMethod(keyword){
let params = {
pageSize: 10,
}
params.orderNo = keyword
this.loading = true
getOrderPage(params)
.then(res => this.list = res.data.list)
.finally(() => this.loading = false)
}
}
}
</script>
\ No newline at end of file
<template>
<el-select filterable :value="value" @change="change" multiple v-bind="$attrs" clearable>
<el-option v-for="user in getUser" :key="user.id" :value="user.id" :label="user.nickname"></el-option>
</el-select>
</template>
<script>
/**
* 用户
*/
export default {
name: "userSelect",
inheritAttrs: false,
props: {
value: Number | Array,
allUsers: Array,
},
model: {
prop: "value",
event: "change",
},
data() {
return {};
},
computed: {
getUser() {
return this.allUsers;
},
},
methods: {
change(val) {
this.$emit("change", val);
},
},
};
</script>
<template>
<div>
<el-form ref="cusDeclarationForm" :rules="rules" :model="cusDeclarationObj" label-width="120px">
<el-form-item :label="$t('单证要求')">
<template v-for="(item, index) in cusDeclarationObj.documentInfo">
{{
(index === 0 || index === cusDeclarationObj.documentInfo.length) ? "" :"/"
}}
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="item" :key="index" />
</template>
<el-button type="primary" style="margin-left:10px;" @click="downloadVGM">{{getButtonLabel(cusDeclarationObj.documentInfo)}}</el-button>
</el-form-item>
<el-form-item :label="$t('柜重')" prop="dcBoxWgt">
<el-input v-model="cusDeclarationObj.dcBoxWgt" :placeholder="$t('请输入柜重')" clearable />
</el-form-item>
<el-form-item :label="$t('货重')" prop="dcGoodsWgt">
<el-input v-model="cusDeclarationObj.dcGoodsWgt" :placeholder="$t('请输入货重')" clearable />
</el-form-item>
<el-form-item :label="$t('VGM重量')">
<el-input v-model="cusDeclarationObj.dcVgmWgt" :placeholder="$t('请输入VGM重量')" clearable />
</el-form-item>
<el-form-item :label="$t('报关方式')" prop="dcCustomsType">
<el-select v-model="cusDeclarationObj.dcCustomsType" :placeholder="$t('请选择报关方式')">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_CUSTOMS_TYPE)" :key="type.value" :label="$l(type, 'label')" :value="type.value"></el-option>
......@@ -61,9 +43,6 @@
<el-form-item :label="$t('查验前图片')">
<ImageUpload :limit="1" :isShowTip=false v-model="cusDeclarationObj.dcCheckPreImg" />
</el-form-item>
<el-form-item :label="$t('新封条')">
<el-input v-model="cusDeclarationObj.dcStripSeal" :placeholder="$t('请输入新封条')" clearable />
</el-form-item>
<el-form-item :label="$t('退场状态')" v-if="cusDeclarationObj.dcCheckStatus === '1' || cusDeclarationObj.dcCheckStatus === '2'">
{{getCheckExamineStatus}}
</el-form-item>
......@@ -74,6 +53,48 @@
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="cusDeclarationObj.dcPassTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item :label="$t('过机状态')" prop="overMachineStatus">
<el-radio-group v-model="cusDeclarationObj.overMachineStatus" :disabled="inReview">
<el-radio :label="1">{{$t('顺利')}}</el-radio>
<el-radio :label="2">{{$t('异常')}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item prop="overMachineAbnormalStatus" v-show="cusDeclarationObj.overMachineStatus == 2">
<el-radio-group v-model="cusDeclarationObj.overMachineAbnormalStatus" :disabled="inReview">
<el-radio :label="1">{{$t('敏感货')}}</el-radio>
<el-radio :label="2">{{$t('重量误报')}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-show="cusDeclarationObj.overMachineStatus == 2 && cusDeclarationObj.overMachineAbnormalStatus == 1">
<el-form-item :label="$t('删单退场状态')">
{{getCheckExamineStatus}}
</el-form-item>
</el-form-item>
<el-form-item prop="weightMisreport" v-show="cusDeclarationObj.overMachineStatus == 2 && cusDeclarationObj.overMachineAbnormalStatus == 2">
<el-radio-group v-model="cusDeclarationObj.weightMisreport" :disabled="inReview">
<el-radio :label="1">{{$t('机场误差3%')}}</el-radio>
<el-radio :label="2">{{$t('超过误差10KG')}}</el-radio>
<el-radio :label="3">{{$t('过机放行-未找到重货订单')}}</el-radio>
<el-radio :label="4">{{$t('过机放行-已找到重货订单')}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item :label="$t('超出机场重量')" prop="overWeight" v-show="cusDeclarationObj.overMachineStatus == 2 && cusDeclarationObj.overMachineAbnormalStatus == 2">
<el-input v-model="cusDeclarationObj.overWeight" style="width: 180px">
<template slot="append">
{{ $t('KG') }}
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('处理人')" prop="overDealUser" v-show="cusDeclarationObj.overMachineStatus == 2">
<usersSelect v-model="cusDeclarationObj.overDealUser" :placeholder="$t('请选择处理人')" :allUsers="this.$attrs.allUsers" />
</el-form-item>
<el-form-item :label="$t('备注')" prop="overRemarks" v-show="cusDeclarationObj.overMachineStatus == 2">
<el-input v-model="cusDeclarationObj.overRemarks" style="width: 180px" />
</el-form-item>
<el-form-item :label="$t('超重订单')" prop="overOrders" v-show="cusDeclarationObj.overMachineStatus == 2&&cusDeclarationObj.weightMisreport == 4">
<ordersSelect v-model="cusDeclarationObj.overOrders" :placeholder="$t('请选择超重订单')" :allUsers="this.$attrs.allUsers" />
</el-form-item>
<!-- <el-form-item :label="$t('装箱单')">
<el-button type="primary">{{$t('下载装箱单')}}</el-button>
</el-form-item> -->
......@@ -91,7 +112,7 @@
<el-button type="success" v-if="!inReview" @click="onSubmit(2)" :disabled="isCheckDeal('submit')">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
<el-button type="primary" @click="extraCost" v-show="cusDeclarationObj.dcCustomsStatus === '2' || cusDeclarationObj.dcCustomsStatus === '3'">{{$t('额外费用')}}</el-button>
<el-button type="primary" @click="exceptionReg" :disabled="!isShowError">{{$t('异常登记')}}</el-button>
<!-- <el-button type="primary" @click="exceptionReg" :disabled="!isShowError">{{$t('异常登记')}}</el-button> -->
</el-row>
<!-- 对话框 -->
......@@ -155,6 +176,8 @@
<script>
import supplierSelect from "./common/supplierSelect.vue";
import usersSelect from "./common/usersSelect.vue";
import ordersSelect from "./common/ordersSelect.vue";
import {
customsCreate,
extraCostList,
......@@ -184,7 +207,7 @@ import dayjs from "dayjs";
export default {
name: "cusDeclaration",
inheritAttrs: false,
components: { supplierSelect, ImageUpload, regError },
components: { supplierSelect, ImageUpload, regError, usersSelect, ordersSelect },
props: {
shipmentObj: Object,
},
......@@ -259,10 +282,16 @@ export default {
"dcCustomsStatus",
"dcCheckStatus",
]);
oldData.overDealUser = this.strToArray(oldData.overDealUser)
oldData.overOrders = this.strToArray(oldData.overOrders)
this.cusDeclarationObj = oldData;
this.cusDeclarationObj = oldData;console.log(this.cusDeclarationObj.overDealUser)
},
methods: {
strToArray(str) {
let array = str?.split(",") ?? []
return array.map(item=>{return Number(item)})
},
getCustomsOrderList(dcCustomsType) {
customsOrderList({
shipmentId: this.shipmentObj.id,
......@@ -319,6 +348,8 @@ export default {
return newList.length >= 2 ? this.$t("混合报关") : this.$t("VGM声明");
},
submitCustomsCreate(operateType) {
this.cusDeclarationObj.overDealUser = this.cusDeclarationObj.overDealUser.join(',')
this.cusDeclarationObj.overOrders = this.cusDeclarationObj.overOrders.join(',')
customsCreate({
...this.cusDeclarationObj,
shipmentId: this.shipmentObj.id,
......
......@@ -135,14 +135,14 @@ export default {
},
/** 节点点击 */
nodeClick(currIndex, node) {
if (!checkPermi(['box:'+node.type+':action'])) {
this.$message.error(this.$t("没有此操作的权限"));
return;
}
if (currIndex > this.currIndex) {
this.$message.error(this.errorMsg);
return;
}
// if (!checkPermi(['box:'+node.type+':action'])) {
// this.$message.error(this.$t("没有此操作的权限"));
// return;
// }
// if (currIndex > this.currIndex) {
// this.$message.error(this.errorMsg);
// return;
// }
this.currNode = node;
this.currentComponent = `${node.type}Widget`;
this.$set(this.dialogConfig, "width", "500px");
......@@ -161,6 +161,10 @@ export default {
case "clrDocument":
this.$set(this.dialogConfig, "width", "700px");
break;
// 报关
case "cusDeclaration":
this.$set(this.dialogConfig, "width", "700px");
break;
// AGENT
case "agent":
this.$set(this.dialogConfig, "title", this.$t("代理商设置"));
......
<template>
<div class="app-container">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-card shadow="never">
<div slot="header" class="clearfix">
<span>{{ $t('渠道信息') }}</span>
......@@ -86,7 +86,7 @@
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="可出商品特性">
<el-form-item label="可出商品特性" prop="attrId">
<el-select multiple v-model="form.attrId">
<el-option v-for="(item, index) in attrList" :value="item.id" :label="$l(item, 'attrName')"></el-option>
</el-select>
......@@ -95,6 +95,7 @@
</el-row>
<div style="display: flex; justify-content: space-between;">
<h1>
<span style="color: red;font-size: 14px;font-weight: 700;">*</span>
渠道包装列表
</h1>
<div>
......@@ -111,7 +112,7 @@
</el-col>
<el-col :span="16">
<packaging-type v-if="form.channelPackagingList.length" v-model="form.channelPackagingList[index]">
<el-button @click="deleteFn(index)" type="danger">删除包装类型{{index + 1}}</el-button>
<el-button :disabled="form.channelPackagingList.length === 1" @click="deleteFn(index)" type="danger">删除包装类型{{index + 1}}</el-button>
</packaging-type>
</el-col>
</el-row>
......@@ -191,7 +192,15 @@ export default {
attrId:[],
},
rules: {},
rules: {
nameZh:{required:true,message:'请输入中文名称',trigger:'blur'},
nameEn:{required:true,message:'请输入英文名称',trigger:'blur'},
internalNameZh:{required:true,message:'请输入内部中文名称',trigger:'blur'},
internalNameEn:{required:true,message:'请输入内部英文名称',trigger:'blur'},
typeNumber:{required:true,message:'请输入编码类型',trigger:'blur'},
code:{required:true,message:'请输入简码',trigger:'blur'},
attrId:{required:true,message:'请选择可出商品特性',trigger:'blur'}
},
expressList:[],
warehouseList: [],
warehouseIdsArr:[],
......
......@@ -948,7 +948,7 @@ export default {
getCustomer(id) {
return getCustomer(id).then(response => {
console.log(response,'response')
this.form = { ...this.form, ...response.data, id: this.customerId,transportType: response.data.transportType.split(','),customerBanks:response.data.customerBankBackVOList };
this.form = { ...this.form, ...response.data, id: this.customerId,transportType: response.data.transportType && response.data.transportType !== '' ? response.data.transportType.split(',') : [],customerBanks:response.data.customerBankBackVOList };
this.open = true;
this.title = this.$t('修改客户');
this.getZhongPao()
......
......@@ -105,7 +105,8 @@
</el-table-column>
<el-table-column :label="$t('客户名称')" align="center" prop="name">
<template slot-scope="{row}">
{{$l(row, 'name')}} <el-tag v-if="row.isInOpenSea" size="mini">{{ $t('') }}</el-tag>
<p style="display:inline-block;white-space: pre;">{{$l(row, 'name')}}</p>
<el-tag v-if="row.isInOpenSea" size="mini">{{ $t('') }}</el-tag>
</template>
</el-table-column>
......
......@@ -87,7 +87,7 @@
</el-table-column>
<el-table-column :label="$t('客户名称')" align="center" prop="name" >
<template v-slot="{row}">
{{$l(row, 'name')}}
<p style="display:inline-block;white-space: pre;">{{$l(row, 'name')}}</p>
</template>
</el-table-column>
<el-table-column :label="$t('客户等级')" align="center" prop="vipLevelNameZh">
......
......@@ -98,7 +98,7 @@
</el-table-column>
<el-table-column :label="$t('客户名称')" align="center" prop="name" >
<template v-slot="{row}">
{{$l(row, 'name')}}
<p style="display:inline-block;white-space: pre;">{{$l(row, 'name')}}</p>
</template>
</el-table-column>
<el-table-column :label="$t('客户等级')" align="center" prop="vipLevelNameZh">
......
......@@ -87,7 +87,7 @@
</el-table-column>
<el-table-column :label="$t('客户名称')" align="center" prop="name" >
<template v-slot="{row}">
{{$l(row, 'name')}}
<p style="display:inline-block;white-space: pre;">{{$l(row, 'name')}}</p>
</template>
</el-table-column>
<el-table-column :label="$t('客户等级')" align="center" prop="vipLevelNameZh">
......
......@@ -92,7 +92,7 @@
</el-table-column>
<el-table-column :label="$t('客户名称')" align="center" prop="name" >
<template v-slot="{row}">
{{$l(row, 'name')}}
<p style="display:inline-block;white-space: pre;">{{$l(row, 'name')}}</p>
</template>
</el-table-column>
<el-table-column :label="$t('客户等级')" align="center" prop="vipLevelNameZh">
......
......@@ -63,7 +63,7 @@
</el-table-column>
<el-table-column :label="$t('创建人')" align="center" prop="creator" width="180">
<template v-slot="{row}">
{{(row.creator && allSimplList.length) && allSimplList.find(i => i.id == row.creator).nickname}}
{{(row.creator && allSimplList.length) && allSimplList.find(i => i.id == row.creator) && allSimplList.find(i => i.id == row.creator).nickname}}
</template>
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
......@@ -73,7 +73,7 @@
</el-table-column>
<el-table-column :label="$t('修改人')" align="center" prop="updater" width="180">
<template v-slot="{row}">
{{ (row.updater && allSimplList.length) && allSimplList.find(i => i.id == row.updater).nickname}}
{{ (row.updater && allSimplList.length) && allSimplList.find(i => i.id == row.updater) && allSimplList.find(i => i.id == row.updater).nickname}}
</template>
</el-table-column>
<el-table-column :label="$t('修改时间')" align="center" prop="createTime" width="180">
......
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