作者 唐俊升

更改电商出口表头表体结构

... ... @@ -2,42 +2,30 @@ import axios from 'axios'
import http from "../http";
//let baseServiceURL = 'cross-border-service'
let baseServiceURL2 = 'wlpt-cbed-system'
// let baseServiceURL2 = 'wlpt-cbed-system'
let baseServiceURL2 = 'wlpt-cbed-system-dev'
//订单列表
// export const selectLists = params => { return axios.get(`${baseServiceURL2}/ExportOrderDeclaration/selectLists`, { params: params }); };
export const selectLists = params => { return axios.get(`${baseServiceURL2}/ExportOrder/selectList`, { params: params }); };
//订单申报
export const sendOrder = params => { return http.post(`${baseServiceURL2}/ExportOrderDeclaration/sendOrder`, params); };
//上传EXCEL
// export const importExcel = params => { return http.postExcelData(`${baseServiceURL2}/import/importExcel`, params); };
//订单批量申报
export const batchOrder = params => { return http.post(`${baseServiceURL2}/ExportOrderDeclaration/batchOrder`, params); };
//订单批量导入申报
export const batchOrderImport = params => { return http.postExcelData(`${baseServiceURL2}/ExportOrderDeclaration/batchOrderImport`, params); };
//清单批量申报
export const eldhBatchDeclare = params => { return http.post(`${baseServiceURL2}/ExportListDeclaration/eldhBatchDeclare`, params); };
//清单批量导入申报
export const eldhImportDeclare = params => { return http.postExcelData(`${baseServiceURL2}/ExportListDeclaration/eldhImportDeclare`, params); };
//运单批量申报
export const eldBatchDeclare = params => { return http.post(`${baseServiceURL2}/ExportLogistics/eldBatchDeclare`, params); };
//运单批量导入申报
export const eldImportDeclare = params => { return http.postExcelData(`${baseServiceURL2}/ExportLogistics/eldImportDeclare`, params); };
//总分单批量申报
export const zfeldBatchDeclare = params => { return http.post(`${baseServiceURL2}/ExportWaybillDeclaration/eldBatchDeclare`, params); };
//总分单批量导入申报
export const zfeldImportDeclare = params => { return http.postExcelData(`${baseServiceURL2}/ExportWaybillDeclaration/eldImportDeclare`, params); };
//根据提运单统计信息
export const billNoStatistics = params => { return axios.get(`${baseServiceURL2}/ExportListDeclaration/billNoStatistics`, { params: params }); };
// 根据guid删除订单信息
export const deleteOrderByGuid = params => {return axios.get(`${baseServiceURL2}/ExportOrder/deleteByGuid`, {params: params}); };
export const deleteOrder = params => {return axios.get(`${baseServiceURL2}/ExportOrder/delByClientCodeAndOrderNo`, {params: params}); };
//根据主单号批量删除订单信息
export const batchDelExt2 = params => {return axios.get(`${baseServiceURL2}/ExportOrder/batchDelExt2`, {params: params});}
// 根据guid列表批量删除订单信息
export const batchDelBillNo = params => {return axios.get(`${baseServiceURL2}/ExportOrder/batchDelBillNo`, {params: params});}
// 根据客户编号和订单号批量删除订单信息
export const batchDelOrderByBeans = params =>{return http.post(`${baseServiceURL2}/ExportOrder/deleteByBeans`,params); };
// 导入订单文件到minio
export const importExcelToMinio = params => { return http.postExcelData(`${baseServiceURL2}/import/importExcelToMinio`, params); };
// 查询导入文件列表
export const selectFilePage = params =>{return axios.get(`${baseServiceURL2}/import/selectFilePage`, { params: params }); }
\ No newline at end of file
export const selectFilePage = params =>{return axios.get(`${baseServiceURL2}/import/selectFilePage`, { params: params }); }
// 批量导入申报
export const batchDecImport = params => { return http.postExcelData(`${baseServiceURL2}/ExportOrder/batchDecImport`, params); };
// 批量申报
export const batchDecList = params => { return http.post(`${baseServiceURL2}/ExportOrder/batchDecList`, params); };
// 主单申报
export const batchDecBillNo = params => {return http.get(`${baseServiceURL2}/ExportOrder/batchDecBillNo`, params); };
\ No newline at end of file
... ...
... ... @@ -3,16 +3,16 @@
<div>
<el-form :inline="true" :model="queryInfo" class="demo-form-inline">
<el-form-item label="">
<el-input size="medium" v-model="queryInfo.ext1" class="" placeholder="客户编码"></el-input>
<el-input size="medium" v-model="queryInfo.clientCode" class="" placeholder="客户编码"></el-input>
</el-form-item>
<el-form-item label="">
<el-input size="medium" v-model="queryInfo.ext2" class="" placeholder="主单号"></el-input>
<el-input size="medium" v-model="queryInfo.billNo" class="" placeholder="主单号"></el-input>
</el-form-item>
<el-form-item label="">
<el-input size="medium" v-model="queryInfo.orderno" placeholder="订单号"></el-input>
<el-input size="medium" v-model="queryInfo.orderNo" placeholder="订单号"></el-input>
</el-form-item>
<el-form-item label="">
<el-select size="medium" v-model="queryInfo.ordertype" placeholder="订单类型">
<el-select size="medium" :clearable='true' v-model="queryInfo.orderType" placeholder="订单类型">
<el-option
v-for="item in ordertypes"
:key="item.value"
... ... @@ -21,7 +21,7 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="">
<!-- <el-form-item label="">
<el-select size="medium" v-model="queryInfo.apptype" placeholder="报送类型">
<el-option
v-for="item in apptypes"
... ... @@ -40,7 +40,7 @@
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-form-item> -->
<el-form-item>
<div class="block">
<el-date-picker
... ... @@ -79,67 +79,34 @@
</el-form-item>
</el-form>
</div>
<div>
<el-radio-group v-model="cebType">
<el-radio :label="303">订单申报</el-radio>
<el-radio :label="505">运单申报</el-radio>
<el-radio :label="603">清单申报</el-radio>
<el-radio :label="607">总分单申报</el-radio>
</el-radio-group>
</div>
<div style="margin-bottom: 20px">
<el-row :gutter="24">
<el-col :span="3">
<el-button size="medium" @click="batchOrder" style="background: none">订单批量申报</el-button>
</el-col>
<el-col :span="4">
<el-upload
class="upload-demo"
action=""
:before-upload="beforeUpload"
:http-request="batchOrderImport"
:show-file-list="false">
<el-button size="medium" style="background: none">订单批量导入申报</el-button>
</el-upload>
<el-button size="medium" @click="batchDecList" style="background: none">列表申报</el-button>
</el-col>
<el-col :span="3">
<el-button size="medium" @click="batchDeclare" style="background: none">清单批量申报</el-button>
</el-col>
<el-col :span="4">
<el-upload
class="upload-demo"
action=""
:before-upload="beforeUpload"
:http-request="batchDeclareImport"
:http-request="batchDecImport"
:show-file-list="false">
<el-button size="medium" style="background: none">清单批量导入申报</el-button>
<el-button size="medium" style="background: none">导入申报</el-button>
</el-upload>
</el-col>
<el-col :span="3">
<el-button size="medium" @click="ydeldBatchDeclare" style="background: none">运单批量申报</el-button>
</el-col>
<el-col :span="4">
<el-upload
class="upload-demo"
action=""
:before-upload="beforeUpload"
:http-request="ydbatchDeclareImport"
:show-file-list="false">
<el-button size="medium" style="background: none">运单批量导入申报</el-button>
</el-upload>
<el-button size="medium" @click="batchDecBillNo" style="background: none">主单申报</el-button>
</el-col>
</el-row>
</div>
<div style="margin-bottom: 20px">
<el-row :gutter="24">
<el-col :span="3">
<el-button size="medium" @click="zfbatchOrder" style="background: none">总分单批量申报</el-button>
</el-col>
<el-col :span="4">
<el-upload
class="upload-demo"
action=""
:before-upload="beforeUpload"
:http-request="zfbatchOrderImport"
:show-file-list="false">
<el-button size="medium" style="background: none">总分单批量导入申报</el-button>
</el-upload>
</el-col>
</el-row>
</div>
<el-table
:data="tableData"
style="width: 100%"
... ... @@ -152,43 +119,43 @@
<el-table-column type="expand" label="详细信息">
<template v-slot:default="{ row }">
<el-table
:data="row.exportOrderDeclarationBodyList"
:data="row.exportBodyList"
style="width: 85%;margin-left: 45px"
row-key="id"
stripe
>
<el-table-column type="index" label="序号" width="50" align="center"/>
<el-table-column prop="itemno" label="企业商品货号" />
<el-table-column prop="itemname" label="企业商品名称" />
<el-table-column prop="itemdescribe" label="企业商品描述" />
<el-table-column prop="barcode" label="条形码" />
<el-table-column prop="itemNo" label="企业商品货号" />
<el-table-column prop="itemName" label="企业商品名称" />
<el-table-column prop="itemDescribe" label="企业商品描述" />
<el-table-column prop="barCode" label="条形码" />
<el-table-column prop="unit" label="计量单位" />
<el-table-column prop="currency" label="币制" />
<el-table-column prop="qty" label="数量" />
<el-table-column prop="price" label="单价" />
<el-table-column prop="totalprice" label="总价" />
<el-table-column prop="totalPrice" label="总价" />
<el-table-column prop="note" label="备注" />
</el-table>
</template>
</el-table-column>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="ext1" label="客户编号" width="180"></el-table-column>
<el-table-column prop="ext2" label="主单号" width="180"></el-table-column>
<el-table-column prop="orderno" label="订单编号" width="180"></el-table-column>
<el-table-column prop="ordertype" label="订单类型" width="120">
<el-table-column prop="clientCode" label="客户编号" width="180"></el-table-column>
<el-table-column prop="billNo" label="主单号" width="180"></el-table-column>
<el-table-column prop="orderNo" label="订单编号" width="180"></el-table-column>
<el-table-column prop="orderType" label="订单类型" width="120">
<template slot-scope="scope">
<span v-if="scope.row.ordertype==='E'">
B2C
</span>
<span v-else-if="scope.row.ordertype==='B'">
B2B
</span>
<span v-if="scope.row.orderType==='E'">
B2C
</span>
<span v-else-if="scope.row.orderType==='B'">
B2B
</span>
<span v-else>
海外仓
</span>
海外仓
</span>
</template>
</el-table-column>
<el-table-column prop="apptype" label="报送类型" width="120">
<!-- <el-table-column prop="apptype" label="报送类型" width="120">
<template slot-scope="scope">
<span v-if="scope.row.apptype==='1'">
新增
... ... @@ -208,9 +175,9 @@
申报
</span>
</template>
</el-table-column>
<el-table-column prop="ebpname" label="电商平台" width="180"></el-table-column>
<el-table-column prop="goodsvalue" label="商品金额" width="120"></el-table-column>
</el-table-column> -->
<el-table-column prop="baseCustomerConfig.ebpname" label="电商平台" width="180"></el-table-column>
<el-table-column prop="goodsValue" label="商品金额" width="120"></el-table-column>
<el-table-column prop="freight" label="运杂费" width="120"></el-table-column>
<el-table-column prop="note" label="备注" width="180"></el-table-column>
<el-table-column
... ... @@ -219,9 +186,8 @@
width="200"
show-overflow-tooltip>
<template slot-scope="scope">
<el-button type="text" size="small" @click="sendorder(scope.row)">订单申报</el-button>
<el-button type="text" size="small" @click="sendDeclare(scope.row)">清单申报</el-button>
<el-button type="text" size="small" @click="deleteOrderByGuid(scope.row)">订单删除</el-button>
<el-button type="text" size="small" @click="sendorder(scope.row)">申报</el-button>
<el-button type="text" size="small" @click="deleteOrder(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
... ... @@ -240,30 +206,29 @@
</template>
<script>
import {sendOrder,selectLists,batchOrder,batchOrderImport,eldhBatchDeclare,eldhImportDeclare,
eldBatchDeclare,eldImportDeclare,zfeldBatchDeclare,zfeldImportDeclare,deleteOrderByGuid,
batchDelOrderByBeans,batchDelExt2} from '../../api/consigner/exportOrder'
import {sendOrder,selectLists,deleteOrder,batchDelOrderByBeans,batchDelBillNo,
batchDecImport,batchDecList,batchDecBillNo} from '../../api/consigner/exportOrder'
export default {
data() {
return {
apptypes: [
{
value: '1',
label: '新增'
}, {
value: '2',
label: '变更'
}
],
appstatuss: [
{
value: '1',
label: '暂存'
}, {
value: '2',
label: '申报'
}
],
// apptypes: [
// {
// value: '1',
// label: '新增'
// }, {
// value: '2',
// label: '变更'
// }
// ],
// appstatuss: [
// {
// value: '1',
// label: '暂存'
// }, {
// value: '2',
// label: '申报'
// }
// ],
ordertypes: [
{
value: 'E',
... ... @@ -280,14 +245,14 @@
selectedRows: [],
expandedRowKeys: [],
queryInfo:{
appstatus:'',
apptype:'',
orderno:'',
ordertype:'',
ext1:'',
ext2:'',
starttime:'',
endtime:'',
// appstatus:'',
// apptype:'',
orderNo:'',
orderType:'',
clientCode:'',
billNo:'',
startTime:'',
endTime:'',
pageNum:1,
pageSize:20
},
... ... @@ -320,7 +285,8 @@
}]
},
value2:'',
transformedData:''
transformedData:'',
cebType:''
};
},
mounted() {
... ... @@ -328,93 +294,43 @@
this.getList();
},
methods: {
//运单批量导入申报
zfbatchOrderImport({ file, onSuccess, onError }){
// 生成 FormData 对象
const formData = new FormData();
formData.append('file', file);
zfeldImportDeclare(formData).then((response) => {
const res = response.data
if (res.code !== '200') {
return this.$message.error(res.msg);
}
this.$message.success(res.msg);
this.getList();
onSuccess(response.data); // 调用 onSuccess 回调通知上传成功
}).catch(error => {
// 关闭加载
this.$message.error(error.toString())
onError(error); // 调用 onError 回调通知上传失败
})
},
//运单批量申报
zfbatchOrder(){
// 批量申报
batchDecList(){
if(this.selectedRows.length!==0){
this.transformedData = this.selectedRows.map(item => ({
orderno: item.orderno,
ext1: item.ext1
}));
zfeldBatchDeclare(this.transformedData).then((response)=>{
const res=response.data;
if (res.code !== '200') {
return this.$message.error('总分单批量申报失败!')
}
this.$message.success('总分单批量申报成功!');
this.getList();
}).catch(error=>{
this.$message.error(error.toString())
})
}else{
this.$message.error('请选勾取需要申报的总分单信息!');
}
},
//运单批量导入申报
ydbatchDeclareImport({ file, onSuccess, onError }){
// 生成 FormData 对象
const formData = new FormData();
formData.append('file', file);
eldImportDeclare(formData).then((response) => {
const res = response.data
if (res.code !== '200') {
return this.$message.error(res.msg);
if(this.cebType.length !== 0){
this.transformedData = this.selectedRows.map(item => ({
orderNo: item.orderNo,
clientCode: item.clientCode,
cebType: this.cebType
}));
batchDecList(this.transformedData).then((response)=>{
const res=response.data;
if (res.code !== '200') {
return this.$message.error('总分单批量申报失败!')
}
this.$message.success(res.msg);
this.getList();
}).catch(error=>{
this.$message.error(error.toString())
})
}else{
this.$message.error('请选勾取需要申报的类型!');
}
this.$message.success(res.msg);
this.getList();
onSuccess(response.data); // 调用 onSuccess 回调通知上传成功
}).catch(error => {
// 关闭加载
this.$message.error(error.toString())
onError(error); // 调用 onError 回调通知上传失败
})
},
//运单批量申报
ydeldBatchDeclare(){
if(this.selectedRows.length!==0){
this.transformedData = this.selectedRows.map(item => ({
orderno: item.orderno,
ext1: item.ext1
}));
eldBatchDeclare(this.transformedData).then((response)=>{
const res=response.data;
if (res.code !== '200') {
return this.$message.error('运单批量申报失败!')
}
this.$message.success('运单批量申报成功!');
this.getList();
}).catch(error=>{
this.$message.error(error.toString())
})
}else{
this.$message.error('请选勾取需要申报的运单信息!');
this.$message.error('请选勾取需要申报的信息!');
}
},
//清单批量导入申报
batchDeclareImport({ file, onSuccess, onError }){
// 导入申报
batchDecImport({ file, onSuccess, onError }){
if(this.cebType.length === 0){
this.$message.error('请选勾取需要申报的类型!');
return;
}
// 生成 FormData 对象
const formData = new FormData();
formData.append('file', file);
eldhImportDeclare(formData).then((response) => {
formData.append('cebType', this.cebType);
batchDecImport(formData).then((response) => {
const res = response.data
if (res.code !== '200') {
return this.$message.error(res.msg);
... ... @@ -428,83 +344,31 @@
onError(error); // 调用 onError 回调通知上传失败
})
},
//清单申报
sendDeclare(row){
const { orderno, ext1 } = row;
const senddata= [{ orderno, ext1 }];
eldhBatchDeclare(senddata).then((response)=>{
const res=response.data;
if (res.code !== '200') {
return this.$message.error('清单批量申报失败!')
}
this.$message.success('清单批量申报成功!');
this.getList();
}).catch(error=>{
this.$message.error(error.toString())
})
},
//清单批量申报
batchDeclare(){
if(this.selectedRows.length!==0){
this.transformedData = this.selectedRows.map(item => ({
orderno: item.orderno,
ext1: item.ext1
}));
eldhBatchDeclare(this.transformedData).then((response)=>{
const res=response.data;
if (res.code !== '200') {
return this.$message.error('清单批量申报失败!')
}
this.$message.success('清单批量申报成功!');
this.getList();
}).catch(error=>{
this.$message.error(error.toString())
})
}else{
this.$message.error('请选勾取需要申报的清单信息!');
// 主单申报
batchDecBillNo(){
if(this.cebType.length === 0){
this.$message.error("请选勾取需要申报的类型");
return;
}
},
//订单批量导入申报
batchOrderImport({ file, onSuccess, onError }){
// 生成 FormData 对象
const formData = new FormData();
formData.append('file', file);
batchOrderImport(formData).then((response) => {
const res = response.data
if (this.queryInfo.billNo.length === 0){
this.$message.error("请在主单号栏输入主单号");
return;
}
const billNo = this.queryInfo.billNo;
const cebType = this.cebType;
batchDecBillNo({billNo, cebType}).then((response)=>{
const res=response.data;
if (res.code !== '200') {
return this.$message.error(res.msg);
return this.$message.error(res.msg)
}
this.$message.success(res.msg);
this.getList();
onSuccess(response.data); // 调用 onSuccess 回调通知上传成功
}).catch(error => {
// 关闭加载
}).catch(error=>{
this.$message.error(error.toString())
onError(error); // 调用 onError 回调通知上传失败
})
},
//批量申报订单
batchOrder(){
if(this.selectedRows.length!==0){
this.transformedData = this.selectedRows.map(item => ({
orderno: item.orderno,
ext1: item.ext1
}));
batchOrder(this.transformedData).then((response)=>{
const res=response.data;
if (res.code !== '200') {
return this.$message.error('订单批量申报失败!')
}
this.$message.success('订单批量申报成功!');
this.getList();
}).catch(error=>{
this.$message.error(error.toString())
})
}else{
this.$message.error('请选勾取需要申报的订单信息!');
}
},
//导入订单excel
beforeUpload(file) {
// 检查文件类型
... ... @@ -516,46 +380,40 @@
return true; // 允许上传
},
/*uploadFile({ file, onSuccess, onError }){
// 生成 FormData 对象
const formData = new FormData();
formData.append('file', file);
importExcel(formData).then((response) => {
const res = response.data
if (res.code !== '200') {
return this.$message.error(res.msg);
}
this.$message.success(res.msg);
this.getList();
onSuccess(response.data); // 调用 onSuccess 回调通知上传成功
}).catch(error => {
// 关闭加载
this.$message.error(error.toString())
onError(error); // 调用 onError 回调通知上传失败
})
},*/
//订单申报
sendorder(row){
sendOrder(row).then((response)=>{
if(this.cebType.length === 0){
this.$message.error('请选勾取需要申报的类型!');
return;
}
const clientCode = row.clientCode;
const orderNo = row.orderNo;
this.transformedData = [{
clientCode: clientCode,
orderNo: orderNo,
cebType: this.cebType
}];
batchDecList(this.transformedData).then((response)=>{
const res=response.data;
if (res.code !== '200') {
return this.$message.error('订单申报失败!')
return this.$message.error(res.msg)
}
this.$message.success('订单申报成功!');
this.$message.success(res.msg);
this.getList();
}).catch(error=>{
this.$message.error(error.toString())
})
},
// 订单删除
deleteOrderByGuid(row){
deleteOrder(row){
this.$confirm('此操作将永久删除该订单, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const guid = row.guid;
deleteOrderByGuid({guid}).then((response) => {
const clientCode = row.clientCode;
const orderNo = row.orderNo;
deleteOrder({clientCode,orderNo}).then((response) => {
const res = response.data;
const code = res.code;
const msg = res.msg;
... ... @@ -572,8 +430,8 @@
},
// 根据主单号删除数据
batchDelExt2(){
if (this.selectedRows.length !== 1){
this.$message.error("此功能仅支持勾选一条数据");
if (this.queryInfo.billNo.length === 0){
this.$message.error("请在主单号栏输入主单号");
return;
}
this.$confirm('此操作将永久批量删除所选主单号订单, 是否继续?', '提示', {
... ... @@ -581,8 +439,9 @@
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const ext2 = this.selectedRows[0].ext2;
batchDelExt2({ext2}).then((response) => {
const billNo = this.queryInfo.billNo;
console.log(billNo)
batchDelBillNo({billNo}).then((response) => {
const res = response.data;
const code = res.code;
const msg = res.msg;
... ... @@ -616,8 +475,7 @@
const msg = res.msg;
const data = res.data;
if (code !== '200'){
const errMsg = `${msg}${data}`;
this.$message.error(errMsg);
this.$message.error(msg);
return;
}
this.$message.success("订单批量删除成功");
... ... @@ -630,8 +488,12 @@
//订单列表查询
getList(){
if(this.value2 !== null && this.value2 !== ""){
this.queryInfo.starttime = this.value2[0];
this.queryInfo.endtime = this.value2[1];
this.queryInfo.startTime = this.value2[0];
this.queryInfo.endTime = this.value2[1];
}
if(this.value2 === null){
this.queryInfo.startTime = '',
this.queryInfo.endTime = ''
}
selectLists(this.queryInfo).then((response) => {
const res = response.data
... ...