qukaidi 3 лет назад
Родитель
Сommit
05decd925e

+ 10 - 0
src/api/landTransportation/bulkCargo.js

@@ -0,0 +1,10 @@
+import request from '@/router/axios';
+
+// 单据新增修改
+export function saveSaveList(data) {
+    return request({
+        url: '/api/blade-land/order/save',
+        method: 'post',
+        data: data
+    })
+}

+ 754 - 749
src/enums/column-name.js

@@ -1,753 +1,758 @@
 const columnName = [{
-    code: 0,
-    name: '出口报价单'
-  }, {
-    code: 1,
-    name: '出口报价单商品信息'
-  }, {
-    code: 2,
-    name: '出口采购订单'
-  }, {
-    code: 3,
-    name: '出口采购订单商品信息'
-  }, {
-    code: 4,
-    name: '出口销售订单'
-  }, {
-    code: 5,
-    name: '出口销售订单商品信息'
-  }, {
-    code: 6,
-    name: '出口收货订单'
-  }, {
-    code: 7,
-    name: '出口收货订单商品信息'
-  }, {
-    code: 8,
-    name: '出口发货单'
-  }, {
-    code: 9,
-    name: '出口发货单商品信息'
-  }, {
-    code: 10,
-    name: '出口采购询价'
-  }, {
-    code: 11,
-    name: '出口采购询价商品信息'
-  }, {
-    code: 12,
-    name: '出口船务询价'
-  }, {
-    code: 13,
-    name: '出口船务询价商品信息'
-  }, {
-    code: 14,
-    name: '国内销售订单'
-  }, {
-    code: 15,
-    name: '国内销售订单商品明细'
-  }, {
-    code: 16,
-    name: '国内销售订单费用明细'
-  }, {
-    code: 17,
-    name: '国内采购订单'
-  }, {
-    code: 18,
-    name: '国内采购订单商品明细'
-  }, {
-    code: 19,
-    name: '国内采购订单费用明细'
-  }, {
-    code: 20,
-    name: '国内发货单'
-  }, {
-    code: 21,
-    name: '国内发货单商品明细'
-  }, {
-    code: 22,
-    name: '国内发货单费用明细'
-  }, {
-    code: 23,
-    name: '国内收货单'
-  }, {
-    code: 24,
-    name: '国内收货单商品明细'
-  }, {
-    code: 25,
-    name: '国内收货单费用明细'
-  }, {
-    code: 26,
-    name: '出口报价单导入商品'
-  }, {
-    code: 27,
-    name: '出口采购订导入商品'
-  }, {
-    code: 28,
-    name: '出口销售导入商品'
-  }, {
-    code: 29,
-    name: '出口收货导入商品'
-  }, {
-    code: 30,
-    name: '出口发货导入商品'
-  }, {
-    code: 31,
-    name: '出口采购询价导入商品'
-  }, {
-    code: 32,
-    name: '出口船务询价导入商品'
-  }, {
-    code: 33,
-    name: '封装费用明细信息'
-  }, {
-    code: 34,
-    name: '封装费用明细导入信息'
-  }, {
-    code: 35,
-    name: '封装上传附件'
-  }, {
-    code: 36,
-    name: '进口采购订单'
-  }, {
-    code: 37,
-    name: '进口采购明细'
-  }, {
-    code: 38,
-    name: '进口销售订单'
-  }, {
-    code: 39,
-    name: '进口销售明细'
-  }, {
-    code: 40,
-    name: '进口收货单'
-  }, {
-    code: 41,
-    name: '进口收货明细'
-  }, {
-    code: 42,
-    name: '进口收货导入采购明细'
-  }, {
-    code: 43,
-    name: '进口发货单'
-  }, {
-    code: 44,
-    name: '进口发货明细'
-  }, {
-    code: 45,
-    name: '进口发货导入销售明细'
-  },
-  {
-    code: 46,
-    name: '申请费用列表'
-  }, {
-    code: 47,
-    name: '导入客户'
-  }, {
-    code: 48,
-    name: '导入仓库'
-  },
-  {
-    code: 49,
-    name: '导入商品'
-  },
-  {
-    code: 50,
-    name: '出口价格库列表'
-  },
-  {
-    code: 51,
-    name: '客户、供应商、公司'
-  },
-  {
-    code: 52,
-    name: '产品属性Label设置'
-  },
-  {
-    code: 53,
-    name: '溢付款主表'
-  },
-  {
-    code: 54,
-    name: '积分主表'
-  },
-  {
-    code: 55,
-    name: '主营业务主表'
-  },
-  {
-    code: 56,
-    name: '主营业务明细'
-  },
-  {
-    code: 57,
-    name: '统计列表'
-  },
-  {
-    code: 58,
-    name: '业绩分析'
-  },
-  {
-    code: 59,
-    name: '服务项目'
-  },
-  {
-    code: 60,
-    name: '财务账单明细'
-  },
-  {
-    code: 61,
-    name: '财务付费申请'
-  },
-  {
-    code: 62,
-    name: '财务付费申请明细'
-  },
-  {
-    code: 63,
-    name: '付款结算'
-  },
-  {
-    code: 64,
-    name: '收款结算'
-  },
-  {
-    code: 65,
-    name: '进口库存账'
-  },
-  {
-    code: 66,
-    name: '利润分析'
-  },
-  {
-    code: 67,
-    name: '内贸锁定明细'
-  },
-  {
-    code: 68,
-    name: '返利'
-  },
-  {
-    code: 69,
-    name: '销项发票'
-  },
-  {
-    code: 70,
-    name: '销项发票明细'
-  },
-  {
-    code: 71,
-    name: '进项发票'
-  },
-  {
-    code: 72,
-    name: '进项发票明细'
-  },
-  {
-    code: 73,
-    name: '锁定管理'
-  },
-  {
-    code: 74,
-    name: '模块加锁'
-  },
-  {
-    code: 75,
-    name: 'APP应用'
-  },
-  {
-    code: 76,
-    name: '出口合同附件'
-  },
-  {
-    code: 77,
-    name: '内贸合同附件'
-  },
-  {
-    code: 78,
-    name: '销售订单(D)列表'
-  },
-  {
-    code: 79,
-    name: '销售订单(D)商品明细'
-  },
-  {
-    code: 80,
-    name: '销售订单(D)商品导入'
-  },
-  {
-    code: 81,
-    name: '采购订单(D)列表'
-  },
-  {
-    code: 82,
-    name: '采购订单(D)商品明细'
-  },
-  {
-    code: 83,
-    name: '采购订单(D)商品导入'
-  },
-  {
-    code: 84,
-    name: '经销商(D)附件'
-  }, {
-    code: 85,
-    name: '委托'
-  }, {
-    code: 85.1,
-    name: '委托-箱信息'
-  }, {
-    code: 85.2,
-    name: '委托-箱信息二'
-  }, {
-    code: 85.3,
-    name: '委托-车辆信息'
-  }, {
-    code: 85.4,
-    name: '委托-应收费用'
-  }, {
-    code: 85.5,
-    name: '委托-应付费用'
-  }, {
-    code: 85.6,
-    name: '委托-附件'
-  }, {
-    code: 86,
-    name: '调度'
-  }, {
-    code: 86.1,
-    name: '调度-车辆信息'
-  }, {
-    code: 86.2,
-    name: '调度-附件'
-  }, {
-    code: 86.4,
-    name: '调度-应收费用'
-  }, {
-    code: 86.5,
-    name: '调度-应付费用'
-  }, {
-    code: 87,
-    name: '派车'
-  }, {
-    code: 88,
-    name: '跟踪'
-  }, {
-    code: 88.1,
-    name: '陆运台账'
-  }, {
-    code: 88.2,
-    name: '陆运台账-应收'
-  }, {
-    code: 89,
-    name: '事务采购申请商品明细'
-  }, {
-    code: 90,
-    name: '事务采购商品弹窗'
-  }, {
-    code: 91,
-    name: '事务采购申请列表'
-  }, {
-    code: 92,
-    name: '事务领用商品明细'
-  }, {
-    code: 93,
-    name: '事务领用商品弹窗'
-  }, {
-    code: 94,
-    name: '事务领用列表'
-  },
-  {
-    code: 95,
-    name: '事务入库商品明细'
-  },
-  {
-    code: 96,
-    name: '事务入库商品弹窗'
-  },
-  {
-    code: 97,
-    name: '事务入库列表'
-  },
-  {
-    code: 98,
-    name: '客户下拉'
-  },
-  {
-    code: 99,
-    name: '供应商下拉'
-  },
-  {
-    code: 100,
-    name: '公司下拉'
-  },
-  {
-    code: 101,
-    name: '销售机会列表'
-  },
-  {
-    code: 102,
-    name: '销售机会明细'
-  },
-  {
-    code: 103,
-    name: '事务交接单列表'
-  },
-  {
-    code: 104,
-    name: '事务交接单明细'
-  },
-  {
-    code: 105,
-    name: '办公用品库存列表'
-  },
-  {
-    code: 106,
-    name: '报销列表'
-  },
-  {
-    code: 107,
-    name: '报销明细'
-  },
-  {
-    code: 108,
-    name: '小学部列表'
-  },
-  {
-    code: 109,
-    name: '小学部明细'
-  },
-  {
-    code: 110,
-    name: '初中部列表'
-  },
-  {
-    code: 111,
-    name: '初中部明细'
-  },
-  {
-    code: 112,
-    name: '高中部列表'
-  },
-  {
-    code: 113,
-    name: '高中部明细'
-  },
-  {
-    code: 114,
-    name: '后勤部列表'
-  },
-  {
-    code: 115,
-    name: '后勤部明细'
-  },
-  {
-    code: 116,
-    name: '教职工列表'
-  },
-  {
-    code: 117,
-    name: '教职工明细'
-  },
-  {
-    code: 118,
-    name: '学校标准配置列表'
-  },
-  {
-    code: 119,
-    name: '学校标准配置明细'
-  },
-  {
-    code: 120,
-    name: '工资查询列表'
-  },
-  {
-    code: 121,
-    name: '经销商产品调拨列表'
-  },
-  {
-    code: 122,
-    name: '经销商产品调拨明细'
-  },
-  {
-    code: 123,
-    name: '经销商产品调拨商品弹窗'
-  },
-  {
-    code: 124,
-    name: '交接单附件上传'
-  },
-  {
-    code: 125,
-    name: '防疫'
-  },
-  {
-    code: 126,
-    name: '统计分析销售对账'
-  },
-  {
-    code: 127,
-    name: '统计分析数据明细'
-  },
-  {
-    code: 128,
-    name: '统计分析品牌采购对账'
-  },
-  {
-    code: 129,
-    name: '统计分析包装费用对账'
-  },
-  {
-    code: 130,
-    name: '统计分析销售人员提成'
-  },
-  {
-    code: 130.1,
-    name: '统计分析-销售明细(N)'
-  },
-  {
-    code: 131,
-    name: '贸易客户列表'
-  },
-  {
-    code: 132,
-    name: '贸易客户明细'
-  },
-  {
-    code: 133,
-    name: '贸易供应商列表'
-  },
-  {
-    code: 134,
-    name: '贸易供应商明细'
-  },
-  {
-    code: 135,
-    name: '贸易所属公司列表'
-  },
-  {
-    code: 136,
-    name: '贸易所属公司明细'
-  },
-  {
-    code: 137,
-    name: '统计分析应收总账'
-  },
-  {
-    code: 138,
-    name: '统计分析应付总账'
-  },
-  {
-    code: 139,
-    name: '统计分析利润总账'
-  },
-  {
-    code: 140,
-    name: '首页-今日业务'
-  },
-  {
-    code: 141,
-    name: '客户分类-列表'
-  },
-  {
-    code: 142,
-    name: '客户资料-列表'
-  },
-  {
-    code: 143,
-    name: '客户资料-客户联系人'
-  },
-  {
-    code: 144,
-    name: '客户资料-客户开户行'
-  },
-  {
-    code: 145,
-    name: '客户资料-收发货地址'
-  },
-  {
-    code: 146,
-    name: '供应商资料-列表'
-  },
-  {
-    code: 147,
-    name: '供应商资料-客户联系人'
-  },
-  {
-    code: 148,
-    name: '供应商资料-客户开户行'
-  },
-  {
-    code: 149,
-    name: '供应商资料-收发货地址'
-  },
-  {
-    code: 150,
-    name: '公司资料-列表'
-  },
-  {
-    code: 151,
-    name: '公司资料-客户联系人'
-  },
-  {
-    code: 152,
-    name: '公司资料-客户开户行'
-  },
-  {
-    code: 153,
-    name: '公司资料-收发货地址'
-  },
-  {
-    code: 154,
-    name: '公司分类-列表'
-  },
-  {
-    code: 155,
-    name: '供应商分类-列表'
-  },
-  {
-    code: 156,
-    name: '幼儿园列表'
-  },
-  {
-    code: 157,
-    name: '幼儿园明细'
-  },
-  {
-    code: 158,
-    name: '入职审批列表'
-  },
-  {
-    code: 159,
-    name: '统计分析销售对账明细'
-  },
-  {
-    code: 160,
-    name: '产品信息-主图附件'
-  },
-  {
-    code: 161.1,
-    name: '仓库-收款信息'
-  },
-  {
-    code: 161.2,
-    name: '仓库-付款信息'
-  },
-  {
-    code: 161.3,
-    name: '仓库-附件明细'
-  },
-  {
-    code: 161,
-    name: '入库-列表页'
-  },
-  {
-    code: 162,
-    name: '入库-明细'
-  },
-  {
-    code: 163,
-    name: '出库-列表页'
-  },
-  {
-    code: 164,
-    name: '出库-明细'
-  },
-  {
-    code: 165,
-    name: '调拨-列表页'
-  },
-  {
-    code: 166,
-    name: '调拨-明细'
-  },
-  {
-    code: 167,
-    name: '货转-列表页'
-  },
-  {
-    code: 168,
-    name: '货转-明细'
-  },
-  {
-    code: 169,
-    name: '货物通关'
-  },
-  {
-    code: 170,
-    name: '场地直装'
-  },
-  {
-    code: 171,
-    name: '仓储费'
-  },
-  {
-    code: 171.1,
-    name: '仓储费-明细列表'
-  },
-  {
-    code: 172,
-    name: '巡检计划'
-  },
-  {
-    code: 172.1,
-    name: '巡检计划-明细列表'
-  },
-  {
-    code: 173,
-    name: '费用变更'
-  },
-  {
-    code: 173.1,
-    name: '费用变更-原业务'
-  },
-  {
-    code: 173.2,
-    name: '费用变更-更改业务'
-  },
-  {
-    code: 174,
-    name: '仓储分析'
-  },
-  {
-    code: 175,
-    name: '仓储费协议'
-  },
-  {
-    code: 175.1,
-    name: '仓储费协议-收款'
-  },
-  {
-    code: 176,
-    name: '作业费协议'
-  },{
-    code: 176.1,
-    name: '作业费协议-明细列表'
-  },
-  {
-    code: 177,
-    name: '报表分析-库存总账'
-  },
-  {
-    code: 177.1,
-    name: '报表分析-库存总账明细'
-  },
-  {
-    code: 178,
-    name: '报表分析-收款总账'
-  },
-  {
-    code: 178.1,
-    name: '报表分析-收款总账明细'
-  },
-  {
-    code: 179,
-    name: '报表分析-付款总账'
-  },
-  {
-    code: 179.1,
-    name: '报表分析-付款总账明细'
-  },
+  code: 0,
+  name: '出口报价单'
+}, {
+  code: 1,
+  name: '出口报价单商品信息'
+}, {
+  code: 2,
+  name: '出口采购订单'
+}, {
+  code: 3,
+  name: '出口采购订单商品信息'
+}, {
+  code: 4,
+  name: '出口销售订单'
+}, {
+  code: 5,
+  name: '出口销售订单商品信息'
+}, {
+  code: 6,
+  name: '出口收货订单'
+}, {
+  code: 7,
+  name: '出口收货订单商品信息'
+}, {
+  code: 8,
+  name: '出口发货单'
+}, {
+  code: 9,
+  name: '出口发货单商品信息'
+}, {
+  code: 10,
+  name: '出口采购询价'
+}, {
+  code: 11,
+  name: '出口采购询价商品信息'
+}, {
+  code: 12,
+  name: '出口船务询价'
+}, {
+  code: 13,
+  name: '出口船务询价商品信息'
+}, {
+  code: 14,
+  name: '国内销售订单'
+}, {
+  code: 15,
+  name: '国内销售订单商品明细'
+}, {
+  code: 16,
+  name: '国内销售订单费用明细'
+}, {
+  code: 17,
+  name: '国内采购订单'
+}, {
+  code: 18,
+  name: '国内采购订单商品明细'
+}, {
+  code: 19,
+  name: '国内采购订单费用明细'
+}, {
+  code: 20,
+  name: '国内发货单'
+}, {
+  code: 21,
+  name: '国内发货单商品明细'
+}, {
+  code: 22,
+  name: '国内发货单费用明细'
+}, {
+  code: 23,
+  name: '国内收货单'
+}, {
+  code: 24,
+  name: '国内收货单商品明细'
+}, {
+  code: 25,
+  name: '国内收货单费用明细'
+}, {
+  code: 26,
+  name: '出口报价单导入商品'
+}, {
+  code: 27,
+  name: '出口采购订导入商品'
+}, {
+  code: 28,
+  name: '出口销售导入商品'
+}, {
+  code: 29,
+  name: '出口收货导入商品'
+}, {
+  code: 30,
+  name: '出口发货导入商品'
+}, {
+  code: 31,
+  name: '出口采购询价导入商品'
+}, {
+  code: 32,
+  name: '出口船务询价导入商品'
+}, {
+  code: 33,
+  name: '封装费用明细信息'
+}, {
+  code: 34,
+  name: '封装费用明细导入信息'
+}, {
+  code: 35,
+  name: '封装上传附件'
+}, {
+  code: 36,
+  name: '进口采购订单'
+}, {
+  code: 37,
+  name: '进口采购明细'
+}, {
+  code: 38,
+  name: '进口销售订单'
+}, {
+  code: 39,
+  name: '进口销售明细'
+}, {
+  code: 40,
+  name: '进口收货单'
+}, {
+  code: 41,
+  name: '进口收货明细'
+}, {
+  code: 42,
+  name: '进口收货导入采购明细'
+}, {
+  code: 43,
+  name: '进口发货单'
+}, {
+  code: 44,
+  name: '进口发货明细'
+}, {
+  code: 45,
+  name: '进口发货导入销售明细'
+},
+{
+  code: 46,
+  name: '申请费用列表'
+}, {
+  code: 47,
+  name: '导入客户'
+}, {
+  code: 48,
+  name: '导入仓库'
+},
+{
+  code: 49,
+  name: '导入商品'
+},
+{
+  code: 50,
+  name: '出口价格库列表'
+},
+{
+  code: 51,
+  name: '客户、供应商、公司'
+},
+{
+  code: 52,
+  name: '产品属性Label设置'
+},
+{
+  code: 53,
+  name: '溢付款主表'
+},
+{
+  code: 54,
+  name: '积分主表'
+},
+{
+  code: 55,
+  name: '主营业务主表'
+},
+{
+  code: 56,
+  name: '主营业务明细'
+},
+{
+  code: 57,
+  name: '统计列表'
+},
+{
+  code: 58,
+  name: '业绩分析'
+},
+{
+  code: 59,
+  name: '服务项目'
+},
+{
+  code: 60,
+  name: '财务账单明细'
+},
+{
+  code: 61,
+  name: '财务付费申请'
+},
+{
+  code: 62,
+  name: '财务付费申请明细'
+},
+{
+  code: 63,
+  name: '付款结算'
+},
+{
+  code: 64,
+  name: '收款结算'
+},
+{
+  code: 65,
+  name: '进口库存账'
+},
+{
+  code: 66,
+  name: '利润分析'
+},
+{
+  code: 67,
+  name: '内贸锁定明细'
+},
+{
+  code: 68,
+  name: '返利'
+},
+{
+  code: 69,
+  name: '销项发票'
+},
+{
+  code: 70,
+  name: '销项发票明细'
+},
+{
+  code: 71,
+  name: '进项发票'
+},
+{
+  code: 72,
+  name: '进项发票明细'
+},
+{
+  code: 73,
+  name: '锁定管理'
+},
+{
+  code: 74,
+  name: '模块加锁'
+},
+{
+  code: 75,
+  name: 'APP应用'
+},
+{
+  code: 76,
+  name: '出口合同附件'
+},
+{
+  code: 77,
+  name: '内贸合同附件'
+},
+{
+  code: 78,
+  name: '销售订单(D)列表'
+},
+{
+  code: 79,
+  name: '销售订单(D)商品明细'
+},
+{
+  code: 80,
+  name: '销售订单(D)商品导入'
+},
+{
+  code: 81,
+  name: '采购订单(D)列表'
+},
+{
+  code: 82,
+  name: '采购订单(D)商品明细'
+},
+{
+  code: 83,
+  name: '采购订单(D)商品导入'
+},
+{
+  code: 84,
+  name: '经销商(D)附件'
+}, {
+  code: 85,
+  name: '委托'
+}, {
+  code: 85.1,
+  name: '委托-箱信息'
+}, {
+  code: 85.2,
+  name: '委托-箱信息二'
+}, {
+  code: 85.3,
+  name: '委托-车辆信息'
+}, {
+  code: 85.4,
+  name: '委托-应收费用'
+}, {
+  code: 85.5,
+  name: '委托-应付费用'
+}, {
+  code: 85.6,
+  name: '委托-附件'
+}, {
+  code: 86,
+  name: '调度'
+}, {
+  code: 86.1,
+  name: '调度-车辆信息'
+}, {
+  code: 86.2,
+  name: '调度-附件'
+}, {
+  code: 86.4,
+  name: '调度-应收费用'
+}, {
+  code: 86.5,
+  name: '调度-应付费用'
+}, {
+  code: 87,
+  name: '派车'
+}, {
+  code: 88,
+  name: '跟踪'
+}, {
+  code: 88.1,
+  name: '陆运台账'
+}, {
+  code: 88.2,
+  name: '陆运台账-应收'
+}, {
+  code: 89,
+  name: '事务采购申请商品明细'
+}, {
+  code: 90,
+  name: '事务采购商品弹窗'
+}, {
+  code: 91,
+  name: '事务采购申请列表'
+}, {
+  code: 92,
+  name: '事务领用商品明细'
+}, {
+  code: 93,
+  name: '事务领用商品弹窗'
+}, {
+  code: 94,
+  name: '事务领用列表'
+},
+{
+  code: 95,
+  name: '事务入库商品明细'
+},
+{
+  code: 96,
+  name: '事务入库商品弹窗'
+},
+{
+  code: 97,
+  name: '事务入库列表'
+},
+{
+  code: 98,
+  name: '客户下拉'
+},
+{
+  code: 99,
+  name: '供应商下拉'
+},
+{
+  code: 100,
+  name: '公司下拉'
+},
+{
+  code: 101,
+  name: '销售机会列表'
+},
+{
+  code: 102,
+  name: '销售机会明细'
+},
+{
+  code: 103,
+  name: '事务交接单列表'
+},
+{
+  code: 104,
+  name: '事务交接单明细'
+},
+{
+  code: 105,
+  name: '办公用品库存列表'
+},
+{
+  code: 106,
+  name: '报销列表'
+},
+{
+  code: 107,
+  name: '报销明细'
+},
+{
+  code: 108,
+  name: '小学部列表'
+},
+{
+  code: 109,
+  name: '小学部明细'
+},
+{
+  code: 110,
+  name: '初中部列表'
+},
+{
+  code: 111,
+  name: '初中部明细'
+},
+{
+  code: 112,
+  name: '高中部列表'
+},
+{
+  code: 113,
+  name: '高中部明细'
+},
+{
+  code: 114,
+  name: '后勤部列表'
+},
+{
+  code: 115,
+  name: '后勤部明细'
+},
+{
+  code: 116,
+  name: '教职工列表'
+},
+{
+  code: 117,
+  name: '教职工明细'
+},
+{
+  code: 118,
+  name: '学校标准配置列表'
+},
+{
+  code: 119,
+  name: '学校标准配置明细'
+},
+{
+  code: 120,
+  name: '工资查询列表'
+},
+{
+  code: 121,
+  name: '经销商产品调拨列表'
+},
+{
+  code: 122,
+  name: '经销商产品调拨明细'
+},
+{
+  code: 123,
+  name: '经销商产品调拨商品弹窗'
+},
+{
+  code: 124,
+  name: '交接单附件上传'
+},
+{
+  code: 125,
+  name: '防疫'
+},
+{
+  code: 126,
+  name: '统计分析销售对账'
+},
+{
+  code: 127,
+  name: '统计分析数据明细'
+},
+{
+  code: 128,
+  name: '统计分析品牌采购对账'
+},
+{
+  code: 129,
+  name: '统计分析包装费用对账'
+},
+{
+  code: 130,
+  name: '统计分析销售人员提成'
+},
+{
+  code: 130.1,
+  name: '统计分析-销售明细(N)'
+},
+{
+  code: 131,
+  name: '贸易客户列表'
+},
+{
+  code: 132,
+  name: '贸易客户明细'
+},
+{
+  code: 133,
+  name: '贸易供应商列表'
+},
+{
+  code: 134,
+  name: '贸易供应商明细'
+},
+{
+  code: 135,
+  name: '贸易所属公司列表'
+},
+{
+  code: 136,
+  name: '贸易所属公司明细'
+},
+{
+  code: 137,
+  name: '统计分析应收总账'
+},
+{
+  code: 138,
+  name: '统计分析应付总账'
+},
+{
+  code: 139,
+  name: '统计分析利润总账'
+},
+{
+  code: 140,
+  name: '首页-今日业务'
+},
+{
+  code: 141,
+  name: '客户分类-列表'
+},
+{
+  code: 142,
+  name: '客户资料-列表'
+},
+{
+  code: 143,
+  name: '客户资料-客户联系人'
+},
+{
+  code: 144,
+  name: '客户资料-客户开户行'
+},
+{
+  code: 145,
+  name: '客户资料-收发货地址'
+},
+{
+  code: 146,
+  name: '供应商资料-列表'
+},
+{
+  code: 147,
+  name: '供应商资料-客户联系人'
+},
+{
+  code: 148,
+  name: '供应商资料-客户开户行'
+},
+{
+  code: 149,
+  name: '供应商资料-收发货地址'
+},
+{
+  code: 150,
+  name: '公司资料-列表'
+},
+{
+  code: 151,
+  name: '公司资料-客户联系人'
+},
+{
+  code: 152,
+  name: '公司资料-客户开户行'
+},
+{
+  code: 153,
+  name: '公司资料-收发货地址'
+},
+{
+  code: 154,
+  name: '公司分类-列表'
+},
+{
+  code: 155,
+  name: '供应商分类-列表'
+},
+{
+  code: 156,
+  name: '幼儿园列表'
+},
+{
+  code: 157,
+  name: '幼儿园明细'
+},
+{
+  code: 158,
+  name: '入职审批列表'
+},
+{
+  code: 159,
+  name: '统计分析销售对账明细'
+},
+{
+  code: 160,
+  name: '产品信息-主图附件'
+},
+{
+  code: 161.1,
+  name: '仓库-收款信息'
+},
+{
+  code: 161.2,
+  name: '仓库-付款信息'
+},
+{
+  code: 161.3,
+  name: '仓库-附件明细'
+},
+{
+  code: 161,
+  name: '入库-列表页'
+},
+{
+  code: 162,
+  name: '入库-明细'
+},
+{
+  code: 163,
+  name: '出库-列表页'
+},
+{
+  code: 164,
+  name: '出库-明细'
+},
+{
+  code: 165,
+  name: '调拨-列表页'
+},
+{
+  code: 166,
+  name: '调拨-明细'
+},
+{
+  code: 167,
+  name: '货转-列表页'
+},
+{
+  code: 168,
+  name: '货转-明细'
+},
+{
+  code: 169,
+  name: '货物通关'
+},
+{
+  code: 170,
+  name: '场地直装'
+},
+{
+  code: 171,
+  name: '仓储费'
+},
+{
+  code: 171.1,
+  name: '仓储费-明细列表'
+},
+{
+  code: 172,
+  name: '巡检计划'
+},
+{
+  code: 172.1,
+  name: '巡检计划-明细列表'
+},
+{
+  code: 173,
+  name: '费用变更'
+},
+{
+  code: 173.1,
+  name: '费用变更-原业务'
+},
+{
+  code: 173.2,
+  name: '费用变更-更改业务'
+},
+{
+  code: 174,
+  name: '仓储分析'
+},
+{
+  code: 175,
+  name: '仓储费协议'
+},
+{
+  code: 175.1,
+  name: '仓储费协议-收款'
+},
+{
+  code: 176,
+  name: '作业费协议'
+}, {
+  code: 176.1,
+  name: '作业费协议-明细列表'
+},
+{
+  code: 177,
+  name: '报表分析-库存总账'
+},
+{
+  code: 177.1,
+  name: '报表分析-库存总账明细'
+},
+{
+  code: 178,
+  name: '报表分析-收款总账'
+},
+{
+  code: 178.1,
+  name: '报表分析-收款总账明细'
+},
+{
+  code: 179,
+  name: '报表分析-付款总账'
+}, {
+  code: 179.1,
+  name: '报表分析-付款总账明细'
+}, {
+  code: 180,
+  name: '统计分析-出入库统计'
+}, {
+  code: 181,
+  name: '统计分析-利润总账(仓储)'
+},
 ]
 export const getColumnName = (key) => {
   for (let index = 0; index < columnName.length; index++) {

+ 167 - 128
src/views/landTransportation/bulkCargo/detailPage.vue

@@ -351,6 +351,10 @@
               <el-button type="primary" icon="el-icon-plus" size="mini" circle @click="addAddress"
                          style="margin-right: 1.25rem;"></el-button>
             </el-tooltip>
+            <el-tooltip v-else class="item" effect="dark" content="删除" placement="right">
+              <el-button type="danger" icon="el-icon-delete" size="mini" circle
+                         @click="deleteAddress(scope)"></el-button>
+            </el-tooltip>
           </template>
         </el-table-column>
         <el-table-column
@@ -360,14 +364,14 @@
             width="60">
         </el-table-column>
         <el-table-column
-            property="arrivalTime"
+            property="freightTime"
             label="货运日期"
             align="center"
             width="200">
           <template slot-scope="scope">
             <el-date-picker
                 format="yyyy-MM-dd HH:mm"
-                v-model="scope.row.arrivalTime"
+                v-model="scope.row.freightTime"
                 type="datetime"
                 style="width: 100%;"
                 size="small"
@@ -376,7 +380,7 @@
           </template>
         </el-table-column>
         <el-table-column
-            property="corpId"
+            property="freightPlaceId"
             label="货运地点"
             align="center"
             :render-header="customTitle"
@@ -385,29 +389,13 @@
             <crop-select
                 :corpType="'GC'"
                 :disabled="goodsForm.status !== 0"
-                v-model="scope.row.corpId"
+                v-model="scope.row.freightPlaceId"
                 @clear="clear(scope.row)"
                 @getCorpData="(row)=>{withAddress(row,scope)}"/>
           </template>
         </el-table-column>
-        <!--        <el-table-column-->
-        <!--            property="province"-->
-        <!--            label="省市区"-->
-        <!--            align="center"-->
-        <!--            width="280">-->
-        <!--          <template slot-scope="scope">-->
-        <!--            <el-cascader-->
-        <!--                size="small"-->
-        <!--                style="width: 100%;"-->
-        <!--                :key="scope.row.key"-->
-        <!--                :disabled="goodsForm.status === 1"-->
-        <!--                :props="treeOption"-->
-        <!--                clearable-->
-        <!--                v-model="scope.row.region"></el-cascader>-->
-        <!--          </template>-->
-        <!--        </el-table-column>-->
         <el-table-column
-            property="address"
+            property="contacts"
             align="center"
             width="150"
             label="联系人">
@@ -417,7 +405,7 @@
           </template>
         </el-table-column>
         <el-table-column
-            property="address"
+            property="tel"
             align="center"
             width="180"
             label="电话">
@@ -437,42 +425,42 @@
           </template>
         </el-table-column>
         <el-table-column
-            property="remarks"
+            property="volume"
             align="center"
             width="180"
             label="货物体积">
           <template slot-scope="scope">
-            <el-input v-model="scope.row.remarks" :disabled="goodsForm.status !== 0" size="small"
+            <el-input v-model="scope.row.volume" :disabled="goodsForm.status !== 0" size="small"
                       placeholder="请输入内容"></el-input>
           </template>
         </el-table-column>
         <el-table-column
-            property="remarks"
+            property="packingType"
             align="center"
             width="180"
             label="包装类型">
           <template slot-scope="scope">
-            <el-input v-model="scope.row.remarks" :disabled="goodsForm.status !== 0" size="small"
+            <el-input v-model="scope.row.packingType" :disabled="goodsForm.status !== 0" size="small"
                       placeholder="请输入内容"></el-input>
           </template>
         </el-table-column>
         <el-table-column
-            property="remarks"
+            property="weight"
             align="center"
             width="180"
             label="重量">
           <template slot-scope="scope">
-            <el-input v-model="scope.row.remarks" :disabled="goodsForm.status !== 0" size="small"
+            <el-input v-model="scope.row.weight" :disabled="goodsForm.status !== 0" size="small"
                       placeholder="请输入内容"></el-input>
           </template>
         </el-table-column>
         <el-table-column
-            property="remarks"
+            property="quantity"
             align="center"
             width="180"
             label="件数">
           <template slot-scope="scope">
-            <el-input v-model="scope.row.remarks" :disabled="goodsForm.status !== 0" size="small"
+            <el-input v-model="scope.row.quantity" :disabled="goodsForm.status !== 0" size="small"
                       placeholder="请输入内容"></el-input>
           </template>
         </el-table-column>
@@ -512,7 +500,7 @@
     <basic-container>
       <el-table
           ref="singleTable"
-          :data="tableData"
+          :data="tableDataTwo"
           size="mini"
           :header-cell-style="{color:'#000',background:'#fafafa'}"
           style="width: 100%">
@@ -522,11 +510,15 @@
             v-if="goodsForm.status === 0"
             width="40">
           <template slot-scope="scope">
-            <el-tooltip className="item" v-if="scope.$index === tableData.length-1" effect="dark" content="增加途径地址"
+            <el-tooltip className="item" v-if="scope.$index === tableDataTwo.length-1" effect="dark" content="增加途径地址"
                         placement="top">
-              <el-button type="primary" icon="el-icon-plus" size="mini" circle @click="addAddress"
+              <el-button type="primary" icon="el-icon-plus" size="mini" circle @click="addAddressTwo"
                          style="margin-right: 1.25rem;"></el-button>
             </el-tooltip>
+            <el-tooltip v-else class="item" effect="dark" content="删除" placement="right">
+              <el-button type="danger" icon="el-icon-delete" size="mini" circle
+                         @click="deleteAddress(scope)"></el-button>
+            </el-tooltip>
           </template>
         </el-table-column>
         <el-table-column
@@ -535,15 +527,16 @@
             align="center"
             width="60">
         </el-table-column>
+
         <el-table-column
-            property="arrivalTime"
+            property="freightTime"
             label="货运日期"
             align="center"
             width="200">
           <template slot-scope="scope">
             <el-date-picker
                 format="yyyy-MM-dd HH:mm"
-                v-model="scope.row.arrivalTime"
+                v-model="scope.row.freightTime"
                 type="datetime"
                 style="width: 100%;"
                 size="small"
@@ -552,7 +545,7 @@
           </template>
         </el-table-column>
         <el-table-column
-            property="corpId"
+            property="freightPlaceId"
             label="货运地点"
             align="center"
             :render-header="customTitle"
@@ -561,29 +554,13 @@
             <crop-select
                 :corpType="'GC'"
                 :disabled="goodsForm.status !== 0"
-                v-model="scope.row.corpId"
+                v-model="scope.row.freightPlaceId"
                 @clear="clear(scope.row)"
                 @getCorpData="(row)=>{withAddress(row,scope)}"/>
           </template>
         </el-table-column>
-        <!--        <el-table-column-->
-        <!--            property="province"-->
-        <!--            label="省市区"-->
-        <!--            align="center"-->
-        <!--            width="280">-->
-        <!--          <template slot-scope="scope">-->
-        <!--            <el-cascader-->
-        <!--                size="small"-->
-        <!--                style="width: 100%;"-->
-        <!--                :key="scope.row.key"-->
-        <!--                :disabled="goodsForm.status === 1"-->
-        <!--                :props="treeOption"-->
-        <!--                clearable-->
-        <!--                v-model="scope.row.region"></el-cascader>-->
-        <!--          </template>-->
-        <!--        </el-table-column>-->
         <el-table-column
-            property="address"
+            property="contacts"
             align="center"
             width="150"
             label="联系人">
@@ -593,7 +570,7 @@
           </template>
         </el-table-column>
         <el-table-column
-            property="address"
+            property="tel"
             align="center"
             width="180"
             label="电话">
@@ -613,42 +590,42 @@
           </template>
         </el-table-column>
         <el-table-column
-            property="remarks"
+            property="volume"
             align="center"
             width="180"
             label="货物体积">
           <template slot-scope="scope">
-            <el-input v-model="scope.row.remarks" :disabled="goodsForm.status !== 0" size="small"
+            <el-input v-model="scope.row.volume" :disabled="goodsForm.status !== 0" size="small"
                       placeholder="请输入内容"></el-input>
           </template>
         </el-table-column>
         <el-table-column
-            property="remarks"
+            property="packingType"
             align="center"
             width="180"
             label="包装类型">
           <template slot-scope="scope">
-            <el-input v-model="scope.row.remarks" :disabled="goodsForm.status !== 0" size="small"
+            <el-input v-model="scope.row.packingType" :disabled="goodsForm.status !== 0" size="small"
                       placeholder="请输入内容"></el-input>
           </template>
         </el-table-column>
         <el-table-column
-            property="remarks"
+            property="weight"
             align="center"
             width="180"
             label="重量">
           <template slot-scope="scope">
-            <el-input v-model="scope.row.remarks" :disabled="goodsForm.status !== 0" size="small"
+            <el-input v-model="scope.row.weight" :disabled="goodsForm.status !== 0" size="small"
                       placeholder="请输入内容"></el-input>
           </template>
         </el-table-column>
         <el-table-column
-            property="remarks"
+            property="quantity"
             align="center"
             width="180"
             label="件数">
           <template slot-scope="scope">
-            <el-input v-model="scope.row.remarks" :disabled="goodsForm.status !== 0" size="small"
+            <el-input v-model="scope.row.quantity" :disabled="goodsForm.status !== 0" size="small"
                       placeholder="请输入内容"></el-input>
           </template>
         </el-table-column>
@@ -665,18 +642,18 @@
             align="center"
             width="40">
           <template slot-scope="scope">
-            <div v-if="scope.$index !== tableData.length-1" style="margin: -5px auto">
+            <div v-if="scope.$index !== tableDataTwo.length-1" style="margin: -5px auto">
               <el-tooltip class="item" effect="dark" content="向上移动" placement="right" v-if="scope.$index > 1">
                 <div class="single" style="margin-bottom: -5px">
                   <el-button type="text" style="margin-right: -0.5rem" icon="el-icon-arrow-up" size="mini"
-                             @click="moveUp(scope.row,scope.$index)"></el-button>
+                             @click="moveUpTwo(scope.row,scope.$index)"></el-button>
                 </div>
               </el-tooltip>
               <el-tooltip class="item" effect="dark" content="向下移动" placement="right"
-                          v-if="scope.$index > 0 && scope.$index < tableData.length-2">
+                          v-if="scope.$index > 0 && scope.$index < tableDataTwo.length-2">
                 <div class="single" style="margin-top: -5px">
                   <el-button type="text" style="margin-right: -0.5rem" icon="el-icon-arrow-down" size="mini"
-                             @click="moveDown(scope.row,scope.$index)"></el-button>
+                             @click="moveDownTwo(scope.row,scope.$index)"></el-button>
                 </div>
               </el-tooltip>
             </div>
@@ -751,7 +728,7 @@
     <basic-container>
       <el-tabs v-model="activeIndex" @tab-click="handleSelect">
         <el-tab-pane label="应收" name="1"></el-tab-pane>
-        <!--<el-tab-pane label="应付" name="2"></el-tab-pane>-->
+        <el-tab-pane label="应付" name="2"></el-tab-pane>
       </el-tabs>
       <avue-crud
           v-if="activeIndex === '1'"
@@ -778,27 +755,26 @@
               v-model="row.feeId"
               :disabled="goodsForm.status !== 0"
               @selectValue="(value) => selectValue(value,row)"
-              :configuration="breakConfiguration"
-          >
+              :configuration="breakConfiguration">
           </breakdown-select>
           <span v-else>{{ row.feeName }}</span>
         </template>
         <template slot-scope="{row,index}" slot="menu">
-          <!--          <el-button-->
-          <!--              type="text"-->
-          <!--              size="small"-->
-          <!--              :disabled="goodsForm.status === 1"-->
-          <!--              :icon="row.$cellEdit?'el-icon-circle-plus-outline':'el-icon-edit'"-->
-          <!--              @click="rowCell(row,index)"-->
-          <!--          >{{ row.$cellEdit ? '保存' : '编辑' }}-->
-          <!--          </el-button>-->
-          <!--          <el-button type="text"-->
-          <!--                     icon="el-icon-delete"-->
-          <!--                     size="small"-->
-          <!--                     :disabled="goodsForm.status === 1"-->
-          <!--                     @click="$refs.collection.rowDel(row,index)"-->
-          <!--          >删除-->
-          <!--          </el-button>-->
+          <el-button
+              type="text"
+              size="small"
+              :disabled="goodsForm.status === 1"
+              :icon="row.$cellEdit?'el-icon-circle-plus-outline':'el-icon-edit'"
+              @click="rowCell(row,index)"
+          >{{ row.$cellEdit ? '保存' : '编辑' }}
+          </el-button>
+          <el-button type="text"
+                     icon="el-icon-delete"
+                     size="small"
+                     :disabled="goodsForm.status === 1"
+                     @click="$refs.collection.rowDel(row,index)"
+          >删除
+          </el-button>
           <el-button
               size="small"
               type="text"
@@ -808,12 +784,13 @@
           </el-button>
         </template>
         <template slot="menuLeft">
-          <!--          <el-button-->
-          <!--              type="primary"-->
-          <!--              icon="el-icon-plus"-->
-          <!--              :disabled="goodsForm.status !== 0"-->
-          <!--              @click="addRowCollection"-->
-          <!--              size="small">录入明细</el-button>-->
+          <el-button
+              type="primary"
+              icon="el-icon-plus"
+              :disabled="goodsForm.status !== 0"
+              @click="addRowCollection"
+              size="small">录入明细
+          </el-button>
         </template>
       </avue-crud>
       <avue-crud
@@ -913,12 +890,13 @@ import {
   removeCollection,
   saveSaveList,
   addressList, cancelSubmission, getCorp, getSalesman, getFee, changeSubmission, validChange, tRemove
-} from "@/api/landTransportation";
+} from "@/api/landTransportation/bulkCargo";
 import {getDeptTree} from "@/api/system/dept";
 import website from "@/config/website";
 import {gaude, location} from "@/api/gaude";
 //地图回放
 import trackPlayback from "@/components/trackPlayback"
+import {fleetList, telephone} from "@/api/landTransportation";
 
 export default {
   comments: {
@@ -1193,6 +1171,7 @@ export default {
         }
       },
       tableData: [],
+      tableDataTwo: [],
       entrustListT: [],
       entrustOptionTwoTBackup: {
         align: 'center',
@@ -1426,18 +1405,25 @@ export default {
           valueFormat: 'yyyy-MM-dd HH:mm:ss',
         }, {
           label: '合同号',
-          prop: 'receiptNo'
+          span: 6,
+          prop: 'contractNo'
         }, {
           label: '联系电话',
+          span: 6,
           prop: 'tel'
         }, {
           label: '派车单号',
-          prop: 'billNo',
+          prop: 'dispatchNumber',
+          span: 6,
           rules: [{
             required: true,
             message: " ",
             trigger: "blur"
           }],
+        }, {
+          label: '单车运费',
+          span: 6,
+          prop: 'freightCollect'
         }
           // , {
           //   label: '场站',
@@ -1532,25 +1518,46 @@ export default {
         span: 8,
         column: [{
           label: '车队',
-          prop: 'etd'
+          prop: 'fleet',
+          type: 'select',
+          cascader: ['licenseNumber'],
+          dicUrl: "/api/blade-client/corpsdesc/list?size=1000&current=1&&corpType=CD",
+          props: {
+            label: "cname",
+            value: "id",
+            res: "data.records"
+          }
         }, {
           label: '车号',
-          prop: 'etd'
+          prop: 'licenseNumber',
+          allowCreate: true,
+          overHidden: true,
+          filterable: true,
+          cascader: ['driver'],
+          type: "select",
+          dicUrl: "/api/blade-client/land-vehicle/vehicle-list?fleetId={{key}}",
+          props: {
+            label: "plateNo",
+            value: "plateNo"
+          },
         }, {
           label: '司机',
-          prop: 'etd'
+          prop: 'driver',
+          type: "select",
+          dicUrl: "/api/blade-client/land-driver/driver-list?plateNo={{key}}",
+          props: {
+            label: "name",
+            value: "id"
+          }
         }, {
           label: '电话',
-          prop: 'etd'
+          prop: 'driverTel'
         }, {
           label: '车体积',
-          prop: 'etd'
+          prop: 'fleetVolum'
         }, {
-          label: '单车运费(收)',
-          prop: 'etd'
-        }, {
-          label: '单车运费(付)',
-          prop: 'etd'
+          label: '应付运费',
+          prop: 'freightPay'
         }]
       },
       entrustOptionTwoBackup: {
@@ -1730,19 +1737,21 @@ export default {
         column: [{
           label: '公司名称',
           slot: true,
-          width: 300,
+          width: 200,
           overHidden: true,
           prop: 'corpId'
-        }, {
-          label: '车号',
-          cell: true,
-          prop: 'plateNo',
-          type: "select",
-          props: {
-            label: "label",
-            value: "label"
-          },
-        }, {
+        }
+          /*, {
+            label: '车号',
+            cell: true,
+            prop: 'plateNo',
+            type: "select",
+            props: {
+              label: "label",
+              value: "label"
+            },
+          }*/
+        , {
           label: '费用名称',
           slot: true,
           width: 200,
@@ -1784,8 +1793,7 @@ export default {
             label: "dictValue",
             value: "dictKey"
           },
-        }
-        ]
+        }]
       },
       paymentList: [],
       collectionOption: {},
@@ -1826,9 +1834,11 @@ export default {
         }, {
           label: '费用名称',
           slot: true,
+          width: 200,
           prop: 'feeId'
         }, {
           label: '计价单位',
+          width: 100,
           cell: true,
           prop: 'unit',
           type: "select",
@@ -1840,23 +1850,28 @@ export default {
         }, {
           label: '数量',
           cell: true,
+          width: 100,
           prop: 'quantity'
         }, {
           label: '单价',
           cell: true,
+          width: 100,
           prop: 'price'
         }, {
           label: '金额',
           cell: true,
+          width: 100,
           prop: 'amount'
         }, {
           // label: '税率(默认6)',
           label: '税率',
           cell: true,
+          width: 100,
           prop: 'taxRate'
         }, {
           label: '币别',
           cell: true,
+          width: 100,
           prop: 'currency',
           type: "select",
           dicUrl: "/api/blade-system/dict-biz/dictionary?code=currency",
@@ -1869,6 +1884,26 @@ export default {
     };
   },
   async created() {
+    this.findObject(this.goodsOptionFormTwo.column, "licenseNumber").change = (data) => {
+      fleetList({fleetId: data.row.fleetId}).then(res => {
+        for (let item in res.data.data) {
+          if (data.value === res.data.data[item].plateNo) {
+            this.goodsForm.driver = res.data.data[item].driverId
+            this.goodsForm.driverName = res.data.data[item].driverName
+            this.goodsForm.driverTel = res.data.data[item].tel
+          }
+        }
+      })
+    }
+    this.findObject(this.goodsOptionFormTwo.column, "driver").change = (data) => {
+      telephone().then(res => {
+        for (let item in res.data.data) {
+          if (data.value === res.data.data[item].id) {
+            this.goodsForm.driverTel = res.data.data[item].tel
+          }
+        }
+      })
+    }
     this.entrustOptionTwo = await this.getColumnData(this.getColumnName(85.1), this.entrustOptionTwoBackup);
     this.KeyBox++
     this.entrustOptionTwoT = await this.getColumnData(this.getColumnName(85.2), this.entrustOptionTwoTBackup);
@@ -1985,7 +2020,9 @@ export default {
         })
       }
     } else {
+      this.goodsForm.status = 0
       this.tableData = [{}, {}]
+      this.tableDataTwo = [{}, {}]
       getCorp().then(res => {
         this.goodsForm = {
           corpId: res.data.data ? res.data.data.id : '',
@@ -2216,14 +2253,24 @@ export default {
     },
     //地址新增
     addAddress() {
-      this.tableData.splice(this.tableData.length - 1, 0, {})
+      this.tableData.push({})
+    },
+    //地址新增
+    addAddressTwo() {
+      this.tableDataTwo.push({})
     },
     moveUp(row, index) {
       this.tableData[index] = this.tableData.splice(index - 1, 1, row)[0]
     },
+    moveUpTwo(row, index) {
+      this.tableDataTwo[index] = this.tableDataTwo.splice(index - 1, 1, row)[0]
+    },
     moveDown(row, index) {
       this.tableData[index] = this.tableData.splice(index + 1, 1, row)[0]
     },
+    moveDownTwo(row, index) {
+      this.tableDataTwo[index] = this.tableDataTwo.splice(index + 1, 1, row)[0]
+    },
     //返回主列表
     backToList(value) {
       if (value === 0) {
@@ -2280,20 +2327,12 @@ export default {
     },
     //保存
     editCustomer() {
-      let data = JSON.parse(JSON.stringify(this.tableData))
-      data.forEach((item, index) => {
-        item.sort = index + 1
-        // if (item.region !== undefined && item.region.length !== 0) {
-        //   item.region = item.region.join(',')
-        // } else {
-        //   item.region = ''
-        // }
-      })
       this.type = true
       saveSaveList({
         ...this.goodsForm,
         kind: '1',
-        orderAddressList: data,
+        loadingAddressList:this.tableData,
+        unloadedAddressList:this.tableDataTwo,
         fileList: this.orderFilesList,
         itemList: this.entrustList,
         orderFeeList: this.collectionList.concat(this.paymentList)

+ 1351 - 0
src/views/statisticAnalysis/profitGeneralLedger/index.vue

@@ -0,0 +1,1351 @@
+<template>
+  <div class="app-container">
+    <basic-container>
+      <avue-crud
+          ref="crud"
+          :option="option"
+          :data="receivableList"
+          :search.sync="queryParams"
+          @resetColumn="resetColumn('crud','option','optionList',181)"
+          @saveColumn="saveColumn('crud','option','optionList',181)"
+      >
+        <template slot="menuLeft">
+          <el-button
+              type="warning"
+              icon="el-icon-download"
+              size="mini"
+              @click="handleExport"
+              v-hasPermi="['warehouseBusiness:profit:export']"
+          >导出
+          </el-button>
+        </template>
+      </avue-crud>
+    </basic-container>
+    <span v-if="false">
+      <div v-if="login == 3">
+        <kaihe-profitGeneralLedger/>
+      </div>
+      <div v-else>
+        <el-form
+            :model="queryParams"
+            ref="queryForm"
+            v-show="showSearch"
+            label-width="80px"
+        >
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="客户" prop="corpid">
+                <el-select
+                    v-model="queryParams.corpid"
+                    filterable
+                    remote
+                    clearable
+                    size="small"
+                    @keyup.enter.native="handleQuery"
+                    :remote-method="corpsRemoteMethod"
+                    placeholder="请选择客户"
+                >
+                  <el-option
+                      v-for="(dict, index) in mblnoOptions"
+                      :key="index.id"
+                      :label="dict.name"
+                      :value="dict.id"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="提单号" prop="mblno">
+                <el-input
+                    v-model="queryParams.mblno"
+                    placeholder="请输入提单号"
+                    clearable
+                    size="small"
+                    style="width: 200px"
+                    @keyup.enter.native="handleQuery"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="审核区间" prop="timeExamine">
+                <!--          如果需要固定某一年加 :picker-options="pickerOptions0"-->
+                <el-date-picker
+                    type="monthrange"
+                    range-separator="至"
+                    start-placeholder="开始月份"
+                    end-placeholder="结束月份"
+                    v-model="queryParams.timeExamine"
+                    value-format="yyyy-MM"
+                    unlink-panels
+                    :clearable="false"
+                    style="width: 200px"
+                    @keyup.enter.native="handleQuery"
+                ></el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="货物名称" prop="productName">
+                <el-select
+                    v-model="queryParams.productName"
+                    filterable
+                    remote
+                    clearable
+                    size="small"
+                    :remote-method="goodsRemoteMethod"
+                    @keyup.enter.native="handleQuery"
+                    placeholder="请选择货物名称"
+                >
+                  <el-option
+                      v-for="(dict, index) in goodsOptions"
+                      :key="index.id"
+                      :label="dict.name"
+                      :value="dict.name"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-collapse-transition>
+            <div v-show="show">
+              <el-row>
+                <el-col :span="6">
+                  <el-form-item label="品牌" prop="marks">
+                    <el-input
+                        v-model="queryParams.marks"
+                        placeholder="请输入品牌"
+                        clearable
+                        size="small"
+                        style="width: 200px"
+                        @keyup.enter.native="handleQuery"
+                    />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                  <el-form-item label="结算状态" prop="reconciliation">
+                    <el-select
+                        v-model="queryParams.reconciliation"
+                        clearable
+                        size="small"
+                        @keyup.enter.native="handleQuery"
+                    >
+                      <el-option label="未收" value="0"/>
+                      <el-option label="全部" value="1"/>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                  <el-form-item label="费用状态" prop="billstatus">
+                    <el-select
+                        v-model="queryParams.billstatus"
+                        clearable
+                        size="small"
+                        @keyup.enter.native="handleQuery"
+                    >
+                      <el-option label="录入" value="0"/>
+                      <el-option label="审核通过" value="1"/>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                  <el-form-item label="作业类型" prop="businessType">
+                    <el-select
+                        multiple
+                        v-model="queryParams.businessType"
+                        filterable
+                    >
+                      <el-option
+                          v-for="(dict, index) in businessTypeOption"
+                          :key="index.dictValue"
+                          :label="dict.dictLabel"
+                          :value="dict.dictValue"
+                      ></el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+              <el-row>
+                <el-col :span="6">
+                  <el-form-item label="费用名称" prop="feeid">
+                    <el-select
+                        multiple
+                        :remote-method="wRemoteMethod"
+                        v-model="queryParams.feeid"
+                        filterable
+                    >
+                      <el-option
+                          v-for="(dict, index) in wbuOptions"
+                          :key="index.id"
+                          :label="dict.name"
+                          :value="dict.id"
+                      ></el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                  <el-form-item label="审核状态">
+                    <el-select
+                        v-model="queryParams.billProfits"
+                        placeholder="请选择状态"
+                        clearable
+                        size="small"
+                        filterable
+                    >
+                      <el-option label="全部" :value="1"></el-option>
+                      <el-option label="待审" :value="4"></el-option>
+                      <el-option label="审核通过" :value="6"></el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                  <el-form-item label="业务员" prop="salesmanId">
+                    <el-select
+                        v-model="queryParams.salesmanId"
+                        clearable
+                        filterable
+                        placeholder="请选择业务员"
+                    >
+                      <el-option
+                          v-for="(item, index) in salesmanOption"
+                          :key="index.userId"
+                          :label="item.userName"
+                          :value="item.userId"
+                      ></el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                  <el-form-item label="客户分组">
+                    <el-select
+                        v-model="queryParams.groupBy"
+                        filterable
+                        placeholder="请选择"
+                    >
+                      <el-option
+                          label="是"
+                          :value="1"
+                      ></el-option>
+                      <el-option
+                          label="否"
+                          :value="0"
+                      ></el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+              <el-row>
+                <el-col :span="6">
+                  <el-form-item label="船名" prop="vslid" v-if="sysType == 3">
+                    <el-select
+                        v-model="queryParams.vslid"
+                        placeholder="请选择船名"
+                        clearable
+                        size="small"
+                        filterable
+                    >
+                      <el-option
+                          v-for="item in vesselOptions"
+                          :key="item.id"
+                          :label="item.name"
+                          :value="item.id"
+                      />
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                  <el-form-item label="航次" prop="voyid" v-if="sysType == 3">
+                    <el-select
+                        v-model="queryParams.voyid"
+                        placeholder="请选择航次"
+                        clearable
+                        size="small"
+                        filterable
+                    >
+                      <el-option
+                          v-for="item in voyageOptions"
+                          :key="item.id"
+                          :label="item.no"
+                          :value="item.id"
+                      />
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+            </div>
+          </el-collapse-transition>
+          <!--      <el-form-item label="结算单位" prop="toCorpid">-->
+          <!--        <el-select-->
+          <!--          v-model="queryParams.toCorpid"-->
+          <!--          placeholder="请选择结算单位"-->
+          <!--          filterable-->
+          <!--          remote-->
+          <!--          clearable-->
+          <!--          style="width: 200px"-->
+          <!--          size="small"-->
+          <!--          @keyup.enter.native="handleQuery"-->
+          <!--          :remote-method="corpsRemoteMethod"-->
+          <!--        >-->
+          <!--          <el-option-->
+          <!--            v-for="(dict, index) in mblnoOptions"-->
+          <!--            :key="index.id"-->
+          <!--            :label="dict.name"-->
+          <!--            :value="dict.id"-->
+          <!--          ></el-option>-->
+          <!--        </el-select>-->
+          <!--      </el-form-item>-->
+        </el-form>
+
+        <el-row :gutter="10" class="mb8">
+          <el-col :span="1.5">
+            <el-button
+                type="warning"
+                icon="el-icon-download"
+                size="mini"
+                @click="handleExport"
+                v-hasPermi="['warehouseBusiness:profit:export']"
+            >导出
+            </el-button>
+          </el-col>
+          <div class="tabSetting">
+            <div style="margin-right: 20px">
+              <el-button
+                  type="cyan"
+                  icon="el-icon-search"
+                  size="mini"
+                  @click="handleQuery"
+              >搜索</el-button
+              >
+              <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+              >重置</el-button
+              >
+              <el-button
+                  v-show="show"
+                  @click="show = !show"
+                  icon="el-icon-arrow-up"
+                  size="mini"
+                  style="border: 1px dashed #afaeae"
+              >展开</el-button
+              >
+              <el-button
+                  v-show="!show"
+                  @click="show = !show"
+                  icon="el-icon-arrow-down"
+                  size="mini"
+                  style="border: 1px dashed #afaeae"
+              >展开</el-button
+              >
+            </div>
+            <right-toolbar
+                :showSearch.sync="showSearch"
+                @queryTable="getList"
+            ></right-toolbar>
+            <div style="margin: 0 12px">
+              <el-button
+                  icon="el-icon-setting"
+                  size="mini"
+                  circle
+                  @click="showSetting = !showSetting"
+              ></el-button>
+            </div>
+          </div>
+        </el-row>
+        <el-dialog title="自定义列显示" :visible.sync="showSetting" width="700px">
+          <div>配置排序列数据(拖动调整顺序)</div>
+          <div style="margin-left: 17px">
+            <el-checkbox
+                v-model="allCheck"
+                label="全选"
+                @change="allChecked"
+            ></el-checkbox>
+          </div>
+          <div style="padding: 4px; display: flex; justify-content: center">
+            <draggable
+                v-model="setRowList"
+                group="site"
+                animation="300"
+                @start="onStart"
+                @end="onEnd"
+                handle=".indraggable"
+            >
+              <transition-group>
+                <div
+                    v-for="item in setRowList"
+                    :key="item.surface"
+                    class="listStyle"
+                >
+                  <div style="width: 500px" class="indraggable">
+                    <div class="progress" :style="{ width: item.width + 'px' }">
+                      <el-checkbox
+                          :label="item.name"
+                          v-model="item.checked"
+                          :true-label="0"
+                          :false-label="1"
+                      >{{ item.name }}
+                      </el-checkbox>
+                    </div>
+                  </div>
+                  <el-input-number
+                      v-model.number="item.width"
+                      controls-position="right"
+                      :min="1"
+                      :max="500"
+                      size="mini"
+                  ></el-input-number>
+                </div>
+              </transition-group>
+            </draggable>
+          </div>
+          <span slot="footer" class="dialog-footer">
+            <el-button @click="showSetting = false">取 消</el-button>
+            <el-button @click="delRow" type="danger">重 置</el-button>
+            <el-button type="primary" @click="save()">确 定</el-button>
+          </span>
+        </el-dialog>
+        <el-table
+            v-loading="loading"
+            :data="receivableList"
+            show-summary
+            :summary-method="getSum"
+            @expand-change="expandChange"
+        >
+          <!-- <el-table-column type="selection" width="55" align="center" /> -->
+          <el-table-column type="expand" fixed="left" v-if="sysType == 3">
+            <template slot-scope="props">
+              <el-table :data="props.row.dataList" v-loading="props.row.loading">
+                <el-table-column
+                    label="客户名称"
+                    prop="corpid"
+                    align="center"
+                    show-overflow-tooltip
+                    width="180"
+                >
+                  <template slot-scope="scope">
+                    <span>{{ scope.row.corpid | nameFormat(nameOptions) }}</span>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                    label="费用名称"
+                    prop="feeid"
+                    align="center"
+                    show-overflow-tooltip
+                    width="100"
+                >
+                  <template slot-scope="scope">
+                    <span v-if="scope.row.dc == 'D'">
+                      {{ scope.row.feeid | dNameFormat(dNameOptions) }}
+                    </span>
+                    <span v-if="scope.row.dc == 'C'">
+                      {{ scope.row.feeid | dNameFormat(cNameOptions) }}
+                    </span>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                    label="计价单位"
+                    prop="feeunitid"
+                    align="center"
+                    show-overflow-tooltip
+                    width="100"
+                >
+                  <template slot-scope="scope">
+                    <span>{{
+                        scope.row.feeunitid | jFeetunitFormat(jFeetunitOptions)
+                      }}</span>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                    label="数量"
+                    prop="qty"
+                    align="center"
+                    show-overflow-tooltip
+                    width="100"
+                >
+                </el-table-column>
+                <el-table-column
+                    label="单价"
+                    prop="unitprice"
+                    align="center"
+                    show-overflow-tooltip
+                    width="100"
+                >
+                </el-table-column>
+                <el-table-column
+                    label="金额"
+                    prop="amount"
+                    align="center"
+                    show-overflow-tooltip
+                    width="100"
+                >
+                </el-table-column>
+                <el-table-column
+                    label="收付"
+                    prop="dc"
+                    align="center"
+                    show-overflow-tooltip
+                    width="100"
+                >
+                  <template slot-scope="scope">
+                    <span v-if="scope.row.dc == 'D'">收款</span>
+                    <span v-if="scope.row.dc == 'C'">付款</span>
+                  </template>
+                </el-table-column>
+              </el-table>
+            </template>
+          </el-table-column>
+          <el-table-column type="index" label="行号" align="center" width="100"/>
+          <el-table-column
+              v-for="(item, index) in getRowList"
+              :key="index"
+              :label="item.name"
+              :width="item.width"
+              :prop="item.label"
+              align="center"
+              :show-overflow-tooltip="true"
+              sortable
+              :fixed="item.fixed"
+          />
+          <!-- <el-table-column label="货权方" sortable align="center" prop="name" width="220"/>
+        <el-table-column label="结算单位" sortable align="center" prop="feesName" width="220"/>
+        <el-table-column label="提单号" sortable align="center" prop="mblno" width="216" show-overflow-tooltip/>
+        <el-table-column label="货物名称" align="center" prop="productName" show-overflow-tooltip/>
+        <el-table-column label="品牌" align="center" prop="marks" width="120"/>
+        <el-table-column label="审核日期" align="center" prop="reviewDate">
+          <template slot-scope="scope">
+            <span>{{ parseTime(scope.row.reviewDate, '{y}-{m}-{d}') }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="应收金额" align="center" prop="amount"/>
+        <el-table-column label="应付金额" align="center" prop="stlamount"/>
+        <el-table-column label="利润" align="center" prop="nnfinished"/> -->
+        </el-table>
+
+        <pagination
+            v-show="total > 0"
+            :total="total"
+            :page.sync="queryParams.pageNum"
+            :limit.sync="queryParams.pageSize"
+            :page-sizes="[50, 100, 200, 500, 1000]"
+            @pagination="getList"
+        />
+      </div>
+    </span>
+  </div>
+</template>
+
+<script>
+// import {
+//   listpayable,
+//   listWhgenleg,
+//   getWhgenleg,
+//   delWhgenleg,
+//   addWhgenleg,
+//   updateWhgenleg,
+//   exportWhgenleg,
+//   selectListDC,
+// } from "@/api/reportManagement/profit";
+// import { listWarehouse } from "@/api/basicdata/warehouse";
+// import { listArea } from "@/api/basicdata/area";
+// import { listGoods } from "@/api/basicdata/goods";
+// import { listCorps } from "@/api/basicdata/corps";
+// import { listFees } from "@/api/basicdata/fees";
+// import { addSet, select, resetModule } from "@/api/system/set";
+import Cookies from "js-cookie";
+import draggable from "vuedraggable";
+// import { getVesselName } from "@/api/finance/applyForInvoice/chargeInvoice";
+// import { getVoyageName } from "@/api/finance/applyForInvoice/feeDetail";
+// import { getFName } from "@/api/kaihe/domesticTrade/orderInformation";
+// import { selectUserByRole } from "@/api/basicdata/warehouse";
+// import kaiheProfitGeneralLedger from "../kaihe-profitGeneralLedger/index.vue";
+export default {
+  name: "profitGeneralLedger",
+  components: {
+    draggable,
+    // kaiheProfitGeneralLedger
+  },
+  data() {
+    return {
+      option: {},
+      optionList: {
+        border: true,
+        align: 'center',
+        stripe: true,
+        index: true,
+        addBtn: false,
+        editBtn: false,
+        delBtn: false,
+        menu: false,
+        height: "auto",
+        searchSpan: 8,
+        searchIcon: true,
+        searchIndex: 2,
+        highlightCurrentRow: true,
+        column: [
+          {
+            index: "1",
+            prop: "name",
+            label: "客户",
+            width: 150,
+          },
+          // {
+          //   index: "2",
+          //   prop: "feesName",
+          //   label: "结算单位",
+          //   width: 120,
+          // },
+          {
+            index: "3",
+            prop: "mblno",
+            label: "提单号",
+            width: 150,
+          },
+          {
+            index: "3",
+            prop: "reviewDate",
+            label: "年月",
+            width: 150,
+          },
+          {
+            index: "4",
+            prop: "productName",
+            label: "货物名称",
+            width: 150,
+          },
+          {
+            index: "5",
+            prop: "marks",
+            label: "品牌",
+            width: 150,
+          },
+          {
+            index: "6",
+            prop: "reviewDate",
+            label: "审核日期",
+            width: 150,
+          },
+          {
+            index: "7",
+            prop: "amount",
+            label: "应收金额",
+            width: 120,
+          },
+          {
+            index: "8",
+            prop: "stlamount",
+            label: "应付金额",
+            width: 120,
+          },
+          {
+            index: "9",
+            prop: "nnfinished",
+            label: "利润",
+            width: 120,
+          }, {
+            index: "999",
+            prop: "corpid",
+            label: "客户",
+            width: 120,
+            hide: true,
+            showColumn: false,
+            search: true,
+          }, {
+            index: "999",
+            prop: "mblno",
+            label: "提单号",
+            width: 120,
+            hide: true,
+            showColumn: false,
+            search: true,
+          }, {
+            index: "999",
+            prop: "timeExamine",
+            label: "审核区间",
+            unlinkPanels: true,
+            searchRange: true,
+            width: 120,
+            hide: true,
+            showColumn: false,
+            type: "monthrange",
+            search: true,
+          }, {
+            index: "999",
+            prop: "productName",
+            label: "货物名称",
+            width: 120,
+            hide: true,
+            showColumn: false,
+            search: true,
+          },
+        ]
+      },
+      show: false,
+      login: Cookies.get("sysType"),
+      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]);
+            },
+          },
+        ],
+      },
+      selectDate: null, // 时间选择后
+      pickerOptions0: {
+        disabledDate: time => {
+          if (this.selectDate == null) {
+            return false
+          } else {
+            return (this.selectDate.getFullYear() != time.getFullYear())
+          }
+        },
+        onPick: date => {
+          // 如果只选择一个则保存至selectDate 否则selectDate 为空
+          if (date.minDate && !date.maxDate) {
+            this.selectDate = date.minDate
+          } else {
+            this.selectDate = null
+          }
+        }
+      },
+      //费用名称
+      wbuOptions: [],
+      businessInTypeOption: [],
+      businessOutTypeOption: [],
+      businessTransTypeOption: [],
+      businessTypeOption: [],
+      salesmanOption: [],
+      // 货权方(客户数据)
+      mblnoOptions: [],
+      // 贸易方式(数据字典),对应t_trademodels 字典
+      trademodeidOptions: [],
+      // 货物
+      goodsOptions: [],
+      // 仓库(仓库数据)
+      warehouseOptions: [],
+      kqhouseOptions: [],
+      // 遮罩层
+      loading: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 库存总账表格数据
+      receivableList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 50,
+        corpid: null,
+        mblno: null,
+        timeExamine: null,
+        toCorpid: null,
+        productName: null,
+        marks: null,
+        reconciliation: null,
+        billstatus: null,
+        businessType: null,
+        feeid: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        marks: [{required: true, message: "唛头不能为空", trigger: "blur"}],
+      },
+      showSetting: false,
+      drag: false,
+      setRowList: [],
+      getRowList: [],
+      tableDate: [
+        {
+          surface: "1",
+          label: "name",
+          name: "客户",
+          checked: 0,
+          width: 150,
+        },
+        // {
+        //   surface: "2",
+        //   label: "feesName",
+        //   name: "结算单位",
+        //   checked: 0,
+        //   width: 120,
+        // },
+        {
+          surface: "3",
+          label: "mblno",
+          name: "提单号",
+          checked: 0,
+          width: 150,
+        },
+        {
+          surface: "3",
+          label: "reviewDate",
+          name: "年月",
+          checked: 0,
+          width: 150,
+        },
+        {
+          surface: "4",
+          label: "productName",
+          name: "货物名称",
+          checked: 0,
+          width: 150,
+        },
+        {
+          surface: "5",
+          label: "marks",
+          name: "品牌",
+          checked: 0,
+          width: 150,
+        },
+        {
+          surface: "6",
+          label: "reviewDate",
+          name: "审核日期",
+          checked: 0,
+          width: 150,
+        },
+        {
+          surface: "7",
+          label: "amount",
+          name: "应收金额",
+          checked: 0,
+          width: 120,
+        },
+        {
+          surface: "8",
+          label: "stlamount",
+          name: "应付金额",
+          checked: 0,
+          width: 120,
+        },
+        {
+          surface: "9",
+          label: "nnfinished",
+          name: "利润",
+          checked: 0,
+          width: 120,
+        },
+      ],
+      allCheck: false,
+      // 船名
+      vesselOptions: [],
+      // 航次
+      voyageOptions: [],
+      sysType: "",
+      nameOptions: [],
+      dNameOptions: [],
+      cNameOptions: [],
+      jFeetunitOptions: [],
+    };
+  },
+  filters: {
+    nameFormat(row, nameOptions) {
+      let name;
+      nameOptions.map((e) => {
+        if (row == e.id) {
+          name = e.name;
+        }
+      });
+      return name;
+    },
+    dNameFormat(row, dNameOptions) {
+      let name;
+      dNameOptions.map((e) => {
+        if (row == e.id) {
+          name = e.name;
+        }
+      });
+      return name;
+    },
+    cNameFormat(row, cNameOptions) {
+      let name;
+      cNameOptions.map((e) => {
+        if (row == e.id) {
+          name = e.name;
+        }
+      });
+      return name;
+    },
+    jFeetunitFormat(row, jFeetunitOptions) {
+      let label;
+      jFeetunitOptions.map((e) => {
+        if (row == e.dictValue) {
+          label = e.dictLabel;
+        }
+      });
+      return label;
+    },
+  },
+  async created() {
+    this.option = await this.getColumnData(this.getColumnName(181), this.optionList);
+    this.$set(this.queryParams, 'groupBy', 1)
+    this.sysType = Cookies.get("sysType");
+    this.setRowList = this.tableDate;
+    this.getRowList = this.tableDate;
+    this.vessleRemthod();
+    this.voyageRemthods();
+    /* 远程模糊查询费用名称 */
+    this.wRemoteMethod();
+    let this_ = this;
+    this_.getList();
+    this_.getDicts("data_trademodes").then((response) => {
+      this_.trademodeidOptions = response.data;
+    });
+    this_.getDicts("st_in_type").then((response) => {
+      this_.businessInTypeOption = response.data;
+      this_.getDicts("st_out_type").then((response) => {
+        this_.businessOutTypeOption = response.data;
+        this_.getDicts("st_trans_type").then((response) => {
+          this_.businessTransTypeOption = response.data;
+          this_.merge(
+              this_.businessOutTypeOption,
+              this_.businessInTypeOption,
+              this_.businessTransTypeOption
+          );
+        });
+      });
+    });
+    let queryParams = {pageNum: 1, dc: "C"};
+    listFees(queryParams).then((response) => {
+      this.cNameOptions = response.rows;
+    });
+    let query = {pageNum: 1, dc: "D"};
+    listFees(query).then((response) => {
+      this.dNameOptions = response.rows;
+    });
+    // 获取客户名称下拉
+    getFName(queryParams).then((response) => {
+      this.nameOptions = response.data;
+    });
+    // 业务员获取
+    selectUserByRole().then((res) => {
+      this.salesmanOption = res.rows;
+    });
+    this.getDicts("data_unitfees").then((response) => {
+      if (response.data) {
+        this.jFeetunitOptions = response.data;
+      }
+    });
+    this.getRow();
+    if (this.sysType == 3) {
+      this.tableDate.push(
+          {
+            surface: "10",
+            label: "vslid",
+            name: "船名",
+            checked: 0,
+            width: 200,
+          },
+          {
+            surface: "11",
+            label: "voyid",
+            name: "航次",
+            checked: 0,
+            width: 200,
+          }
+      );
+    }
+  },
+  mounted() {
+  },
+  methods: {
+    //自定义列保存
+    async saveColumn(ref, option, optionBack, code) {
+      /**
+       * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
+       * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
+       * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
+       */
+      const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
+      if (inSave) {
+        this.$message.success("保存成功");
+        //关闭窗口
+        this.$refs[ref].$refs.dialogColumn.columnBox = false;
+      }
+    },
+    //自定义列重置
+    async resetColumn(ref, option, optionBack, code) {
+      this[option] = this[optionBack];
+      const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
+      if (inSave) {
+        this.$message.success("重置成功");
+        this.$refs[ref].$refs.dialogColumn.columnBox = false;
+      }
+    },
+    //列设置全选
+    allChecked() {
+      if (this.allCheck == true) {
+        this.setRowList.map((e) => {
+          return (e.checked = 0);
+        });
+      } else {
+        this.setRowList.map((e) => {
+          return (e.checked = 1);
+        });
+      }
+    },
+    //查询列数据
+    getRow() {
+      let that = this;
+      this.data = {
+        tableName: "利润总账",
+        userId: Cookies.get("userName"),
+      };
+      select(this.data).then((res) => {
+        if (res.data.length != 0) {
+          this.getRowList = res.data.filter((e) => e.checked == 0);
+          this.setRowList = res.data;
+          this.setRowList = this.setRowList.reduce((res, item) => {
+            res.push({
+              surface: item.surface,
+              label: item.label,
+              name: item.name,
+              checked: item.checked,
+              width: item.width,
+              fixed: item.fixed,
+            });
+            return res;
+          }, []);
+        }
+      });
+    },
+    delRow() {
+      this.data = {
+        tableName: "利润总账",
+        userId: Cookies.get("userName"),
+      };
+      resetModule(this.data).then((res) => {
+        if (res.code == 200) {
+          this.showSetting = false;
+          this.setRowList = this.tableDate;
+          this.getRowList = this.tableDate;
+        }
+      });
+    },
+    //保存列设置
+    save() {
+      this.showSetting = false;
+      this.data = {
+        tableName: "利润总账",
+        userId: Cookies.get("userName"),
+        sysTableSetList: this.setRowList,
+      };
+      addSet(this.data).then((res) => {
+        if (res.code == 200) {
+          this.showSetting = false;
+          this.getRowList = this.setRowList.filter((e) => e.checked == 0);
+        }
+      });
+    },
+    //开始拖拽事件
+    onStart() {
+      this.drag = true;
+    },
+    //拖拽结束事件
+    onEnd() {
+      this.drag = false;
+    },
+    getSum(param) {
+      const {columns, data} = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = "总计";
+        } else if (column.label == '应收金额' || column.label == '应付金额' || column.label == '利润') {
+          const values = data.map((item) => Number(item[column.property]));
+          if (!values.every((value) => isNaN(value))) {
+            sums[index] = values.reduce((prev, curr) => {
+              const value = Number(curr);
+              if (!isNaN(value)) {
+                return (Number(prev) + Number(curr)).toFixed(2);
+              } else {
+                return Number(prev).toFixed(2);
+              }
+            }, 0);
+          }
+        }
+      });
+      return sums;
+    },
+
+    // 贸易方式(数据字典),对���t_trademodels 字典翻译
+    trademodeidFormat(row, column) {
+      return this.selectDictLabel(this.trademodeidOptions, row.trademodeid);
+    },
+    /* 远程模糊查询仓库 */
+    warehouseRemoteMethod(name) {
+      if (name == null || name === "") {
+        return false;
+      }
+      let queryParams = {pageNum: 1, pageSize: 10, name: name};
+      listWarehouse(queryParams).then((response) => {
+        this.warehouseOptions = response.rows;
+      });
+    },
+    /* 远程模糊查询费用名称 */
+    wRemoteMethod(name) {
+      // if (name == null || name === "") {
+      //   return false;
+      // }
+      let queryParams = {pageNum: 1, name: name};
+      console.log(queryParams);
+      listFees(queryParams).then((response) => {
+        this.wbuOptions = response.rows;
+        console.log(response);
+      });
+    },
+    /* 远程模糊查询库区 */
+    kqhouseRemoteMethod(name) {
+      if (name == null || name === "") {
+        return false;
+      }
+      if (!this.queryParams.warehouseid) {
+        this.$message.error("请输入仓库!");
+        return false;
+      }
+
+      let queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        warehouseid: this.queryParams.warehouseid,
+        name: name,
+      };
+      listArea(queryParams).then((response) => {
+        this.kqhouseOptions = response.rows;
+      });
+    },
+    /* 远程模糊查询商品 */
+    goodsRemoteMethod(name) {
+      if (name == null || name === "") {
+        return false;
+      }
+      let queryParams = {pageNum: 1, pageSize: 10, name: name};
+      listGoods(queryParams).then((response) => {
+        this.goodsOptions = response.rows;
+      });
+    },
+    /* 远程模糊查询用户 */
+    corpsRemoteMethod(name) {
+      if (name == null || name === "") {
+        return false;
+      }
+      let queryParams = {pageNum: 1, pageSize: 10, name: name};
+      listCorps(queryParams).then((response) => {
+        this.mblnoOptions = response.rows;
+        this.KHblnoOptions = response.rows;
+      });
+    },
+    merge(index, list, err) {
+      this.businessTypeOption = this.businessTypeOption.concat(
+          index,
+          list,
+          err
+      );
+    },
+    /** 查询库存总账列表 */
+    getList() {
+      this.loading = true;
+      this.getDicts("approval_process").then((response) => {
+        this.options = response.data;
+      });
+      listpayable(this.queryParams).then((response) => {
+        this.receivableList = response.rows;
+        this.total = response.total;
+        if (this.sysType == 3) {
+          this.receivableList.forEach((item) => {
+            this.$set(item, "dataList", []);
+            this.$set(item, "loading", true);
+          });
+        }
+        this.loading = false;
+      });
+    },
+
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        accyear: null,
+        id: null,
+        accmonth: null,
+        corpid: null,
+        mblno: null,
+        originalbillno: null,
+        warehouseLocationid: null,
+        goodsid: null,
+        trademodeid: null,
+        preqty: null,
+        pregrossweight: null,
+        prenetweight: null,
+        qtyd: null,
+        volumnd: null,
+        grossweightd: null,
+        netweightd: null,
+        volumnc: null,
+        qtyc: null,
+        qtyblc: null,
+        grossweightc: null,
+        netweightc: null,
+        grossweightblc: null,
+        netweightblc: null,
+        cntrno: null,
+        status: "0",
+        delFlag: null,
+        createBy: null,
+        marks: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        remark: null,
+      };
+      this.resetForm("form");
+    },
+    // 搜索重置
+    resetQueryParams() {
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 50,
+        corpid: null,
+        mblno: null,
+        timeExamine: null,
+        toCorpid: null,
+        productName: null,
+        marks: null,
+        reconciliation: null,
+        billstatus: null,
+        businessType: null,
+        feeid: null,
+        groupBy: 1,
+      };
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      // this.resetForm('queryForm')
+      this.resetQueryParams();
+      this.handleQuery();
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加库存总账";
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          if (this.form.accyear != null) {
+            updateWhgenleg(this.form).then((response) => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addWhgenleg(this.form).then((response) => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm("是否确认导出所有利润总账数据项?", "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+          .then(function () {
+            return exportWhgenleg(queryParams);
+          })
+          .then((response) => {
+            this.download(response.msg);
+          });
+    },
+    //获取船名
+    vessleRemthod() {
+      getVesselName().then((response) => {
+        this.vesselOptions = response.rows;
+      });
+    },
+    // 获取航次
+    voyageRemthods() {
+      getVoyageName().then((response) => {
+        this.voyageOptions = response.rows;
+      });
+    },
+    // 表格展开
+    expandChange(row, index) {
+      console.log(row.mblno);
+      if (row.loading == true) {
+        selectListDC(row.mblno).then((res) => {
+          row.dataList = res.data;
+          row.loading = false;
+        });
+      }
+    },
+  },
+};
+</script>
+<style lang="scss">
+.tabSetting {
+  display: flex;
+  justify-content: flex-end;
+}
+
+.listStyle {
+  display: flex;
+  border-top: 1px solid #dcdfe6;
+  border-left: 1px solid #dcdfe6;
+  border-right: 1px solid #dcdfe6;
+}
+
+.listStyle:last-child {
+  border-bottom: 1px solid #dcdfe6;
+}
+
+.progress {
+  display: flex;
+  align-items: center;
+  padding: 2px;
+  background-color: rgba(0, 0, 0, 0.05);
+  height: 100%;
+}
+</style>

+ 30 - 3
src/views/statisticAnalysis/statistics/index.vue

@@ -4,7 +4,9 @@
       <avue-crud
           ref="crud"
           :option="option"
-          :data="whgenlegList">
+          :data="whgenlegList"
+          @resetColumn="resetColumn('crud','option','optionList',180)"
+          @saveColumn="saveColumn('crud','option','optionList',180)">
         <template slot="menuLeft">
           <el-button
               type="warning"
@@ -515,7 +517,8 @@ export default {
   },
   data() {
     return {
-      option: {
+      option:{},
+      optionList: {
         border: true,
         align: 'center',
         stripe: true,
@@ -839,7 +842,8 @@ export default {
       allCheck: false,
     };
   },
-  created() {
+  async created() {
+    this.option = await this.getColumnData(this.getColumnName(180), this.optionList);
     // let date = new Date();
     // let year = parseInt(date.getFullYear())
     // let month = parseInt(date.getMonth() + 1)
@@ -874,6 +878,29 @@ export default {
     })
   },
   methods: {
+    //自定义列保存
+    async saveColumn(ref, option, optionBack, code) {
+      /**
+       * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
+       * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
+       * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
+       */
+      const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
+      if (inSave) {
+        this.$message.success("保存成功");
+        //关闭窗口
+        this.$refs[ref].$refs.dialogColumn.columnBox = false;
+      }
+    },
+    //自定义列重置
+    async resetColumn(ref, option, optionBack, code) {
+      this[option] = this[optionBack];
+      const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
+      if (inSave) {
+        this.$message.success("重置成功");
+        this.$refs[ref].$refs.dialogColumn.columnBox = false;
+      }
+    },
     //列设置全选
     allChecked() {
       if (this.allCheck == true) {

Разница между файлами не показана из-за своего большого размера
+ 561 - 140
src/views/warehousing/inAndOutStock/AddOrUpdate.vue


+ 2 - 1
src/views/warehousing/inAndOutStock/index.vue

@@ -1293,7 +1293,8 @@ export default {
     },
     showAddOrUpdate(data) {
       if (data) {
-        this.getList();
+        //正式后要调用查询接口
+        // this.getList();
         this.pageShow = true;
         this.pageShow2 = false;
       }

Некоторые файлы не были показаны из-за большого количества измененных файлов