作者 xudada

主单管理搜索

@@ -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 }); };
@@ -111,6 +111,7 @@ import myTask from './views/technological/myTask.vue' @@ -111,6 +111,7 @@ import myTask from './views/technological/myTask.vue'
111 import definition from './views/technological/definition.vue' 111 import definition from './views/technological/definition.vue'
112 112
113 //仓库场站管理 113 //仓库场站管理
  114 +import WaybillRate from './views/deploy/waybillRate.vue'
114 import Tracker from './views/deploy/Tracker.vue' 115 import Tracker from './views/deploy/Tracker.vue'
115 import VehicleWaybill from './views/deploy/VehicleWaybill.vue' 116 import VehicleWaybill from './views/deploy/VehicleWaybill.vue'
116 import vehicle from './views/deploy/vehicle.vue' 117 import vehicle from './views/deploy/vehicle.vue'
@@ -196,6 +197,7 @@ import satellite from "./views/deploy/satellite"; @@ -196,6 +197,7 @@ import satellite from "./views/deploy/satellite";
196 /*出口订单*/ 197 /*出口订单*/
197 import ExortOrder from './views/exportorder/Exportorder.vue' 198 import ExortOrder from './views/exportorder/Exportorder.vue'
198 import CustomerConfig from './views/exportorder/CustomerConfig.vue' 199 import CustomerConfig from './views/exportorder/CustomerConfig.vue'
  200 +import ManagerWaybill from "./views/exportorder/ManagerWaybill.vue";
199 201
200 /*制单管理*/ 202 /*制单管理*/
201 import ZhiDan from './views/zhidan/zhidan.vue' 203 import ZhiDan from './views/zhidan/zhidan.vue'
@@ -231,7 +233,8 @@ let routes = [ @@ -231,7 +233,8 @@ let routes = [
231 iconCls: 'el-icon-collection', 233 iconCls: 'el-icon-collection',
232 children: [ 234 children: [
233 {path: '/ExortOrder', component: ExortOrder, name: '出口订单'}, 235 {path: '/ExortOrder', component: ExortOrder, name: '出口订单'},
234 - {path: '/CustomerConfig', component: CustomerConfig, name: '客户配置'} 236 + {path: '/CustomerConfig', component: CustomerConfig, name: '客户配置'},
  237 + {path: '/ManagerWaybill', component: ManagerWaybill, name: '主单管理'}
235 ] 238 ]
236 }, 239 },
237 { 240 {
@@ -601,6 +604,7 @@ let routes = [ @@ -601,6 +604,7 @@ let routes = [
601 name: '仓库场站管理', 604 name: '仓库场站管理',
602 iconCls:'el-icon-goods', 605 iconCls:'el-icon-goods',
603 children:[ 606 children:[
  607 + {path:'/WaybillRate',component:WaybillRate,name:'费率设置'},
604 {path:'/Tracker',component:Tracker,name:'派单记录'}, 608 {path:'/Tracker',component:Tracker,name:'派单记录'},
605 {path:'/VehicleWaybill',component:VehicleWaybill,name:'车载运单'}, 609 {path:'/VehicleWaybill',component:VehicleWaybill,name:'车载运单'},
606 {path:'/vehicle',component:vehicle,name:'车辆定位'}, 610 {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>