切换导航条
此项目
正在载入...
登录
朱兆平
/
vue_cli
·
提交
转到一个项目
GitLab
转到仪表盘
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
xudada
7 months ago
提交
b4635dbf026acda44020c9f14c14a0a862c8945a
1 个父辈
d2891840
订单批量申报,订单批量导入申报功能
显示空白字符变更
内嵌
并排对比
正在显示
3 个修改的文件
包含
159 行增加
和
37 行删除
src/api/consigner/exportOrder.js
src/views/exportorder/CustomerConfig.vue
src/views/exportorder/Exportorder.vue
src/api/consigner/exportOrder.js
查看文件 @
b4635db
...
...
@@ -10,4 +10,9 @@ export const selectLists = params => { return axios.get(`${baseServiceURL}/Expor
//订单申报
export
const
sendOrder
=
params
=>
{
return
http
.
post
(
`
$
{
baseServiceURL
}
/ExportOrderDeclaration/
sendOrder
`
,
params
);
};
//上传EXCEL
export
const
UploadExcel
=
params
=>
{
return
http
.
postExcelData
(
`
$
{
baseServiceURL
}
/ExportOrderDeclaration/
upload
`
,
params
);
};
export
const
importExcel
=
params
=>
{
return
http
.
postExcelData
(
`
$
{
baseServiceURL
}
/import/im
portExcel
`
,
params
);
};
//订单批量申报
export
const
batchOrder
=
params
=>
{
return
http
.
post
(
`
$
{
baseServiceURL
}
/ExportOrderDeclaration/
batchOrder
`
,
params
);
};
//订单批量导入申报
export
const
batchOrderImport
=
params
=>
{
return
http
.
postExcelData
(
`
$
{
baseServiceURL
}
/ExportOrderDeclaration/
batchOrderImport
`
,
params
);
};
...
...
src/views/exportorder/CustomerConfig.vue
查看文件 @
b4635db
...
...
@@ -313,7 +313,7 @@
<el-row :gutter="20">
<el-col :span="20">
<el-form-item>
<el-button type="primary" @click="dialogStatus==='create'?addsubmitForm('ruleForm'):edisubmitForm('ruleForm')">保存</el-button>
<el-button
size="medium"
type="primary" @click="dialogStatus==='create'?addsubmitForm('ruleForm'):edisubmitForm('ruleForm')">保存</el-button>
</el-form-item>
</el-col>
</el-row>
...
...
src/views/exportorder/Exportorder.vue
查看文件 @
b4635db
...
...
@@ -2,11 +2,14 @@
<div class="table-container">
<div>
<el-form :inline="true" :model="queryInfo" class="demo-form-inline">
<el-form-item label="订单号">
<el-input v-model="queryInfo.orderno" placeholder="订单号"></el-input>
<el-form-item label="">
<el-input size="medium" v-model="queryInfo.ext1" placeholder="客户编码"></el-input>
</el-form-item>
<el-form-item label="订单类型">
<el-select v-model="queryInfo.ordertype" placeholder="请选择">
<el-form-item label="">
<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-option
v-for="item in ordertypes"
:key="item.value"
...
...
@@ -15,8 +18,8 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="报送类型">
<el-select v-model="queryInfo.apptype" placeholder="请选择">
<el-form-item label="">
<el-select size="medium" v-model="queryInfo.apptype" placeholder="报送类型">
<el-option
v-for="item in apptypes"
:key="item.value"
...
...
@@ -25,8 +28,8 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="报关状态">
<el-select v-model="queryInfo.appstatus" placeholder="请选择">
<el-form-item label="">
<el-select size="medium" v-model="queryInfo.appstatus" placeholder="报关状态">
<el-option
v-for="item in appstatuss"
:key="item.value"
...
...
@@ -36,7 +39,22 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="getList">查询</el-button>
<div class="block">
<el-date-picker
size="medium"
v-model="value2"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="pickerOptions">
</el-date-picker>
</div>
</el-form-item>
<el-form-item>
<el-button size="medium" @click="getList">查询</el-button>
</el-form-item>
<el-form-item>
<el-upload
...
...
@@ -45,11 +63,28 @@
:before-upload="beforeUpload"
:http-request="uploadFile"
:show-file-list="false">
<el-button size="
small" type="success
">导入订单</el-button>
<el-button size="
medium" type="primary
">导入订单</el-button>
</el-upload>
</el-form-item>
</el-form>
</div>
<div style="margin-bottom: 20px">
<el-row :gutter="24">
<el-col :span="3">
<el-button size="medium" @click="batchOrder">订单批量申报</el-button>
</el-col>
<el-col :span="3">
<el-upload
class="upload-demo"
action=""
:before-upload="beforeUpload"
:http-request="batchOrderImport"
:show-file-list="false">
<el-button size="medium">订单批量导入申报</el-button>
</el-upload>
</el-col>
</el-row>
</div>
<el-table
:data="tableData"
...
...
@@ -64,7 +99,7 @@
<template v-slot:default="{ row }">
<el-table
:data="row.exportOrderDeclarationBodyList"
style="width:
100%
"
style="width:
85%;margin-left: 20px
"
row-key="id"
stripe
>
...
...
@@ -78,16 +113,25 @@
<el-table-column prop="price" label="单价" />
<el-table-column prop="totalprice" label="总价" />
<el-table-column prop="note" label="备注" />
<el-table-column
fixed="right"
label=""
width="120">
</el-table-column>
</el-table>
</template>
</el-table-column>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="guid" label="GUID" 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-else>
海外仓
</span>
</template>
</el-table-column>
<!--<el-table-column prop="guid" label="GUID" width="180"></el-table-column>-->
<el-table-column prop="apptype" label="报送类型" width="120">
<template slot-scope="scope">
<span v-if="scope.row.apptype==='1'">
...
...
@@ -109,20 +153,6 @@
</span>
</template>
</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-else>
海外仓
</span>
</template>
</el-table-column>
<el-table-column prop="orderno" label="订单编号" width="180"></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 prop="freight" label="运杂费" width="120"></el-table-column>
...
...
@@ -130,10 +160,11 @@
<el-table-column
fixed="right"
label="操作"
width="1
2
0"
width="1
8
0"
show-overflow-tooltip>
<template slot-scope="scope">
<el-button type="success" @click="sendorder(scope.row)">申报</el-button>
<el-button type="text" size="small" @click="sendorder(scope.row)">订单申报</el-button>
<el-button type="text" size="small" @click="sendorder(scope.row)">清单申报</el-button>
</template>
</el-table-column>
</el-table>
...
...
@@ -152,7 +183,7 @@
</template>
<script>
import {sendOrder,selectLists} from '../../api/consigner/exportOrder'
import {sendOrder,selectLists
,batchOrder,batchOrderImport,importExcel
} from '../../api/consigner/exportOrder'
export default {
data() {
return {
...
...
@@ -194,10 +225,40 @@
apptype:'',
orderno:'',
ordertype:'',
ext1:'',
pageNum:1,
pageSize:20
},
total:0
total:0,
pickerOptions: {
shortcuts: [{
text: '最近一周',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},
value2:'',
transformedData:''
};
},
mounted() {
...
...
@@ -205,6 +266,46 @@
this.getList();
},
methods: {
//订单批量导入申报
batchOrderImport({ file, onSuccess, onError }){
// 生成 FormData 对象
const formData = new FormData();
formData.append('file', file);
batchOrderImport(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 回调通知上传失败
})
},
//批量申报订单
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) {
// 检查文件类型
...
...
@@ -220,6 +321,19 @@
// 生成 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){
...
...
@@ -236,6 +350,9 @@
},
//订单列表查询
getList(){
if(this.value2 !== null && this.value2 !== ""){
console.log(this.value2)
}
selectLists(this.queryInfo).then((response) => {
const res = response.data
if (res.code !== '200') {
...
...
请
注册
或
登录
后发表评论