Commit d53b87bd authored by zhoutong's avatar zhoutong

报关

parent 2380558b
......@@ -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({
......
<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>
......@@ -59,19 +59,18 @@
<el-radio :label="2">{{$t('异常')}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item prop="overMachineAbnormalStatus" v-show="cusDeclarationObj.overMachineStatus === 2">
<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 prop="overMachineAbnormalStatus" v-show="cusDeclarationObj.overMachineAbnormalStatus === 1">
<el-row class="operate-button" v-if="inReview">
<el-button type="primary" @click="jumpReviewDetail">{{cusDeclarationObj.dcCheckStatus === '1' ? $t('全部退场审核中') : $t('部分退场审核中')}}</el-button>
<el-button type="primary" plain @click="canclAudit">{{cusDeclarationObj.dcCheckStatus === '1' ? $t('取消全部退场审核') : $t('取消部分退场审核')}}</el-button>
</el-row>
<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.overMachineAbnormalStatus === 2">
<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>
......@@ -79,6 +78,22 @@
<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>
......@@ -88,7 +103,10 @@
</el-form-item>
</el-form>
<el-row class="operate-button" v-if="inReview">
<el-button type="primary" @click="jumpReviewDetail">{{cusDeclarationObj.dcCheckStatus === '1' ? $t('全部退场审核中') : $t('部分退场审核中')}}</el-button>
<el-button type="primary" plain @click="canclAudit">{{cusDeclarationObj.dcCheckStatus === '1' ? $t('取消全部退场审核') : $t('取消部分退场审核')}}</el-button>
</el-row>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)" :disabled="isCheckDeal('submit')">{{$t('保存')}}</el-button>
<el-button type="success" v-if="!inReview" @click="onSubmit(2)" :disabled="isCheckDeal('submit')">{{$t('提交')}}</el-button>
......@@ -158,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,
......@@ -187,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,
},
......@@ -262,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,
......@@ -322,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,
......
......@@ -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("代理商设置"));
......
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