作者 朱兆平

Merge remote-tracking branch 'origin/master'

@@ -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:'车辆定位'},
@@ -24,6 +24,12 @@ @@ -24,6 +24,12 @@
24 </el-date-picker> 24 </el-date-picker>
25 </div> 25 </div>
26 </el-form-item> 26 </el-form-item>
  27 + <el-form-item label="">
  28 + <el-select v-model="formInline.remark2" placeholder="付款状态">
  29 + <el-option label="是" value="1"></el-option>
  30 + <el-option label="否" value="0"></el-option>
  31 + </el-select>
  32 + </el-form-item>
27 <el-form-item> 33 <el-form-item>
28 <el-button type="primary" @click="getLists">查询</el-button> 34 <el-button type="primary" @click="getLists">查询</el-button>
29 </el-form-item> 35 </el-form-item>
@@ -45,7 +51,6 @@ @@ -45,7 +51,6 @@
45 <el-button size="small" type="primary">导入运单</el-button> 51 <el-button size="small" type="primary">导入运单</el-button>
46 </el-upload> 52 </el-upload>
47 </el-form-item> 53 </el-form-item>
48 -  
49 <el-button type="success" @click="exportToExcel">导出 Excel</el-button> 54 <el-button type="success" @click="exportToExcel">导出 Excel</el-button>
50 </el-form-item> 55 </el-form-item>
51 </el-form> 56 </el-form>
@@ -128,6 +133,11 @@ @@ -128,6 +133,11 @@
128 show-overflow-tooltip> 133 show-overflow-tooltip>
129 </el-table-column> 134 </el-table-column>
130 <el-table-column 135 <el-table-column
  136 + prop="feweight"
  137 + label="计费重量"
  138 + show-overflow-tooltip>
  139 + </el-table-column>
  140 + <el-table-column
131 prop="vol" 141 prop="vol"
132 label="体积" 142 label="体积"
133 show-overflow-tooltip> 143 show-overflow-tooltip>
@@ -138,6 +148,20 @@ @@ -138,6 +148,20 @@
138 show-overflow-tooltip> 148 show-overflow-tooltip>
139 </el-table-column> 149 </el-table-column>
140 <el-table-column 150 <el-table-column
  151 + prop="remark1"
  152 + label="应付"
  153 + show-overflow-tooltip>
  154 + </el-table-column>
  155 + <el-table-column
  156 + prop="remark2"
  157 + label="付款状态"
  158 + show-overflow-tooltip>
  159 + <template slot-scope="scope">
  160 + <span v-if="scope.row.remark2==='1'" style="color: #5BB75B;font-weight: bolder">已付</span>
  161 + <span v-else style="font-weight: bolder;color: red">未付</span>
  162 + </template>
  163 + </el-table-column>
  164 + <el-table-column
141 fixed="right" 165 fixed="right"
142 label="操作" 166 label="操作"
143 width="100"> 167 width="100">
@@ -226,12 +250,28 @@ @@ -226,12 +250,28 @@
226 <el-form-item label="毛重"> 250 <el-form-item label="毛重">
227 <el-input v-model="submitForm.weight" placeholder="毛重"></el-input> 251 <el-input v-model="submitForm.weight" placeholder="毛重"></el-input>
228 </el-form-item> 252 </el-form-item>
  253 + <el-form-item label="计费重量">
  254 + <el-input v-model="submitForm.feweight" placeholder="计费重量"></el-input>
  255 + </el-form-item>
229 <el-form-item label="体积"> 256 <el-form-item label="体积">
230 <el-input v-model="submitForm.vol" placeholder="体积"></el-input> 257 <el-input v-model="submitForm.vol" placeholder="体积"></el-input>
231 </el-form-item> 258 </el-form-item>
232 <el-form-item label="应收"> 259 <el-form-item label="应收">
233 <el-input v-model="submitForm.charge" placeholder="应收"></el-input> 260 <el-input v-model="submitForm.charge" placeholder="应收"></el-input>
234 </el-form-item> 261 </el-form-item>
  262 + <el-form-item label="应付">
  263 + <el-input v-model="submitForm.remark1" placeholder="应付"></el-input>
  264 + </el-form-item>
  265 + <el-form-item label="付款状态">
  266 + <el-select v-model="submitForm.remark2" style="width: 157px">
  267 + <el-option
  268 + v-for="item in paystatus"
  269 + :key="item.value"
  270 + :label="item.label"
  271 + :value="item.value">
  272 + </el-option>
  273 + </el-select>
  274 + </el-form-item>
235 <el-form-item label="危险品"> 275 <el-form-item label="危险品">
236 <el-select v-model="submitForm.isdangerous" style="width: 157px"> 276 <el-select v-model="submitForm.isdangerous" style="width: 157px">
237 <el-option 277 <el-option
@@ -389,6 +429,7 @@ @@ -389,6 +429,7 @@
389 awba: '', 429 awba: '',
390 licenseno: '', 430 licenseno: '',
391 starttime: '', 431 starttime: '',
  432 + remark2:'',
392 endtime: '', 433 endtime: '',
393 pageNum: 1, 434 pageNum: 1,
394 pageSize: 20 435 pageSize: 20
@@ -445,10 +486,11 @@ @@ -445,10 +486,11 @@
445 relevance: "", 486 relevance: "",
446 remark: "", 487 remark: "",
447 remark1: "", 488 remark1: "",
448 - remark2: "", 489 + remark2: "0",
449 taketime: "", 490 taketime: "",
450 vol: 0, 491 vol: 0,
451 - weight: 0 492 + weight: 0,
  493 + feweight:0
452 }, 494 },
453 dialogVisible: false, 495 dialogVisible: false,
454 PDdialogVisible: false, 496 PDdialogVisible: false,
@@ -463,6 +505,15 @@ @@ -463,6 +505,15 @@
463 label: '是' 505 label: '是'
464 } 506 }
465 ], 507 ],
  508 + paystatus: [
  509 + {
  510 + value: "0",
  511 + label: '否'
  512 + }, {
  513 + value: "1",
  514 + label: '是'
  515 + }
  516 + ],
466 textMap: { 517 textMap: {
467 update: '编辑', 518 update: '编辑',
468 create: '新增' 519 create: '新增'
  1 +<template>
  2 + <div>费率配置</div>
  3 +</template>
  4 +<script>
  5 + export default {
  6 + data() {
  7 + return {
  8 +
  9 + }
  10 + },
  11 + mounted() {
  12 + },
  13 + methods:{
  14 +
  15 + }
  16 + }
  17 +</script>
  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>