作者 zhuzhaoping

合并分支 'ExportOrder' 到 'master'

Export order



查看合并请求 !31
@@ -28,3 +28,5 @@ export const eldImportDeclare = params => { return http.postExcelData(`${baseSer @@ -28,3 +28,5 @@ export const eldImportDeclare = params => { return http.postExcelData(`${baseSer
28 export const zfeldBatchDeclare = params => { return http.post(`${baseServiceURL2}/ExportWaybillDeclaration/eldBatchDeclare`, params); }; 28 export const zfeldBatchDeclare = params => { return http.post(`${baseServiceURL2}/ExportWaybillDeclaration/eldBatchDeclare`, params); };
29 //总分单批量导入申报 29 //总分单批量导入申报
30 export const zfeldImportDeclare = params => { return http.postExcelData(`${baseServiceURL2}/ExportWaybillDeclaration/eldImportDeclare`, params); }; 30 export const zfeldImportDeclare = params => { return http.postExcelData(`${baseServiceURL2}/ExportWaybillDeclaration/eldImportDeclare`, params); };
  31 +//根据提运单统计信息
  32 +export const billNoStatistics = params => { return axios.get(`${baseServiceURL2}/ExportListDeclaration/billNoStatistics`, { params: params }); };
@@ -112,6 +112,7 @@ import myTask from './views/technological/myTask.vue' @@ -112,6 +112,7 @@ import myTask from './views/technological/myTask.vue'
112 import definition from './views/technological/definition.vue' 112 import definition from './views/technological/definition.vue'
113 113
114 //仓库场站管理 114 //仓库场站管理
  115 +import WaybillRate from './views/deploy/waybillRate.vue'
115 import Tracker from './views/deploy/Tracker.vue' 116 import Tracker from './views/deploy/Tracker.vue'
116 import VehicleWaybill from './views/deploy/VehicleWaybill.vue' 117 import VehicleWaybill from './views/deploy/VehicleWaybill.vue'
117 import vehicle from './views/deploy/vehicle.vue' 118 import vehicle from './views/deploy/vehicle.vue'
@@ -201,6 +202,7 @@ import satellite from "./views/deploy/satellite"; @@ -201,6 +202,7 @@ import satellite from "./views/deploy/satellite";
201 /*出口订单*/ 202 /*出口订单*/
202 import ExortOrder from './views/exportorder/Exportorder.vue' 203 import ExortOrder from './views/exportorder/Exportorder.vue'
203 import CustomerConfig from './views/exportorder/CustomerConfig.vue' 204 import CustomerConfig from './views/exportorder/CustomerConfig.vue'
  205 +import ManagerWaybill from "./views/exportorder/ManagerWaybill.vue";
204 206
205 /*制单管理*/ 207 /*制单管理*/
206 import ZhiDan from './views/zhidan/zhidan.vue' 208 import ZhiDan from './views/zhidan/zhidan.vue'
@@ -236,7 +238,8 @@ let routes = [ @@ -236,7 +238,8 @@ let routes = [
236 iconCls: 'el-icon-collection', 238 iconCls: 'el-icon-collection',
237 children: [ 239 children: [
238 {path: '/ExortOrder', component: ExortOrder, name: '出口订单'}, 240 {path: '/ExortOrder', component: ExortOrder, name: '出口订单'},
239 - {path: '/CustomerConfig', component: CustomerConfig, name: '客户配置'} 241 + {path: '/CustomerConfig', component: CustomerConfig, name: '客户配置'},
  242 + {path: '/ManagerWaybill', component: ManagerWaybill, name: '主单管理'}
240 ] 243 ]
241 }, 244 },
242 { 245 {
@@ -607,6 +610,7 @@ let routes = [ @@ -607,6 +610,7 @@ let routes = [
607 name: '仓库场站管理', 610 name: '仓库场站管理',
608 iconCls:'el-icon-goods', 611 iconCls:'el-icon-goods',
609 children:[ 612 children:[
  613 + {path:'/WaybillRate',component:WaybillRate,name:'费率设置'},
610 {path:'/Tracker',component:Tracker,name:'派单记录'}, 614 {path:'/Tracker',component:Tracker,name:'派单记录'},
611 {path:'/VehicleWaybill',component:VehicleWaybill,name:'车载运单'}, 615 {path:'/VehicleWaybill',component:VehicleWaybill,name:'车载运单'},
612 {path:'/vehicle',component:vehicle,name:'车辆定位'}, 616 {path:'/vehicle',component:vehicle,name:'车辆定位'},
  1 +<template>
  2 + <div>
  3 + <div>
  4 + <el-form :inline="true" :model="query" >
  5 + <el-form-item label="">
  6 + <el-input size="medium" v-model="query.billNo" placeholder="主输入主单号"></el-input>
  7 + </el-form-item>
  8 + <el-form-item width="200px" label="">
  9 + <div class="block">
  10 + <el-date-picker
  11 + style="background: none"
  12 + size="medium"
  13 + v-model="value2"
  14 + type="daterange"
  15 + align="right"
  16 + unlink-panels
  17 + range-separator="至"
  18 + start-placeholder="开始日期"
  19 + end-placeholder="结束日期"
  20 + value-format="yyyy-MM-dd HH:mm:ss"
  21 + :picker-options="pickerOptions">
  22 + </el-date-picker>
  23 + </div>
  24 + </el-form-item>
  25 + <el-form-item label="">
  26 + <el-button size="medium" @click="getList" type="primary">查询</el-button>
  27 + </el-form-item>
  28 + </el-form>
  29 + </div>
  30 + <div style="margin-bottom: 10px"><span style="color: red">合计:毛重:{{totalweight}}KG 净重:{{totalnetweight}}KG 清单数量:{{totalcount}}</span></div>
  31 + <div>
  32 + <el-table
  33 + :data="tableData"
  34 + border
  35 + style="width: 100%">
  36 + <el-table-column
  37 + prop="clientCode"
  38 + label="客户编码"
  39 + width="150">
  40 + </el-table-column>
  41 + <el-table-column
  42 + prop="billNo"
  43 + label="主单号"
  44 + width="150">
  45 + </el-table-column>
  46 + <el-table-column
  47 + prop="grossWeightSum"
  48 + label="毛重"
  49 + width="150">
  50 + </el-table-column>
  51 + <el-table-column
  52 + prop="netWeightSum"
  53 + label="净重"
  54 + width="150">
  55 + </el-table-column>
  56 + <el-table-column
  57 + prop="countBillNo"
  58 + label="清单数量"
  59 + width="150">
  60 + </el-table-column>
  61 + <el-table-column
  62 + prop="logisticsName"
  63 + label="物流企业名称"
  64 + width="150">
  65 + </el-table-column>
  66 + <el-table-column
  67 + prop="agentName"
  68 + label="申报企业名称"
  69 + width="150">
  70 + </el-table-column>
  71 + <el-table-column
  72 + prop="ebpName"
  73 + label="电商企业名称"
  74 + width="150">
  75 + </el-table-column>
  76 + <!--<el-table-column
  77 + fixed="right"
  78 + label="操作"
  79 + width="100">
  80 + <template slot-scope="scope">
  81 + <el-button @click="handleClick(scope.row)" type="text" size="small">查看</el-button>
  82 + </template>
  83 + </el-table-column>-->
  84 + </el-table>
  85 + </div>
  86 + <div class="block">
  87 + <el-pagination
  88 + @size-change="handleSizeChange"
  89 + @current-change="handleCurrentChange"
  90 + :current-page="query.pageNum"
  91 + :page-sizes="[10, 20, 30, 40]"
  92 + :page-size="query.pageSize"
  93 + layout="total, sizes, prev, pager, next, jumper"
  94 + :total="total">
  95 + </el-pagination>
  96 + </div>
  97 + </div>
  98 +</template>
  99 +<script>
  100 + import {billNoStatistics} from '../../api/consigner/exportOrder';
  101 + export default {
  102 + data(){
  103 + return{
  104 + query:{
  105 + billNo:'',
  106 + startTime:'',
  107 + endTime:'',
  108 + pageNum:0,
  109 + pageSize:10,
  110 + },
  111 + totalweight:0,
  112 + totalnetweight:0,
  113 + totalcount:0,
  114 + total:0,
  115 + value2: '',
  116 + pickerOptions: {
  117 + shortcuts: [{
  118 + text: '最近一周',
  119 + onClick(picker) {
  120 + const end = new Date();
  121 + const start = new Date();
  122 + start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
  123 + picker.$emit('pick', [start, end]);
  124 + }
  125 + }, {
  126 + text: '最近一个月',
  127 + onClick(picker) {
  128 + const end = new Date();
  129 + const start = new Date();
  130 + start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
  131 + picker.$emit('pick', [start, end]);
  132 + }
  133 + }, {
  134 + text: '最近三个月',
  135 + onClick(picker) {
  136 + const end = new Date();
  137 + const start = new Date();
  138 + start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
  139 + picker.$emit('pick', [start, end]);
  140 + }
  141 + }]
  142 + },
  143 + tableData: []
  144 + }
  145 + },
  146 + methods: {
  147 + handleSizeChange(val) {
  148 + this.query.pageSize=val;
  149 + this.getList();
  150 + },
  151 + handleCurrentChange(val) {
  152 + this.query.pageNum=val;
  153 + this.getList();
  154 + },
  155 + /*handleClick(row) {
  156 + console.log(row);
  157 + },*/
  158 + getList(){
  159 + if(this.query.billNo==='' && this.value2===''){
  160 + return this.$message.error('请选择时间段')
  161 + }
  162 + if(this.query.billNo==='' && this.value2===null){
  163 + return this.$message.error('请选择时间段')
  164 + }
  165 + if(this.query.billNo===null && this.value2===''){
  166 + return this.$message.error('请选择时间段')
  167 + }
  168 + if(this.query.billNo===null && this.value2===null){
  169 + return this.$message.error('请选择时间段')
  170 + }
  171 + if(this.value2 !== null && this.value2 !== ""){
  172 + this.query.startTime = this.value2[0];
  173 + this.query.endTime = this.value2[1];
  174 + }
  175 + billNoStatistics(this.query).then((response) => {
  176 + const res = response.data;
  177 + if (res.code !== '200') {
  178 + return this.$message.error('获取消息收发记录,失败!')
  179 + }
  180 + if(res.data.list.length!==0){
  181 +
  182 + const sumweight=res.data.list.reduce((acc, item) => acc + (item.grossWeightSum || 0), 0);
  183 + this.totalweight=Number(sumweight.toFixed(2));
  184 + //this.totalnetweight=res.data.list.reduce((acc, item) => acc + (item.netWeightSum || 0), 0);
  185 + const sum = res.data.list.reduce((acc, item) => acc + (item.netWeightSum || 0), 0);
  186 + this.totalnetweight=Number(sum.toFixed(2));
  187 + this.totalcount=res.data.list.reduce((acc, item) => acc + (item.countBillNo || 0), 0);
  188 + }
  189 + // 获取列表数据
  190 + this.tableData = res.data.list
  191 + // 获取列表的总记录数
  192 + this.total = res.data.total
  193 + this.$message.success('获取消息收发记录,成功!');
  194 + }).catch(error => {
  195 + // 关闭加载
  196 + this.$message.error(error.toString())
  197 + })
  198 + }
  199 + },
  200 + }
  201 +</script>