fix: 修改结算管理菜单
This commit is contained in:
		
							parent
							
								
									60ecd8015d
								
							
						
					
					
						commit
						02ba78a6a9
					
				| 
						 | 
				
			
			@ -1,16 +1,16 @@
 | 
			
		|||
import { getUUID } from '@/utils'
 | 
			
		||||
import { getUUID } from "@/utils";
 | 
			
		||||
export default {
 | 
			
		||||
  msg: 'success',
 | 
			
		||||
  msg: "success",
 | 
			
		||||
  menuList: [
 | 
			
		||||
    {
 | 
			
		||||
      menuId: getUUID(),
 | 
			
		||||
      parentId: 0,
 | 
			
		||||
      parentName: null,
 | 
			
		||||
      name: '账号权限管理',
 | 
			
		||||
      url: 'operation-management/permission',
 | 
			
		||||
      perms: 'operation-management:permission',
 | 
			
		||||
      name: "账号权限管理",
 | 
			
		||||
      url: "operation-management/permission",
 | 
			
		||||
      perms: "operation-management:permission",
 | 
			
		||||
      type: 0,
 | 
			
		||||
      elIcon: 'el-icon-key',
 | 
			
		||||
      elIcon: "el-icon-key",
 | 
			
		||||
      orderNum: 0,
 | 
			
		||||
      open: null,
 | 
			
		||||
      list: [
 | 
			
		||||
| 
						 | 
				
			
			@ -18,11 +18,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '子经营者管理',
 | 
			
		||||
          url: 'operation-management/permission/sub-operator/index',
 | 
			
		||||
          perms: 'operation-management:permission:sub-operator:index',
 | 
			
		||||
          name: "子经营者管理",
 | 
			
		||||
          url: "operation-management/permission/sub-operator/index",
 | 
			
		||||
          perms: "operation-management:permission:sub-operator:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-user',
 | 
			
		||||
          elIcon: "el-icon-user",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -31,11 +31,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '商户账号管理',
 | 
			
		||||
          url: 'operation-management/permission/merchant-account/index',
 | 
			
		||||
          perms: 'operation-management:permission:merchant-account:index',
 | 
			
		||||
          name: "商户账号管理",
 | 
			
		||||
          url: "operation-management/permission/merchant-account/index",
 | 
			
		||||
          perms: "operation-management:permission:merchant-account:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-s-custom',
 | 
			
		||||
          elIcon: "el-icon-s-custom",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -46,11 +46,11 @@ export default {
 | 
			
		|||
      menuId: getUUID(),
 | 
			
		||||
      parentId: 0,
 | 
			
		||||
      parentName: null,
 | 
			
		||||
      name: '订单管理',
 | 
			
		||||
      url: 'operation-management/order/index',
 | 
			
		||||
      perms: 'operation-management:order:index',
 | 
			
		||||
      name: "订单管理",
 | 
			
		||||
      url: "operation-management/order/index",
 | 
			
		||||
      perms: "operation-management:order:index",
 | 
			
		||||
      type: 1,
 | 
			
		||||
      elIcon: 'el-icon-document',
 | 
			
		||||
      elIcon: "el-icon-document",
 | 
			
		||||
      orderNum: 0,
 | 
			
		||||
      open: null,
 | 
			
		||||
      list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -59,11 +59,11 @@ export default {
 | 
			
		|||
      menuId: getUUID(),
 | 
			
		||||
      parentId: 0,
 | 
			
		||||
      parentName: null,
 | 
			
		||||
      name: '商品管理',
 | 
			
		||||
      url: 'operation-management/commodity/index',
 | 
			
		||||
      perms: 'operation-management:commodity:index',
 | 
			
		||||
      name: "商品管理",
 | 
			
		||||
      url: "operation-management/commodity/index",
 | 
			
		||||
      perms: "operation-management:commodity:index",
 | 
			
		||||
      type: 1,
 | 
			
		||||
      elIcon: 'el-icon-goods',
 | 
			
		||||
      elIcon: "el-icon-goods",
 | 
			
		||||
      orderNum: 0,
 | 
			
		||||
      open: null,
 | 
			
		||||
      list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -72,11 +72,11 @@ export default {
 | 
			
		|||
      menuId: getUUID(),
 | 
			
		||||
      parentId: 0,
 | 
			
		||||
      parentName: null,
 | 
			
		||||
      name: '数据分析',
 | 
			
		||||
      url: 'datacenter',
 | 
			
		||||
      perms: 'datacenter',
 | 
			
		||||
      name: "数据分析",
 | 
			
		||||
      url: "datacenter",
 | 
			
		||||
      perms: "datacenter",
 | 
			
		||||
      type: 0,
 | 
			
		||||
      elIcon: 'el-icon-s-data',
 | 
			
		||||
      elIcon: "el-icon-s-data",
 | 
			
		||||
      orderNum: 0,
 | 
			
		||||
      open: null,
 | 
			
		||||
      list: [
 | 
			
		||||
| 
						 | 
				
			
			@ -84,11 +84,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '订单分析',
 | 
			
		||||
          url: 'datacenter/order-analysis/index',
 | 
			
		||||
          perms: 'datacenter:order-analysis:index',
 | 
			
		||||
          name: "订单分析",
 | 
			
		||||
          url: "datacenter/order-analysis/index",
 | 
			
		||||
          perms: "datacenter:order-analysis:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-shopping-cart-full',
 | 
			
		||||
          elIcon: "el-icon-shopping-cart-full",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -97,11 +97,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '商品分析',
 | 
			
		||||
          url: 'datacenter/product-analysis/index',
 | 
			
		||||
          perms: 'datacenter:product-analysis:index',
 | 
			
		||||
          name: "商品分析",
 | 
			
		||||
          url: "datacenter/product-analysis/index",
 | 
			
		||||
          perms: "datacenter:product-analysis:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-data-analysis',
 | 
			
		||||
          elIcon: "el-icon-data-analysis",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -110,11 +110,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '客户分析',
 | 
			
		||||
          url: 'datacenter/customer-analysis/index',
 | 
			
		||||
          perms: 'datacenter:customer-analysis:index',
 | 
			
		||||
          name: "客户分析",
 | 
			
		||||
          url: "datacenter/customer-analysis/index",
 | 
			
		||||
          perms: "datacenter:customer-analysis:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-user',
 | 
			
		||||
          elIcon: "el-icon-user",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -125,11 +125,11 @@ export default {
 | 
			
		|||
      menuId: getUUID(),
 | 
			
		||||
      parentId: 0,
 | 
			
		||||
      parentName: null,
 | 
			
		||||
      name: '内容管理',
 | 
			
		||||
      url: 'content-management',
 | 
			
		||||
      perms: 'content-management',
 | 
			
		||||
      name: "内容管理",
 | 
			
		||||
      url: "content-management",
 | 
			
		||||
      perms: "content-management",
 | 
			
		||||
      type: 0,
 | 
			
		||||
      elIcon: 'el-icon-edit',
 | 
			
		||||
      elIcon: "el-icon-edit",
 | 
			
		||||
      orderNum: 0,
 | 
			
		||||
      open: null,
 | 
			
		||||
      list: [
 | 
			
		||||
| 
						 | 
				
			
			@ -137,11 +137,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '公告管理',
 | 
			
		||||
          url: 'operation-management/notice/index',
 | 
			
		||||
          perms: 'operation-management:notice:index',
 | 
			
		||||
          name: "公告管理",
 | 
			
		||||
          url: "operation-management/notice/index",
 | 
			
		||||
          perms: "operation-management:notice:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-bell',
 | 
			
		||||
          elIcon: "el-icon-bell",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -150,11 +150,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '购物须知管理',
 | 
			
		||||
          url: 'operation-management/paynotice/index',
 | 
			
		||||
          perms: 'operation-management:paynotice:index',
 | 
			
		||||
          name: "购物须知管理",
 | 
			
		||||
          url: "operation-management/paynotice/index",
 | 
			
		||||
          perms: "operation-management:paynotice:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-warning',
 | 
			
		||||
          elIcon: "el-icon-warning",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -163,11 +163,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '轮播图管理',
 | 
			
		||||
          url: 'operation-management/banner/index',
 | 
			
		||||
          perms: 'operation-management:banner:index',
 | 
			
		||||
          name: "轮播图管理",
 | 
			
		||||
          url: "operation-management/banner/index",
 | 
			
		||||
          perms: "operation-management:banner:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-picture',
 | 
			
		||||
          elIcon: "el-icon-picture",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -204,11 +204,11 @@ export default {
 | 
			
		|||
      menuId: getUUID(),
 | 
			
		||||
      parentId: 0,
 | 
			
		||||
      parentName: null,
 | 
			
		||||
      name: '菜市场管理',
 | 
			
		||||
      url: 'market',
 | 
			
		||||
      perms: 'market',
 | 
			
		||||
      name: "菜市场管理",
 | 
			
		||||
      url: "market",
 | 
			
		||||
      perms: "market",
 | 
			
		||||
      type: 0,
 | 
			
		||||
      elIcon: 'el-icon-office-building',
 | 
			
		||||
      elIcon: "el-icon-office-building",
 | 
			
		||||
      orderNum: 0,
 | 
			
		||||
      open: null,
 | 
			
		||||
      list: [
 | 
			
		||||
| 
						 | 
				
			
			@ -216,11 +216,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '摊位列表',
 | 
			
		||||
          url: 'market/stall/index',
 | 
			
		||||
          perms: 'market:stall:index',
 | 
			
		||||
          name: "摊位列表",
 | 
			
		||||
          url: "market/stall/index",
 | 
			
		||||
          perms: "market:stall:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-s-shop',
 | 
			
		||||
          elIcon: "el-icon-s-shop",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -229,11 +229,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '专员列表',
 | 
			
		||||
          url: 'market/assistant/index',
 | 
			
		||||
          perms: 'market:assistant:index',
 | 
			
		||||
          name: "专员列表",
 | 
			
		||||
          url: "market/assistant/index",
 | 
			
		||||
          perms: "market:assistant:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-user-solid',
 | 
			
		||||
          elIcon: "el-icon-user-solid",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -242,11 +242,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '市场基础配置',
 | 
			
		||||
          url: 'market/config/index',
 | 
			
		||||
          perms: 'market:config:index',
 | 
			
		||||
          name: "市场基础配置",
 | 
			
		||||
          url: "market/config/index",
 | 
			
		||||
          perms: "market:config:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-setting',
 | 
			
		||||
          elIcon: "el-icon-setting",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -255,11 +255,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '同城运费配置',
 | 
			
		||||
          url: 'market/city/index',
 | 
			
		||||
          perms: 'market:city:index',
 | 
			
		||||
          name: "同城运费配置",
 | 
			
		||||
          url: "market/city/index",
 | 
			
		||||
          perms: "market:city:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-map-location',
 | 
			
		||||
          elIcon: "el-icon-map-location",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -294,11 +294,11 @@ export default {
 | 
			
		|||
      menuId: getUUID(),
 | 
			
		||||
      parentId: 0,
 | 
			
		||||
      parentName: null,
 | 
			
		||||
      name: '运营管理',
 | 
			
		||||
      url: 'operation-management',
 | 
			
		||||
      perms: 'operation-management',
 | 
			
		||||
      name: "运营管理",
 | 
			
		||||
      url: "operation-management",
 | 
			
		||||
      perms: "operation-management",
 | 
			
		||||
      type: 0,
 | 
			
		||||
      elIcon: 'el-icon-s-shop',
 | 
			
		||||
      elIcon: "el-icon-s-shop",
 | 
			
		||||
      orderNum: 0,
 | 
			
		||||
      open: null,
 | 
			
		||||
      list: [
 | 
			
		||||
| 
						 | 
				
			
			@ -306,11 +306,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '市场列表',
 | 
			
		||||
          url: 'operation-management/market-list/index',
 | 
			
		||||
          perms: 'operation-management:market-list:index',
 | 
			
		||||
          name: "市场列表",
 | 
			
		||||
          url: "operation-management/market-list/index",
 | 
			
		||||
          perms: "operation-management:market-list:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-office-building',
 | 
			
		||||
          elIcon: "el-icon-office-building",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -319,11 +319,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '店铺列表',
 | 
			
		||||
          url: 'operation-management/shop-list/index',
 | 
			
		||||
          perms: 'operation-management:shop-list:index',
 | 
			
		||||
          name: "店铺列表",
 | 
			
		||||
          url: "operation-management/shop-list/index",
 | 
			
		||||
          perms: "operation-management:shop-list:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-s-shop',
 | 
			
		||||
          elIcon: "el-icon-s-shop",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -332,11 +332,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '品牌店铺',
 | 
			
		||||
          url: 'operation-management/brand-store/index',
 | 
			
		||||
          perms: 'operation-management:brand-store:index',
 | 
			
		||||
          name: "品牌店铺",
 | 
			
		||||
          url: "operation-management/brand-store/index",
 | 
			
		||||
          perms: "operation-management:brand-store:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-medal',
 | 
			
		||||
          elIcon: "el-icon-medal",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -345,11 +345,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '品牌市场',
 | 
			
		||||
          url: 'operation-management/brand-market/index',
 | 
			
		||||
          perms: 'operation-management:brand-market:index',
 | 
			
		||||
          name: "品牌市场",
 | 
			
		||||
          url: "operation-management/brand-market/index",
 | 
			
		||||
          perms: "operation-management:brand-market:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-medal-1',
 | 
			
		||||
          elIcon: "el-icon-medal-1",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -358,11 +358,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '分销商列表',
 | 
			
		||||
          url: 'operation-management/distributor/index',
 | 
			
		||||
          perms: 'operation-management:distributor:index',
 | 
			
		||||
          name: "分销商列表",
 | 
			
		||||
          url: "operation-management/distributor/index",
 | 
			
		||||
          perms: "operation-management:distributor:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-connection',
 | 
			
		||||
          elIcon: "el-icon-connection",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -371,11 +371,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '总订单管理',
 | 
			
		||||
          url: 'operation-management/total-order/index',
 | 
			
		||||
          perms: 'operation-management:total-order:index',
 | 
			
		||||
          name: "总订单管理",
 | 
			
		||||
          url: "operation-management/total-order/index",
 | 
			
		||||
          perms: "operation-management:total-order:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-tickets',
 | 
			
		||||
          elIcon: "el-icon-tickets",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: [],
 | 
			
		||||
| 
						 | 
				
			
			@ -385,11 +385,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '品牌订单管理',
 | 
			
		||||
          url: 'operation-management/brand-order/index',
 | 
			
		||||
          perms: 'operation-management:brand-order:index',
 | 
			
		||||
          name: "品牌订单管理",
 | 
			
		||||
          url: "operation-management/brand-order/index",
 | 
			
		||||
          perms: "operation-management:brand-order:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-document',
 | 
			
		||||
          elIcon: "el-icon-document",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -427,11 +427,11 @@ export default {
 | 
			
		|||
      menuId: getUUID(),
 | 
			
		||||
      parentId: 0,
 | 
			
		||||
      parentName: null,
 | 
			
		||||
      name: '银行卡管理',
 | 
			
		||||
      url: 'bank-card/index',
 | 
			
		||||
      perms: 'bank-card:index',
 | 
			
		||||
      name: "银行卡管理",
 | 
			
		||||
      url: "bank-card/index",
 | 
			
		||||
      perms: "bank-card:index",
 | 
			
		||||
      type: 0,
 | 
			
		||||
      elIcon: 'el-icon-bank-card',
 | 
			
		||||
      elIcon: "el-icon-bank-card",
 | 
			
		||||
      orderNum: 0,
 | 
			
		||||
      open: null,
 | 
			
		||||
      list: [],
 | 
			
		||||
| 
						 | 
				
			
			@ -441,11 +441,11 @@ export default {
 | 
			
		|||
      menuId: getUUID(),
 | 
			
		||||
      parentId: 0,
 | 
			
		||||
      parentName: null,
 | 
			
		||||
      name: '品牌管理',
 | 
			
		||||
      url: 'brand',
 | 
			
		||||
      perms: 'brand',
 | 
			
		||||
      name: "品牌管理",
 | 
			
		||||
      url: "brand",
 | 
			
		||||
      perms: "brand",
 | 
			
		||||
      type: 0,
 | 
			
		||||
      elIcon: 'el-icon-medal',
 | 
			
		||||
      elIcon: "el-icon-medal",
 | 
			
		||||
      orderNum: 0,
 | 
			
		||||
      open: null,
 | 
			
		||||
      list: [
 | 
			
		||||
| 
						 | 
				
			
			@ -453,11 +453,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '品牌管理',
 | 
			
		||||
          url: 'brand/config/index',
 | 
			
		||||
          perms: 'brand:config:index',
 | 
			
		||||
          name: "品牌管理",
 | 
			
		||||
          url: "brand/config/index",
 | 
			
		||||
          perms: "brand:config:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-medal',
 | 
			
		||||
          elIcon: "el-icon-medal",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -468,11 +468,11 @@ export default {
 | 
			
		|||
      menuId: getUUID(),
 | 
			
		||||
      parentId: 0,
 | 
			
		||||
      parentName: null,
 | 
			
		||||
      name: '结算管理',
 | 
			
		||||
      url: 'settle',
 | 
			
		||||
      perms: 'settle',
 | 
			
		||||
      name: "结算管理",
 | 
			
		||||
      url: "settle",
 | 
			
		||||
      perms: "settle",
 | 
			
		||||
      type: 0,
 | 
			
		||||
      elIcon: 'el-icon-office-building',
 | 
			
		||||
      elIcon: "el-icon-office-building",
 | 
			
		||||
      orderNum: 0,
 | 
			
		||||
      open: null,
 | 
			
		||||
      list: [
 | 
			
		||||
| 
						 | 
				
			
			@ -480,11 +480,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '待结算管理',
 | 
			
		||||
          url: 'settle/unsettle',
 | 
			
		||||
          perms: 'settle:unsettle',
 | 
			
		||||
          name: "结算明细管理",
 | 
			
		||||
          url: "settle/unsettle",
 | 
			
		||||
          perms: "settle:unsettle",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-document-checked',
 | 
			
		||||
          elIcon: "el-icon-document-checked",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -493,24 +493,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '金额管理',
 | 
			
		||||
          url: 'settle/money',
 | 
			
		||||
          perms: 'settle:money',
 | 
			
		||||
          name: "金额查看",
 | 
			
		||||
          url: "settle/money",
 | 
			
		||||
          perms: "settle:money",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-coin',
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '钱包管理',
 | 
			
		||||
          url: 'settle/wallet',
 | 
			
		||||
          perms: 'settle:wallet',
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-wallet',
 | 
			
		||||
          elIcon: "el-icon-coin",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -521,11 +508,11 @@ export default {
 | 
			
		|||
      menuId: getUUID(),
 | 
			
		||||
      parentId: 0,
 | 
			
		||||
      parentName: null,
 | 
			
		||||
      name: '优惠卷营销工具管理',
 | 
			
		||||
      url: 'coupon/index',
 | 
			
		||||
      perms: 'coupon:index',
 | 
			
		||||
      name: "优惠卷营销工具管理",
 | 
			
		||||
      url: "coupon/index",
 | 
			
		||||
      perms: "coupon:index",
 | 
			
		||||
      type: 0,
 | 
			
		||||
      elIcon: 'el-icon-present',
 | 
			
		||||
      elIcon: "el-icon-present",
 | 
			
		||||
      orderNum: 0,
 | 
			
		||||
      open: null,
 | 
			
		||||
      list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -534,11 +521,11 @@ export default {
 | 
			
		|||
      menuId: getUUID(),
 | 
			
		||||
      parentId: 0,
 | 
			
		||||
      parentName: null,
 | 
			
		||||
      name: '预售营销工具管理',
 | 
			
		||||
      url: 'presale',
 | 
			
		||||
      perms: 'presale',
 | 
			
		||||
      name: "预售营销工具管理",
 | 
			
		||||
      url: "presale",
 | 
			
		||||
      perms: "presale",
 | 
			
		||||
      type: 0,
 | 
			
		||||
      elIcon: 'el-icon-alarm-clock',
 | 
			
		||||
      elIcon: "el-icon-alarm-clock",
 | 
			
		||||
      orderNum: 0,
 | 
			
		||||
      open: null,
 | 
			
		||||
      list: [
 | 
			
		||||
| 
						 | 
				
			
			@ -546,11 +533,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '预售商品',
 | 
			
		||||
          url: 'presale/products/index',
 | 
			
		||||
          perms: 'presale:products:index',
 | 
			
		||||
          name: "预售商品",
 | 
			
		||||
          url: "presale/products/index",
 | 
			
		||||
          perms: "presale:products:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-goods',
 | 
			
		||||
          elIcon: "el-icon-goods",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -559,11 +546,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '预售订单',
 | 
			
		||||
          url: 'presale/order/index',
 | 
			
		||||
          perms: 'presale:order:index',
 | 
			
		||||
          name: "预售订单",
 | 
			
		||||
          url: "presale/order/index",
 | 
			
		||||
          perms: "presale:order:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-document',
 | 
			
		||||
          elIcon: "el-icon-document",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -574,11 +561,11 @@ export default {
 | 
			
		|||
      menuId: getUUID(),
 | 
			
		||||
      parentId: 0,
 | 
			
		||||
      parentName: null,
 | 
			
		||||
      name: '等级明细',
 | 
			
		||||
      url: 'marketing-level/detail',
 | 
			
		||||
      perms: 'marketing-level:detail',
 | 
			
		||||
      name: "等级明细",
 | 
			
		||||
      url: "marketing-level/detail",
 | 
			
		||||
      perms: "marketing-level:detail",
 | 
			
		||||
      type: 1,
 | 
			
		||||
      elIcon: 'el-icon-user',
 | 
			
		||||
      elIcon: "el-icon-user",
 | 
			
		||||
      orderNum: 0,
 | 
			
		||||
      open: null,
 | 
			
		||||
      list: [],
 | 
			
		||||
| 
						 | 
				
			
			@ -588,11 +575,11 @@ export default {
 | 
			
		|||
      menuId: getUUID(),
 | 
			
		||||
      parentId: 0,
 | 
			
		||||
      parentName: null,
 | 
			
		||||
      name: '会员营销工具管理',
 | 
			
		||||
      url: 'marketing',
 | 
			
		||||
      perms: 'marketing',
 | 
			
		||||
      name: "会员营销工具管理",
 | 
			
		||||
      url: "marketing",
 | 
			
		||||
      perms: "marketing",
 | 
			
		||||
      type: 0,
 | 
			
		||||
      elIcon: 'el-icon-user',
 | 
			
		||||
      elIcon: "el-icon-user",
 | 
			
		||||
      orderNum: 0,
 | 
			
		||||
      open: null,
 | 
			
		||||
      list: [
 | 
			
		||||
| 
						 | 
				
			
			@ -600,11 +587,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '等级设置',
 | 
			
		||||
          url: 'marketing/level/index',
 | 
			
		||||
          perms: 'marketing:level:index',
 | 
			
		||||
          name: "等级设置",
 | 
			
		||||
          url: "marketing/level/index",
 | 
			
		||||
          perms: "marketing:level:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-user',
 | 
			
		||||
          elIcon: "el-icon-user",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -614,11 +601,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '会员列表',
 | 
			
		||||
          url: 'marketing/user/index',
 | 
			
		||||
          perms: 'marketing:user:index',
 | 
			
		||||
          name: "会员列表",
 | 
			
		||||
          url: "marketing/user/index",
 | 
			
		||||
          perms: "marketing:user:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-data-analysis',
 | 
			
		||||
          elIcon: "el-icon-data-analysis",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -640,11 +627,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '积分商品',
 | 
			
		||||
          url: 'marketing/points-mall/index',
 | 
			
		||||
          perms: 'marketing:points-mall:index',
 | 
			
		||||
          name: "积分商品",
 | 
			
		||||
          url: "marketing/points-mall/index",
 | 
			
		||||
          perms: "marketing:points-mall:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-goods',
 | 
			
		||||
          elIcon: "el-icon-goods",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -653,11 +640,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '积分订单',
 | 
			
		||||
          url: 'marketing/points-order/index',
 | 
			
		||||
          perms: 'marketing:points-order:index',
 | 
			
		||||
          name: "积分订单",
 | 
			
		||||
          url: "marketing/points-order/index",
 | 
			
		||||
          perms: "marketing:points-order:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-document',
 | 
			
		||||
          elIcon: "el-icon-document",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -668,11 +655,11 @@ export default {
 | 
			
		|||
      menuId: getUUID(),
 | 
			
		||||
      parentId: 0,
 | 
			
		||||
      parentName: null,
 | 
			
		||||
      name: '代理商',
 | 
			
		||||
      url: 'agent',
 | 
			
		||||
      perms: 'agent',
 | 
			
		||||
      name: "代理商",
 | 
			
		||||
      url: "agent",
 | 
			
		||||
      perms: "agent",
 | 
			
		||||
      type: 0,
 | 
			
		||||
      elIcon: 'el-icon-tickets',
 | 
			
		||||
      elIcon: "el-icon-tickets",
 | 
			
		||||
      orderNum: 0,
 | 
			
		||||
      open: null,
 | 
			
		||||
      list: [
 | 
			
		||||
| 
						 | 
				
			
			@ -680,11 +667,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '数据面板',
 | 
			
		||||
          url: 'agent/data-panel/index',
 | 
			
		||||
          perms: 'agent:data-panel:index',
 | 
			
		||||
          name: "数据面板",
 | 
			
		||||
          url: "agent/data-panel/index",
 | 
			
		||||
          perms: "agent:data-panel:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-s-data',
 | 
			
		||||
          elIcon: "el-icon-s-data",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -693,11 +680,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '品牌管理',
 | 
			
		||||
          url: 'agent/brand/index',
 | 
			
		||||
          perms: 'agent:brand:index',
 | 
			
		||||
          name: "品牌管理",
 | 
			
		||||
          url: "agent/brand/index",
 | 
			
		||||
          perms: "agent:brand:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-medal',
 | 
			
		||||
          elIcon: "el-icon-medal",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -706,11 +693,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '报表',
 | 
			
		||||
          url: 'agent/report-form/index',
 | 
			
		||||
          perms: 'agent:report-form:index',
 | 
			
		||||
          name: "报表",
 | 
			
		||||
          url: "agent/report-form/index",
 | 
			
		||||
          perms: "agent:report-form:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-data-analysis',
 | 
			
		||||
          elIcon: "el-icon-data-analysis",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -719,11 +706,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '权限管理',
 | 
			
		||||
          url: 'agent/jurisdiction/index',
 | 
			
		||||
          perms: 'agent:jurisdiction:index',
 | 
			
		||||
          name: "权限管理",
 | 
			
		||||
          url: "agent/jurisdiction/index",
 | 
			
		||||
          perms: "agent:jurisdiction:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-key',
 | 
			
		||||
          elIcon: "el-icon-key",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -735,11 +722,11 @@ export default {
 | 
			
		|||
      menuId: getUUID(),
 | 
			
		||||
      parentId: 0,
 | 
			
		||||
      parentName: null,
 | 
			
		||||
      name: '钱包管理',
 | 
			
		||||
      url: 'local-course/resources',
 | 
			
		||||
      perms: 'wallet',
 | 
			
		||||
      name: "钱包管理",
 | 
			
		||||
      url: "local-course/resources",
 | 
			
		||||
      perms: "wallet",
 | 
			
		||||
      type: 0,
 | 
			
		||||
      elIcon: 'el-icon-wallet',
 | 
			
		||||
      elIcon: "el-icon-wallet",
 | 
			
		||||
      orderNum: 0,
 | 
			
		||||
      open: null,
 | 
			
		||||
      list: [
 | 
			
		||||
| 
						 | 
				
			
			@ -747,11 +734,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '我的钱包',
 | 
			
		||||
          url: 'wallet/index',
 | 
			
		||||
          perms: 'wallet:index',
 | 
			
		||||
          name: "我的钱包",
 | 
			
		||||
          url: "wallet/index",
 | 
			
		||||
          perms: "wallet:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-wallet',
 | 
			
		||||
          elIcon: "el-icon-wallet",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -762,11 +749,11 @@ export default {
 | 
			
		|||
      menuId: getUUID(),
 | 
			
		||||
      parentId: 0,
 | 
			
		||||
      parentName: null,
 | 
			
		||||
      name: '运费管理',
 | 
			
		||||
      url: 'ogistics-fare',
 | 
			
		||||
      perms: 'ogistics-fare',
 | 
			
		||||
      name: "运费管理",
 | 
			
		||||
      url: "ogistics-fare",
 | 
			
		||||
      perms: "ogistics-fare",
 | 
			
		||||
      type: 0,
 | 
			
		||||
      elIcon: 'el-icon-truck',
 | 
			
		||||
      elIcon: "el-icon-truck",
 | 
			
		||||
      orderNum: 0,
 | 
			
		||||
      open: null,
 | 
			
		||||
      list: [
 | 
			
		||||
| 
						 | 
				
			
			@ -774,11 +761,11 @@ export default {
 | 
			
		|||
          menuId: getUUID(),
 | 
			
		||||
          parentId: 0,
 | 
			
		||||
          parentName: null,
 | 
			
		||||
          name: '运费模板',
 | 
			
		||||
          url: 'logistics-fare/logistics-template/index',
 | 
			
		||||
          perms: 'logistics-fare:logistics-template:index',
 | 
			
		||||
          name: "运费模板",
 | 
			
		||||
          url: "logistics-fare/logistics-template/index",
 | 
			
		||||
          perms: "logistics-fare:logistics-template:index",
 | 
			
		||||
          type: 1,
 | 
			
		||||
          elIcon: 'el-icon-document-copy',
 | 
			
		||||
          elIcon: "el-icon-document-copy",
 | 
			
		||||
          orderNum: 0,
 | 
			
		||||
          open: null,
 | 
			
		||||
          list: []
 | 
			
		||||
| 
						 | 
				
			
			@ -842,4 +829,4 @@ export default {
 | 
			
		|||
  ],
 | 
			
		||||
  code: 0,
 | 
			
		||||
  permissions: []
 | 
			
		||||
}
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,18 +42,17 @@
 | 
			
		|||
          <!-- 搜索区域 -->
 | 
			
		||||
          <div class="search-section">
 | 
			
		||||
            <el-form
 | 
			
		||||
              ref="incomeSearchForm"
 | 
			
		||||
              :model="incomeSearchForm"
 | 
			
		||||
              :inline="true"
 | 
			
		||||
              ref="incomeSearchForm"
 | 
			
		||||
              class="search-form"
 | 
			
		||||
              size="small"
 | 
			
		||||
            >
 | 
			
		||||
              <el-form-item label="订单ID" prop="orderId">
 | 
			
		||||
              <el-form-item label="结算订单ID" prop="orderId">
 | 
			
		||||
                <el-input
 | 
			
		||||
                  v-model="incomeSearchForm.orderId"
 | 
			
		||||
                  placeholder="请输入订单ID"
 | 
			
		||||
                  placeholder="请输入结算订单ID"
 | 
			
		||||
                  clearable
 | 
			
		||||
                  @clear="handleIncomeSearchClear"
 | 
			
		||||
                  style="width: 200px"
 | 
			
		||||
                />
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
| 
						 | 
				
			
			@ -71,16 +70,16 @@
 | 
			
		|||
              <el-form-item>
 | 
			
		||||
                <el-button
 | 
			
		||||
                  type="primary"
 | 
			
		||||
                  @click="handleIncomeSearch"
 | 
			
		||||
                  icon="el-icon-search"
 | 
			
		||||
                  size="small"
 | 
			
		||||
                  @click="handleIncomeSearch"
 | 
			
		||||
                >
 | 
			
		||||
                  搜索
 | 
			
		||||
                </el-button>
 | 
			
		||||
                <el-button
 | 
			
		||||
                  @click="handleIncomeReset"
 | 
			
		||||
                  icon="el-icon-refresh"
 | 
			
		||||
                  size="small"
 | 
			
		||||
                  @click="handleIncomeReset"
 | 
			
		||||
                >
 | 
			
		||||
                  重置
 | 
			
		||||
                </el-button>
 | 
			
		||||
| 
						 | 
				
			
			@ -91,14 +90,14 @@
 | 
			
		|||
          <!-- 表格区域 -->
 | 
			
		||||
          <el-table
 | 
			
		||||
            ref="incomeTable"
 | 
			
		||||
            v-loading="incomeLoading"
 | 
			
		||||
            :data="incomeDataList"
 | 
			
		||||
            border
 | 
			
		||||
            style="width: 100%"
 | 
			
		||||
            v-loading="incomeLoading"
 | 
			
		||||
          >
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              type="index"
 | 
			
		||||
              width="60"
 | 
			
		||||
              width="70"
 | 
			
		||||
              align="center"
 | 
			
		||||
              label="序号"
 | 
			
		||||
            />
 | 
			
		||||
| 
						 | 
				
			
			@ -106,16 +105,17 @@
 | 
			
		|||
              prop="orderId"
 | 
			
		||||
              label="订单ID"
 | 
			
		||||
              align="center"
 | 
			
		||||
              min-width="150"
 | 
			
		||||
              width="180"
 | 
			
		||||
              show-overflow-tooltip
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="orderAmount"
 | 
			
		||||
              label="订单金额"
 | 
			
		||||
              align="center"
 | 
			
		||||
              width="130"
 | 
			
		||||
              width="140"
 | 
			
		||||
            >
 | 
			
		||||
              <template slot-scope="scope">
 | 
			
		||||
                <span style="font-weight: 600">
 | 
			
		||||
                <span style="font-weight: 600; font-size: 14px">
 | 
			
		||||
                  ¥{{ scope.row.orderAmount.toFixed(2) }}
 | 
			
		||||
                </span>
 | 
			
		||||
              </template>
 | 
			
		||||
| 
						 | 
				
			
			@ -124,16 +124,16 @@
 | 
			
		|||
              prop="orderTime"
 | 
			
		||||
              label="订单时间"
 | 
			
		||||
              align="center"
 | 
			
		||||
              min-width="160"
 | 
			
		||||
              width="170"
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="incomeAmount"
 | 
			
		||||
              label="收入金额"
 | 
			
		||||
              align="center"
 | 
			
		||||
              width="130"
 | 
			
		||||
              width="140"
 | 
			
		||||
            >
 | 
			
		||||
              <template slot-scope="scope">
 | 
			
		||||
                <span style="color: #52c41a; font-weight: 600">
 | 
			
		||||
                <span style="color: #52c41a; font-weight: 600; font-size: 14px">
 | 
			
		||||
                  + ¥{{ scope.row.incomeAmount.toFixed(2) }}
 | 
			
		||||
                </span>
 | 
			
		||||
              </template>
 | 
			
		||||
| 
						 | 
				
			
			@ -142,14 +142,14 @@
 | 
			
		|||
 | 
			
		||||
          <!-- 分页 -->
 | 
			
		||||
          <el-pagination
 | 
			
		||||
            @size-change="handleIncomeSizeChange"
 | 
			
		||||
            @current-change="handleIncomeCurrentChange"
 | 
			
		||||
            :current-page="incomePageInfo.pageNumber"
 | 
			
		||||
            :page-sizes="[10, 20, 50, 100]"
 | 
			
		||||
            :page-size="incomePageInfo.pageSize"
 | 
			
		||||
            layout="total, sizes, prev, pager, next, jumper"
 | 
			
		||||
            :total="incomePageInfo.total"
 | 
			
		||||
            class="pagination-container"
 | 
			
		||||
            @size-change="handleIncomeSizeChange"
 | 
			
		||||
            @current-change="handleIncomeCurrentChange"
 | 
			
		||||
          />
 | 
			
		||||
        </el-tab-pane>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -158,9 +158,9 @@
 | 
			
		|||
          <!-- 搜索区域 -->
 | 
			
		||||
          <div class="search-section">
 | 
			
		||||
            <el-form
 | 
			
		||||
              ref="expenseSearchForm"
 | 
			
		||||
              :model="expenseSearchForm"
 | 
			
		||||
              :inline="true"
 | 
			
		||||
              ref="expenseSearchForm"
 | 
			
		||||
              class="search-form"
 | 
			
		||||
              size="small"
 | 
			
		||||
            >
 | 
			
		||||
| 
						 | 
				
			
			@ -169,7 +169,6 @@
 | 
			
		|||
                  v-model="expenseSearchForm.settlementId"
 | 
			
		||||
                  placeholder="请输入结算明细ID"
 | 
			
		||||
                  clearable
 | 
			
		||||
                  @clear="handleExpenseSearchClear"
 | 
			
		||||
                  style="width: 180px"
 | 
			
		||||
                />
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
| 
						 | 
				
			
			@ -178,7 +177,6 @@
 | 
			
		|||
                  v-model="expenseSearchForm.clearingId"
 | 
			
		||||
                  placeholder="请输入清算明细ID"
 | 
			
		||||
                  clearable
 | 
			
		||||
                  @clear="handleExpenseSearchClear"
 | 
			
		||||
                  style="width: 180px"
 | 
			
		||||
                />
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
| 
						 | 
				
			
			@ -187,7 +185,6 @@
 | 
			
		|||
                  v-model="expenseSearchForm.targetId"
 | 
			
		||||
                  placeholder="请输入支出对象ID"
 | 
			
		||||
                  clearable
 | 
			
		||||
                  @clear="handleExpenseSearchClear"
 | 
			
		||||
                  style="width: 180px"
 | 
			
		||||
                />
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
| 
						 | 
				
			
			@ -205,34 +202,33 @@
 | 
			
		|||
              <el-form-item>
 | 
			
		||||
                <el-button
 | 
			
		||||
                  type="primary"
 | 
			
		||||
                  @click="handleExpenseSearch"
 | 
			
		||||
                  icon="el-icon-search"
 | 
			
		||||
                  size="small"
 | 
			
		||||
                  @click="handleExpenseSearch"
 | 
			
		||||
                >
 | 
			
		||||
                  搜索
 | 
			
		||||
                </el-button>
 | 
			
		||||
                <el-button
 | 
			
		||||
                  @click="handleExpenseReset"
 | 
			
		||||
                  icon="el-icon-refresh"
 | 
			
		||||
                  size="small"
 | 
			
		||||
                  @click="handleExpenseReset"
 | 
			
		||||
                >
 | 
			
		||||
                  重置
 | 
			
		||||
                </el-button>
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
            </el-form>
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <!-- 表格区域 -->
 | 
			
		||||
          <el-table
 | 
			
		||||
            ref="expenseTable"
 | 
			
		||||
            v-loading="expenseLoading"
 | 
			
		||||
            :data="expenseDataList"
 | 
			
		||||
            border
 | 
			
		||||
            style="width: 100%"
 | 
			
		||||
            v-loading="expenseLoading"
 | 
			
		||||
          >
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              type="index"
 | 
			
		||||
              width="60"
 | 
			
		||||
              width="70"
 | 
			
		||||
              align="center"
 | 
			
		||||
              label="序号"
 | 
			
		||||
            />
 | 
			
		||||
| 
						 | 
				
			
			@ -240,23 +236,32 @@
 | 
			
		|||
              prop="settlementId"
 | 
			
		||||
              label="结算明细ID"
 | 
			
		||||
              align="center"
 | 
			
		||||
              min-width="140"
 | 
			
		||||
              width="160"
 | 
			
		||||
              show-overflow-tooltip
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="clearingId"
 | 
			
		||||
              label="清算明细ID"
 | 
			
		||||
              align="center"
 | 
			
		||||
              min-width="140"
 | 
			
		||||
              width="160"
 | 
			
		||||
              show-overflow-tooltip
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="orderNumber"
 | 
			
		||||
              label="结算订单号"
 | 
			
		||||
              align="center"
 | 
			
		||||
              width="160"
 | 
			
		||||
              show-overflow-tooltip
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="settlementAmount"
 | 
			
		||||
              label="结算金额"
 | 
			
		||||
              align="center"
 | 
			
		||||
              width="130"
 | 
			
		||||
              width="140"
 | 
			
		||||
            >
 | 
			
		||||
              <template slot-scope="scope">
 | 
			
		||||
                <span style="color: #ff4d4f; font-weight: 600">
 | 
			
		||||
                  - ¥{{ scope.row.settlementAmount.toFixed(2) }}
 | 
			
		||||
                <span style="color: #ff4d4f; font-weight: 600; font-size: 14px">
 | 
			
		||||
                  ¥{{ scope.row.settlementAmount.toFixed(2) }}
 | 
			
		||||
                </span>
 | 
			
		||||
              </template>
 | 
			
		||||
            </el-table-column>
 | 
			
		||||
| 
						 | 
				
			
			@ -264,437 +269,398 @@
 | 
			
		|||
              prop="settlementTime"
 | 
			
		||||
              label="结算时间"
 | 
			
		||||
              align="center"
 | 
			
		||||
              min-width="160"
 | 
			
		||||
              width="170"
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="targetId"
 | 
			
		||||
              label="支出对象ID"
 | 
			
		||||
              align="center"
 | 
			
		||||
              min-width="120"
 | 
			
		||||
              width="140"
 | 
			
		||||
              show-overflow-tooltip
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="targetRole"
 | 
			
		||||
              label="支出对象角色"
 | 
			
		||||
              align="center"
 | 
			
		||||
              width="120"
 | 
			
		||||
              width="130"
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="expenseTime"
 | 
			
		||||
              label="支出时间"
 | 
			
		||||
              align="center"
 | 
			
		||||
              min-width="160"
 | 
			
		||||
              width="170"
 | 
			
		||||
            />
 | 
			
		||||
          </el-table>
 | 
			
		||||
 | 
			
		||||
          <!-- 分页 -->
 | 
			
		||||
          <el-pagination
 | 
			
		||||
            @size-change="handleExpenseSizeChange"
 | 
			
		||||
            @current-change="handleExpenseCurrentChange"
 | 
			
		||||
            :current-page="expensePageInfo.pageNumber"
 | 
			
		||||
            :page-sizes="[10, 20, 50, 100]"
 | 
			
		||||
            :page-size="expensePageInfo.pageSize"
 | 
			
		||||
            layout="total, sizes, prev, pager, next, jumper"
 | 
			
		||||
            :total="expensePageInfo.total"
 | 
			
		||||
            class="pagination-container"
 | 
			
		||||
            @size-change="handleExpenseSizeChange"
 | 
			
		||||
            @current-change="handleExpenseCurrentChange"
 | 
			
		||||
          />
 | 
			
		||||
        </el-tab-pane>
 | 
			
		||||
 | 
			
		||||
        <!-- 提取到钱包Tab -->
 | 
			
		||||
        <el-tab-pane label="提取到钱包" name="extract">
 | 
			
		||||
          <!-- 操作区域 -->
 | 
			
		||||
          <div class="action-section">
 | 
			
		||||
            <el-button type="primary" size="medium" @click="openExtractDialog">
 | 
			
		||||
              提取可用金额到钱包余额
 | 
			
		||||
            </el-button>
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <!-- 表格区域 -->
 | 
			
		||||
          <el-table
 | 
			
		||||
            ref="extractTable"
 | 
			
		||||
            v-loading="extractLoading"
 | 
			
		||||
            :data="extractDataList"
 | 
			
		||||
            border
 | 
			
		||||
            style="width: 100%"
 | 
			
		||||
          >
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              type="index"
 | 
			
		||||
              width="70"
 | 
			
		||||
              align="center"
 | 
			
		||||
              label="序号"
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="amount"
 | 
			
		||||
              label="操作金额"
 | 
			
		||||
              align="center"
 | 
			
		||||
              width="150"
 | 
			
		||||
            >
 | 
			
		||||
              <template slot-scope="scope">
 | 
			
		||||
                <span style="color: #52c41a; font-weight: 600; font-size: 14px">
 | 
			
		||||
                  ¥{{ scope.row.amount.toFixed(2) }}
 | 
			
		||||
                </span>
 | 
			
		||||
              </template>
 | 
			
		||||
            </el-table-column>
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="afterAvailableAmount"
 | 
			
		||||
              label="提取后可用金额余额"
 | 
			
		||||
              align="center"
 | 
			
		||||
              width="190"
 | 
			
		||||
            >
 | 
			
		||||
              <template slot-scope="scope">
 | 
			
		||||
                <span style="font-weight: 600; font-size: 14px">
 | 
			
		||||
                  ¥{{ scope.row.afterAvailableAmount.toFixed(2) }}
 | 
			
		||||
                </span>
 | 
			
		||||
              </template>
 | 
			
		||||
            </el-table-column>
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="time"
 | 
			
		||||
              label="操作时间"
 | 
			
		||||
              align="center"
 | 
			
		||||
              width="170"
 | 
			
		||||
            />
 | 
			
		||||
          </el-table>
 | 
			
		||||
 | 
			
		||||
          <!-- 分页 -->
 | 
			
		||||
          <el-pagination
 | 
			
		||||
            :current-page="extractPageInfo.pageNumber"
 | 
			
		||||
            :page-sizes="[10, 20, 50, 100]"
 | 
			
		||||
            :page-size="extractPageInfo.pageSize"
 | 
			
		||||
            layout="total, sizes, prev, pager, next, jumper"
 | 
			
		||||
            :total="extractPageInfo.total"
 | 
			
		||||
            class="pagination-container"
 | 
			
		||||
            @size-change="handleExtractSizeChange"
 | 
			
		||||
            @current-change="handleExtractCurrentChange"
 | 
			
		||||
          />
 | 
			
		||||
        </el-tab-pane>
 | 
			
		||||
      </el-tabs>
 | 
			
		||||
    </el-card>
 | 
			
		||||
 | 
			
		||||
    <!-- 提取到钱包弹窗 -->
 | 
			
		||||
    <el-dialog
 | 
			
		||||
      title="提取可用金额到钱包余额"
 | 
			
		||||
      :visible.sync="extractDialogVisible"
 | 
			
		||||
      width="500px"
 | 
			
		||||
      :close-on-click-modal="false"
 | 
			
		||||
    >
 | 
			
		||||
      <el-form
 | 
			
		||||
        ref="extractForm"
 | 
			
		||||
        :model="extractForm"
 | 
			
		||||
        :rules="extractRules"
 | 
			
		||||
        label-width="100px"
 | 
			
		||||
      >
 | 
			
		||||
        <el-form-item label="提取金额" prop="amount">
 | 
			
		||||
          <el-input-number
 | 
			
		||||
            v-model="extractForm.amount"
 | 
			
		||||
            :min="0.01"
 | 
			
		||||
            :max="statsInfo.availableAmount"
 | 
			
		||||
            :precision="2"
 | 
			
		||||
            :step="0.01"
 | 
			
		||||
            controls-position="right"
 | 
			
		||||
            style="width: 100%"
 | 
			
		||||
            placeholder="请输入提取金额"
 | 
			
		||||
          />
 | 
			
		||||
          <div style="margin-top: 8px; font-size: 12px; color: #999">
 | 
			
		||||
            当前可用金额:¥{{ statsInfo.availableAmount.toFixed(2) }}
 | 
			
		||||
          </div>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-form>
 | 
			
		||||
      <div slot="footer" class="dialog-footer">
 | 
			
		||||
        <el-button @click="extractDialogVisible = false">取消</el-button>
 | 
			
		||||
        <el-button
 | 
			
		||||
          type="primary"
 | 
			
		||||
          :loading="extractSubmitLoading"
 | 
			
		||||
          @click="handleExtractSubmit"
 | 
			
		||||
        >
 | 
			
		||||
          确定
 | 
			
		||||
        </el-button>
 | 
			
		||||
      </div>
 | 
			
		||||
    </el-dialog>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
export default {
 | 
			
		||||
  name: "MoneyManagement",
 | 
			
		||||
  name: 'MoneyManagement',
 | 
			
		||||
  data() {
 | 
			
		||||
    const validateExtractAmount = (rule, value, callback) => {
 | 
			
		||||
      if (!value || value <= 0) {
 | 
			
		||||
        callback(new Error('请输入有效的金额'))
 | 
			
		||||
      } else if (value > this.statsInfo.availableAmount) {
 | 
			
		||||
        callback(new Error('可用金额不足'))
 | 
			
		||||
      } else {
 | 
			
		||||
        callback()
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return {
 | 
			
		||||
      // 当前激活的标签页
 | 
			
		||||
      activeTab: "income",
 | 
			
		||||
      // 统计信息
 | 
			
		||||
      activeTab: 'income',
 | 
			
		||||
      statsInfo: {
 | 
			
		||||
        frozenAmount: 5280.0,
 | 
			
		||||
        availableAmount: 23450.5,
 | 
			
		||||
        walletBalance: 28730.5
 | 
			
		||||
      },
 | 
			
		||||
      // 收入搜索表单
 | 
			
		||||
      incomeSearchForm: {
 | 
			
		||||
        orderId: "",
 | 
			
		||||
        orderId: '',
 | 
			
		||||
        dateRange: null
 | 
			
		||||
      },
 | 
			
		||||
      // 收入表格数据
 | 
			
		||||
      incomeDataList: [],
 | 
			
		||||
      // 收入分页信息
 | 
			
		||||
      incomePageInfo: {
 | 
			
		||||
        pageNumber: 1,
 | 
			
		||||
        pageSize: 10,
 | 
			
		||||
        total: 0
 | 
			
		||||
      },
 | 
			
		||||
      // 收入加载状态
 | 
			
		||||
      incomeLoading: false,
 | 
			
		||||
      // 支出搜索表单
 | 
			
		||||
      expenseSearchForm: {
 | 
			
		||||
        settlementId: "",
 | 
			
		||||
        clearingId: "",
 | 
			
		||||
        targetId: "",
 | 
			
		||||
        settlementId: '',
 | 
			
		||||
        clearingId: '',
 | 
			
		||||
        targetId: '',
 | 
			
		||||
        dateRange: null
 | 
			
		||||
      },
 | 
			
		||||
      // 支出表格数据
 | 
			
		||||
      expenseDataList: [],
 | 
			
		||||
      // 支出分页信息
 | 
			
		||||
      expensePageInfo: {
 | 
			
		||||
        pageNumber: 1,
 | 
			
		||||
        pageSize: 10,
 | 
			
		||||
        total: 0
 | 
			
		||||
      },
 | 
			
		||||
      // 支出加载状态
 | 
			
		||||
      expenseLoading: false
 | 
			
		||||
    };
 | 
			
		||||
      expenseLoading: false,
 | 
			
		||||
      extractDataList: [],
 | 
			
		||||
      extractPageInfo: {
 | 
			
		||||
        pageNumber: 1,
 | 
			
		||||
        pageSize: 10,
 | 
			
		||||
        total: 0
 | 
			
		||||
      },
 | 
			
		||||
      extractLoading: false,
 | 
			
		||||
      extractDialogVisible: false,
 | 
			
		||||
      extractSubmitLoading: false,
 | 
			
		||||
      extractForm: {
 | 
			
		||||
        amount: null
 | 
			
		||||
      },
 | 
			
		||||
      extractRules: {
 | 
			
		||||
        amount: [
 | 
			
		||||
          { required: true, message: '请输入提取金额', trigger: 'blur' },
 | 
			
		||||
          { validator: validateExtractAmount, trigger: 'blur' }
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
    marketId() {
 | 
			
		||||
      return this.$store.state.userData.marketId
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  created() {
 | 
			
		||||
    this.fetchStatsInfo();
 | 
			
		||||
    this.fetchIncomeData();
 | 
			
		||||
    this.fetchStatsInfo()
 | 
			
		||||
    this.fetchIncomeData()
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    // 获取统计信息
 | 
			
		||||
    async fetchStatsInfo() {
 | 
			
		||||
      try {
 | 
			
		||||
        // TODO: 调用实际的API接口获取统计信息
 | 
			
		||||
        // const res = await this.$api.mer_admin.getMoneyStats();
 | 
			
		||||
        // this.statsInfo = res.data.data;
 | 
			
		||||
 | 
			
		||||
        // 模拟数据
 | 
			
		||||
        this.statsInfo = {
 | 
			
		||||
          frozenAmount: 5280.0,
 | 
			
		||||
          availableAmount: 23450.5,
 | 
			
		||||
          walletBalance: 28730.5
 | 
			
		||||
        };
 | 
			
		||||
        }
 | 
			
		||||
      } catch (error) {
 | 
			
		||||
        console.error("获取统计信息失败:", error);
 | 
			
		||||
        this.$message.error("获取统计信息失败");
 | 
			
		||||
        console.error('获取统计信息失败:', error)
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 标签页切换
 | 
			
		||||
    handleTabClick(tab) {
 | 
			
		||||
      if (tab.name === "income") {
 | 
			
		||||
        this.fetchIncomeData();
 | 
			
		||||
      } else if (tab.name === "expense") {
 | 
			
		||||
        this.fetchExpenseData();
 | 
			
		||||
      if (tab.name === 'income') {
 | 
			
		||||
        this.fetchIncomeData()
 | 
			
		||||
      } else if (tab.name === 'expense') {
 | 
			
		||||
        this.fetchExpenseData()
 | 
			
		||||
      } else if (tab.name === 'extract') {
 | 
			
		||||
        this.fetchExtractData()
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // ==================== 收入相关方法 ====================
 | 
			
		||||
 | 
			
		||||
    // 获取收入数据
 | 
			
		||||
    fetchIncomeData() {
 | 
			
		||||
      this.incomeLoading = true;
 | 
			
		||||
      const marketId = this.marketId;
 | 
			
		||||
      if (!marketId) {
 | 
			
		||||
        this.$message.error("获取市场ID失败,请重新登录");
 | 
			
		||||
        this.$router.push("/login");
 | 
			
		||||
        return;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      const params = {
 | 
			
		||||
        pageNumber: this.incomePageInfo.pageNumber,
 | 
			
		||||
        pageSize: this.incomePageInfo.pageSize,
 | 
			
		||||
        marketId,
 | 
			
		||||
        ...this.buildIncomeSearchParams()
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      // TODO: 调用实际的API接口获取收入列表
 | 
			
		||||
      // this.$api.mer_admin
 | 
			
		||||
      //   .getIncomeList(params)
 | 
			
		||||
      //   .then(res => {
 | 
			
		||||
      //     if (res.data && res.data.data) {
 | 
			
		||||
      //       this.incomeDataList = res.data.data.data || [];
 | 
			
		||||
      //       this.incomePageInfo.total = Number(res.data.data.total) || 0;
 | 
			
		||||
      //     }
 | 
			
		||||
      //   })
 | 
			
		||||
      //   .catch(err => {
 | 
			
		||||
      //     console.error("获取收入数据失败:", err);
 | 
			
		||||
      //     this.$message.error("获取收入数据失败");
 | 
			
		||||
      //   })
 | 
			
		||||
      //   .finally(() => {
 | 
			
		||||
      //     this.incomeLoading = false;
 | 
			
		||||
      //   });
 | 
			
		||||
 | 
			
		||||
      // 模拟数据
 | 
			
		||||
      this.incomeLoading = true
 | 
			
		||||
      setTimeout(() => {
 | 
			
		||||
        const mockData = [
 | 
			
		||||
        this.incomeDataList = [
 | 
			
		||||
          {
 | 
			
		||||
            orderId: "ORD202501310001",
 | 
			
		||||
            orderId: 'SET202501310001',
 | 
			
		||||
            orderAmount: 1280.0,
 | 
			
		||||
            orderTime: "2025-01-31 10:30:25",
 | 
			
		||||
            orderTime: '2025-01-31 10:30:25',
 | 
			
		||||
            incomeAmount: 1280.0
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            orderId: "ORD202501310002",
 | 
			
		||||
            orderAmount: 850.5,
 | 
			
		||||
            orderTime: "2025-01-31 11:15:42",
 | 
			
		||||
            incomeAmount: 850.5
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            orderId: "ORD202501310003",
 | 
			
		||||
            orderAmount: 2100.0,
 | 
			
		||||
            orderTime: "2025-01-31 14:20:18",
 | 
			
		||||
            incomeAmount: 2100.0
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            orderId: "ORD202501300001",
 | 
			
		||||
            orderAmount: 560.0,
 | 
			
		||||
            orderTime: "2025-01-30 09:45:33",
 | 
			
		||||
            incomeAmount: 560.0
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            orderId: "ORD202501300002",
 | 
			
		||||
            orderAmount: 1450.0,
 | 
			
		||||
            orderTime: "2025-01-30 16:28:56",
 | 
			
		||||
            incomeAmount: 1450.0
 | 
			
		||||
          }
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
        // 应用搜索过滤
 | 
			
		||||
        let filteredData = mockData;
 | 
			
		||||
        const searchParams = this.buildIncomeSearchParams();
 | 
			
		||||
        if (searchParams.orderId) {
 | 
			
		||||
          filteredData = filteredData.filter(item =>
 | 
			
		||||
            item.orderId.includes(searchParams.orderId)
 | 
			
		||||
          );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this.incomeDataList = filteredData;
 | 
			
		||||
        this.incomePageInfo.total = 127; // 模拟总数
 | 
			
		||||
        this.incomeLoading = false;
 | 
			
		||||
      }, 500);
 | 
			
		||||
        ]
 | 
			
		||||
        this.incomePageInfo.total = 127
 | 
			
		||||
        this.incomeLoading = false
 | 
			
		||||
      }, 500)
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 构建收入搜索参数
 | 
			
		||||
    buildIncomeSearchParams() {
 | 
			
		||||
      const params = {};
 | 
			
		||||
      if (this.incomeSearchForm.orderId) {
 | 
			
		||||
        params.orderId = this.incomeSearchForm.orderId;
 | 
			
		||||
      }
 | 
			
		||||
      if (
 | 
			
		||||
        this.incomeSearchForm.dateRange &&
 | 
			
		||||
        this.incomeSearchForm.dateRange.length === 2
 | 
			
		||||
      ) {
 | 
			
		||||
        params.startDate = this.incomeSearchForm.dateRange[0];
 | 
			
		||||
        params.endDate = this.incomeSearchForm.dateRange[1];
 | 
			
		||||
      }
 | 
			
		||||
      return params;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 收入搜索
 | 
			
		||||
    handleIncomeSearch() {
 | 
			
		||||
      this.incomePageInfo.pageNumber = 1;
 | 
			
		||||
      this.fetchIncomeData();
 | 
			
		||||
      this.incomePageInfo.pageNumber = 1
 | 
			
		||||
      this.fetchIncomeData()
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 收入清除搜索
 | 
			
		||||
    handleIncomeSearchClear() {
 | 
			
		||||
      this.handleIncomeSearch();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 收入重置
 | 
			
		||||
    handleIncomeReset() {
 | 
			
		||||
      this.incomeSearchForm = {
 | 
			
		||||
        orderId: "",
 | 
			
		||||
        dateRange: null
 | 
			
		||||
      };
 | 
			
		||||
      this.incomePageInfo.pageNumber = 1;
 | 
			
		||||
      this.fetchIncomeData();
 | 
			
		||||
      this.incomeSearchForm = { orderId: '', dateRange: null }
 | 
			
		||||
      this.incomePageInfo.pageNumber = 1
 | 
			
		||||
      this.fetchIncomeData()
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 收入分页大小改变
 | 
			
		||||
    handleIncomeSizeChange(val) {
 | 
			
		||||
      this.incomePageInfo.pageSize = val;
 | 
			
		||||
      this.incomePageInfo.pageNumber = 1;
 | 
			
		||||
      this.fetchIncomeData();
 | 
			
		||||
      this.incomePageInfo.pageSize = val
 | 
			
		||||
      this.incomePageInfo.pageNumber = 1
 | 
			
		||||
      this.fetchIncomeData()
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 收入当前页改变
 | 
			
		||||
    handleIncomeCurrentChange(val) {
 | 
			
		||||
      this.incomePageInfo.pageNumber = val;
 | 
			
		||||
      this.fetchIncomeData();
 | 
			
		||||
      this.incomePageInfo.pageNumber = val
 | 
			
		||||
      this.fetchIncomeData()
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // ==================== 支出相关方法 ====================
 | 
			
		||||
 | 
			
		||||
    // 获取支出数据
 | 
			
		||||
    fetchExpenseData() {
 | 
			
		||||
      this.expenseLoading = true;
 | 
			
		||||
      const marketId = this.marketId;
 | 
			
		||||
      if (!marketId) {
 | 
			
		||||
        this.$message.error("获取市场ID失败,请重新登录");
 | 
			
		||||
        this.$router.push("/login");
 | 
			
		||||
        return;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      const params = {
 | 
			
		||||
        pageNumber: this.expensePageInfo.pageNumber,
 | 
			
		||||
        pageSize: this.expensePageInfo.pageSize,
 | 
			
		||||
        marketId,
 | 
			
		||||
        ...this.buildExpenseSearchParams()
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      // TODO: 调用实际的API接口获取支出列表
 | 
			
		||||
      // this.$api.mer_admin
 | 
			
		||||
      //   .getExpenseList(params)
 | 
			
		||||
      //   .then(res => {
 | 
			
		||||
      //     if (res.data && res.data.data) {
 | 
			
		||||
      //       this.expenseDataList = res.data.data.data || [];
 | 
			
		||||
      //       this.expensePageInfo.total = Number(res.data.data.total) || 0;
 | 
			
		||||
      //     }
 | 
			
		||||
      //   })
 | 
			
		||||
      //   .catch(err => {
 | 
			
		||||
      //     console.error("获取支出数据失败:", err);
 | 
			
		||||
      //     this.$message.error("获取支出数据失败");
 | 
			
		||||
      //   })
 | 
			
		||||
      //   .finally(() => {
 | 
			
		||||
      //     this.expenseLoading = false;
 | 
			
		||||
      //   });
 | 
			
		||||
 | 
			
		||||
      // 模拟数据
 | 
			
		||||
      this.expenseLoading = true
 | 
			
		||||
      setTimeout(() => {
 | 
			
		||||
        const mockData = [
 | 
			
		||||
        this.expenseDataList = [
 | 
			
		||||
          {
 | 
			
		||||
            settlementId: "SET202501310001",
 | 
			
		||||
            clearingId: "CLR202501310001",
 | 
			
		||||
            settlementId: 'SET202501310001',
 | 
			
		||||
            clearingId: 'CLR202501310001',
 | 
			
		||||
            orderNumber: 'ORD202501310001',
 | 
			
		||||
            settlementAmount: 320.0,
 | 
			
		||||
            settlementTime: "2025-01-31 15:30:20",
 | 
			
		||||
            targetId: "SUP100256",
 | 
			
		||||
            targetRole: "供应商",
 | 
			
		||||
            expenseTime: "2025-01-31 15:30:25"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            settlementId: "SET202501310002",
 | 
			
		||||
            clearingId: "CLR202501310002",
 | 
			
		||||
            settlementAmount: 580.5,
 | 
			
		||||
            settlementTime: "2025-01-31 16:15:35",
 | 
			
		||||
            targetId: "DRV100128",
 | 
			
		||||
            targetRole: "配送员",
 | 
			
		||||
            expenseTime: "2025-01-31 16:15:40"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            settlementId: "SET202501310003",
 | 
			
		||||
            clearingId: "CLR202501310003",
 | 
			
		||||
            settlementAmount: 1200.0,
 | 
			
		||||
            settlementTime: "2025-01-31 17:20:18",
 | 
			
		||||
            targetId: "SUP100328",
 | 
			
		||||
            targetRole: "供应商",
 | 
			
		||||
            expenseTime: "2025-01-31 17:20:22"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            settlementId: "SET202501300001",
 | 
			
		||||
            clearingId: "CLR202501300001",
 | 
			
		||||
            settlementAmount: 450.0,
 | 
			
		||||
            settlementTime: "2025-01-30 10:45:33",
 | 
			
		||||
            targetId: "PLT100045",
 | 
			
		||||
            targetRole: "平台",
 | 
			
		||||
            expenseTime: "2025-01-30 10:45:38"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            settlementId: "SET202501300002",
 | 
			
		||||
            clearingId: "CLR202501300002",
 | 
			
		||||
            settlementAmount: 280.0,
 | 
			
		||||
            settlementTime: "2025-01-30 14:28:56",
 | 
			
		||||
            targetId: "DRV100089",
 | 
			
		||||
            targetRole: "配送员",
 | 
			
		||||
            expenseTime: "2025-01-30 14:29:00"
 | 
			
		||||
            settlementTime: '2025-01-31 15:30:20',
 | 
			
		||||
            targetId: 'SUP100256',
 | 
			
		||||
            targetRole: '供应商',
 | 
			
		||||
            expenseTime: '2025-01-31 15:30:25'
 | 
			
		||||
          }
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
        // 应用搜索过滤
 | 
			
		||||
        let filteredData = mockData;
 | 
			
		||||
        const searchParams = this.buildExpenseSearchParams();
 | 
			
		||||
        if (searchParams.settlementId) {
 | 
			
		||||
          filteredData = filteredData.filter(item =>
 | 
			
		||||
            item.settlementId.includes(searchParams.settlementId)
 | 
			
		||||
          );
 | 
			
		||||
        }
 | 
			
		||||
        if (searchParams.clearingId) {
 | 
			
		||||
          filteredData = filteredData.filter(item =>
 | 
			
		||||
            item.clearingId.includes(searchParams.clearingId)
 | 
			
		||||
          );
 | 
			
		||||
        }
 | 
			
		||||
        if (searchParams.targetId) {
 | 
			
		||||
          filteredData = filteredData.filter(item =>
 | 
			
		||||
            item.targetId.includes(searchParams.targetId)
 | 
			
		||||
          );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this.expenseDataList = filteredData;
 | 
			
		||||
        this.expensePageInfo.total = 85; // 模拟总数
 | 
			
		||||
        this.expenseLoading = false;
 | 
			
		||||
      }, 500);
 | 
			
		||||
        ]
 | 
			
		||||
        this.expensePageInfo.total = 85
 | 
			
		||||
        this.expenseLoading = false
 | 
			
		||||
      }, 500)
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 构建支出搜索参数
 | 
			
		||||
    buildExpenseSearchParams() {
 | 
			
		||||
      const params = {};
 | 
			
		||||
      if (this.expenseSearchForm.settlementId) {
 | 
			
		||||
        params.settlementId = this.expenseSearchForm.settlementId;
 | 
			
		||||
      }
 | 
			
		||||
      if (this.expenseSearchForm.clearingId) {
 | 
			
		||||
        params.clearingId = this.expenseSearchForm.clearingId;
 | 
			
		||||
      }
 | 
			
		||||
      if (this.expenseSearchForm.targetId) {
 | 
			
		||||
        params.targetId = this.expenseSearchForm.targetId;
 | 
			
		||||
      }
 | 
			
		||||
      if (
 | 
			
		||||
        this.expenseSearchForm.dateRange &&
 | 
			
		||||
        this.expenseSearchForm.dateRange.length === 2
 | 
			
		||||
      ) {
 | 
			
		||||
        params.startDate = this.expenseSearchForm.dateRange[0];
 | 
			
		||||
        params.endDate = this.expenseSearchForm.dateRange[1];
 | 
			
		||||
      }
 | 
			
		||||
      return params;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 支出搜索
 | 
			
		||||
    handleExpenseSearch() {
 | 
			
		||||
      this.expensePageInfo.pageNumber = 1;
 | 
			
		||||
      this.fetchExpenseData();
 | 
			
		||||
      this.expensePageInfo.pageNumber = 1
 | 
			
		||||
      this.fetchExpenseData()
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 支出清除搜索
 | 
			
		||||
    handleExpenseSearchClear() {
 | 
			
		||||
      this.handleExpenseSearch();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 支出重置
 | 
			
		||||
    handleExpenseReset() {
 | 
			
		||||
      this.expenseSearchForm = {
 | 
			
		||||
        settlementId: "",
 | 
			
		||||
        clearingId: "",
 | 
			
		||||
        targetId: "",
 | 
			
		||||
        settlementId: '',
 | 
			
		||||
        clearingId: '',
 | 
			
		||||
        targetId: '',
 | 
			
		||||
        dateRange: null
 | 
			
		||||
      };
 | 
			
		||||
      this.expensePageInfo.pageNumber = 1;
 | 
			
		||||
      this.fetchExpenseData();
 | 
			
		||||
      }
 | 
			
		||||
      this.expensePageInfo.pageNumber = 1
 | 
			
		||||
      this.fetchExpenseData()
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 支出分页大小改变
 | 
			
		||||
    handleExpenseSizeChange(val) {
 | 
			
		||||
      this.expensePageInfo.pageSize = val;
 | 
			
		||||
      this.expensePageInfo.pageNumber = 1;
 | 
			
		||||
      this.fetchExpenseData();
 | 
			
		||||
      this.expensePageInfo.pageSize = val
 | 
			
		||||
      this.expensePageInfo.pageNumber = 1
 | 
			
		||||
      this.fetchExpenseData()
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 支出当前页改变
 | 
			
		||||
    handleExpenseCurrentChange(val) {
 | 
			
		||||
      this.expensePageInfo.pageNumber = val;
 | 
			
		||||
      this.fetchExpenseData();
 | 
			
		||||
    }
 | 
			
		||||
      this.expensePageInfo.pageNumber = val
 | 
			
		||||
      this.fetchExpenseData()
 | 
			
		||||
    },
 | 
			
		||||
  computed: {
 | 
			
		||||
    // 获取当前市场的ID
 | 
			
		||||
    marketId() {
 | 
			
		||||
      return this.$store.state.userData.marketId;
 | 
			
		||||
 | 
			
		||||
    fetchExtractData() {
 | 
			
		||||
      this.extractLoading = true
 | 
			
		||||
      setTimeout(() => {
 | 
			
		||||
        this.extractDataList = [
 | 
			
		||||
          {
 | 
			
		||||
            amount: 5000.0,
 | 
			
		||||
            afterAvailableAmount: 23450.5,
 | 
			
		||||
            time: '2025-01-31 14:20:15'
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        this.extractPageInfo.total = 2
 | 
			
		||||
        this.extractLoading = false
 | 
			
		||||
      }, 500)
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    handleExtractSizeChange(val) {
 | 
			
		||||
      this.extractPageInfo.pageSize = val
 | 
			
		||||
      this.extractPageInfo.pageNumber = 1
 | 
			
		||||
      this.fetchExtractData()
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    handleExtractCurrentChange(val) {
 | 
			
		||||
      this.extractPageInfo.pageNumber = val
 | 
			
		||||
      this.fetchExtractData()
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    openExtractDialog() {
 | 
			
		||||
      this.extractForm.amount = null
 | 
			
		||||
      this.extractDialogVisible = true
 | 
			
		||||
      this.$nextTick(() => {
 | 
			
		||||
        if (this.$refs.extractForm) {
 | 
			
		||||
          this.$refs.extractForm.clearValidate()
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    handleExtractSubmit() {
 | 
			
		||||
      this.$refs.extractForm.validate(valid => {
 | 
			
		||||
        if (valid) {
 | 
			
		||||
          this.executeExtract()
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    async executeExtract() {
 | 
			
		||||
      this.extractSubmitLoading = true
 | 
			
		||||
      try {
 | 
			
		||||
        await new Promise(resolve => setTimeout(resolve, 1000))
 | 
			
		||||
        this.$message.success('提取成功')
 | 
			
		||||
        this.extractDialogVisible = false
 | 
			
		||||
        this.fetchStatsInfo()
 | 
			
		||||
        this.fetchExtractData()
 | 
			
		||||
      } catch (error) {
 | 
			
		||||
        console.error('提取失败:', error)
 | 
			
		||||
        this.$message.error('提取失败,请重试')
 | 
			
		||||
      } finally {
 | 
			
		||||
        this.extractSubmitLoading = false
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
| 
						 | 
				
			
			@ -702,7 +668,6 @@ export default {
 | 
			
		|||
  padding: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 统计数据区域
 | 
			
		||||
.stats-row {
 | 
			
		||||
  margin-bottom: 16px;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -747,7 +712,6 @@ export default {
 | 
			
		|||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 标签页卡片
 | 
			
		||||
.tabs-card {
 | 
			
		||||
  border-radius: 8px;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -776,7 +740,6 @@ export default {
 | 
			
		|||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 搜索区域
 | 
			
		||||
.search-section {
 | 
			
		||||
  padding: 24px;
 | 
			
		||||
  border-bottom: 1px solid #f0f0f0;
 | 
			
		||||
| 
						 | 
				
			
			@ -786,17 +749,40 @@ export default {
 | 
			
		|||
  margin-bottom: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 表格区域
 | 
			
		||||
::v-deep .el-table {
 | 
			
		||||
  margin: 0;
 | 
			
		||||
.action-section {
 | 
			
		||||
  padding: 24px;
 | 
			
		||||
  border-bottom: 1px solid #f0f0f0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
::v-deep .el-table {
 | 
			
		||||
  margin: 0;
 | 
			
		||||
  font-size: 13px;
 | 
			
		||||
 | 
			
		||||
  th {
 | 
			
		||||
    background-color: #fafafa;
 | 
			
		||||
    color: #606266;
 | 
			
		||||
    font-weight: 600;
 | 
			
		||||
    font-size: 13px;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  td {
 | 
			
		||||
    padding: 14px 0;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .cell {
 | 
			
		||||
    padding: 0 10px;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 分页
 | 
			
		||||
.pagination-container {
 | 
			
		||||
  padding: 20px 24px;
 | 
			
		||||
  text-align: right;
 | 
			
		||||
  border-top: 1px solid #f0f0f0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.dialog-footer {
 | 
			
		||||
  text-align: right;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
 | 
			
		||||
<style>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,52 +37,71 @@
 | 
			
		|||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
 | 
			
		||||
    <!-- 搜索和表格区域 -->
 | 
			
		||||
    <el-card class="content-card" shadow="never">
 | 
			
		||||
      <!-- Tab 切换 -->
 | 
			
		||||
      <el-tabs
 | 
			
		||||
        v-model="activeTab"
 | 
			
		||||
        @tab-click="handleTabClick"
 | 
			
		||||
        class="custom-tabs"
 | 
			
		||||
      >
 | 
			
		||||
        <!-- 待结算 Tab -->
 | 
			
		||||
        <el-tab-pane label="待结算" name="pending">
 | 
			
		||||
          <!-- 搜索区域 -->
 | 
			
		||||
    <el-card class="search-card" shadow="never">
 | 
			
		||||
          <div class="search-section">
 | 
			
		||||
            <el-form
 | 
			
		||||
        :model="searchForm"
 | 
			
		||||
              :model="pendingSearchForm"
 | 
			
		||||
              :inline="true"
 | 
			
		||||
        ref="searchForm"
 | 
			
		||||
              ref="pendingSearchForm"
 | 
			
		||||
              class="search-form"
 | 
			
		||||
              size="small"
 | 
			
		||||
            >
 | 
			
		||||
        <el-form-item label="待结算明细ID" prop="settlementId">
 | 
			
		||||
              <el-form-item label="结算明细ID" prop="settlementId">
 | 
			
		||||
                <el-input
 | 
			
		||||
            v-model="searchForm.settlementId"
 | 
			
		||||
            placeholder="请输入待结算明细ID"
 | 
			
		||||
                  v-model="pendingSearchForm.settlementId"
 | 
			
		||||
                  placeholder="请输入结算明细ID"
 | 
			
		||||
                  clearable
 | 
			
		||||
            @clear="handleSearchClear"
 | 
			
		||||
                  style="width: 200px"
 | 
			
		||||
                />
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
              <el-form-item label="关联清算明细ID" prop="clearingId">
 | 
			
		||||
                <el-input
 | 
			
		||||
            v-model="searchForm.clearingId"
 | 
			
		||||
                  v-model="pendingSearchForm.clearingId"
 | 
			
		||||
                  placeholder="请输入关联清算明细ID"
 | 
			
		||||
                  clearable
 | 
			
		||||
            @clear="handleSearchClear"
 | 
			
		||||
                  style="width: 200px"
 | 
			
		||||
                />
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
              <el-form-item label="结算目标对象ID" prop="targetId">
 | 
			
		||||
                <el-input
 | 
			
		||||
            v-model="searchForm.targetId"
 | 
			
		||||
                  v-model="pendingSearchForm.targetId"
 | 
			
		||||
                  placeholder="请输入结算目标对象ID"
 | 
			
		||||
                  clearable
 | 
			
		||||
            @clear="handleSearchClear"
 | 
			
		||||
                  style="width: 200px"
 | 
			
		||||
                />
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
              <el-form-item label="结算订单号" prop="orderNumber">
 | 
			
		||||
                <el-input
 | 
			
		||||
                  v-model="pendingSearchForm.orderNumber"
 | 
			
		||||
                  placeholder="请输入结算订单号"
 | 
			
		||||
                  clearable
 | 
			
		||||
                  style="width: 200px"
 | 
			
		||||
                />
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
              <el-form-item>
 | 
			
		||||
                <el-button
 | 
			
		||||
                  type="primary"
 | 
			
		||||
            @click="handleSearch"
 | 
			
		||||
                  @click="handlePendingSearch"
 | 
			
		||||
                  icon="el-icon-search"
 | 
			
		||||
                  size="small"
 | 
			
		||||
                >
 | 
			
		||||
                  查询
 | 
			
		||||
                </el-button>
 | 
			
		||||
          <el-button @click="handleReset" icon="el-icon-refresh" size="small">
 | 
			
		||||
                <el-button
 | 
			
		||||
                  @click="handlePendingReset"
 | 
			
		||||
                  icon="el-icon-refresh"
 | 
			
		||||
                  size="small"
 | 
			
		||||
                >
 | 
			
		||||
                  重置
 | 
			
		||||
                </el-button>
 | 
			
		||||
                <el-button
 | 
			
		||||
| 
						 | 
				
			
			@ -95,50 +114,64 @@
 | 
			
		|||
                </el-button>
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
            </el-form>
 | 
			
		||||
    </el-card>
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
    <!-- 表格区域 -->
 | 
			
		||||
    <div class="table-container">
 | 
			
		||||
          <!-- 表格 -->
 | 
			
		||||
          <el-table
 | 
			
		||||
        ref="multipleTable"
 | 
			
		||||
        :data="dataList"
 | 
			
		||||
            ref="pendingTable"
 | 
			
		||||
            :data="pendingDataList"
 | 
			
		||||
            border
 | 
			
		||||
            style="width: 100%"
 | 
			
		||||
        v-loading="loading"
 | 
			
		||||
            v-loading="pendingLoading"
 | 
			
		||||
          >
 | 
			
		||||
        <el-table-column type="index" width="60" align="center" label="序号" />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              type="index"
 | 
			
		||||
              width="70"
 | 
			
		||||
              align="center"
 | 
			
		||||
              label="序号"
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="id"
 | 
			
		||||
          label="待结算明细ID"
 | 
			
		||||
              label="结算明细ID"
 | 
			
		||||
              align="center"
 | 
			
		||||
          min-width="140"
 | 
			
		||||
              width="160"
 | 
			
		||||
              show-overflow-tooltip
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="clearingId"
 | 
			
		||||
              label="关联清算明细ID"
 | 
			
		||||
              align="center"
 | 
			
		||||
          min-width="150"
 | 
			
		||||
              width="160"
 | 
			
		||||
              show-overflow-tooltip
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="orderNumber"
 | 
			
		||||
              label="结算订单号"
 | 
			
		||||
              align="center"
 | 
			
		||||
              width="160"
 | 
			
		||||
              show-overflow-tooltip
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="targetId"
 | 
			
		||||
              label="结算目标对象ID"
 | 
			
		||||
              align="center"
 | 
			
		||||
          min-width="140"
 | 
			
		||||
              width="150"
 | 
			
		||||
              show-overflow-tooltip
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="targetRole"
 | 
			
		||||
              label="结算目标角色"
 | 
			
		||||
              align="center"
 | 
			
		||||
          width="120"
 | 
			
		||||
              width="130"
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="amount"
 | 
			
		||||
              label="结算金额(元)"
 | 
			
		||||
              align="center"
 | 
			
		||||
          width="130"
 | 
			
		||||
              width="140"
 | 
			
		||||
            >
 | 
			
		||||
              <template slot-scope="scope">
 | 
			
		||||
            <span style="color: #f56c6c; font-weight: 600">
 | 
			
		||||
                <span style="color: #f56c6c; font-weight: 600; font-size: 14px">
 | 
			
		||||
                  ¥{{ scope.row.amount.toFixed(2) }}
 | 
			
		||||
                </span>
 | 
			
		||||
              </template>
 | 
			
		||||
| 
						 | 
				
			
			@ -147,9 +180,9 @@
 | 
			
		|||
              prop="clearingTime"
 | 
			
		||||
              label="清算时间"
 | 
			
		||||
              align="center"
 | 
			
		||||
          min-width="160"
 | 
			
		||||
              width="170"
 | 
			
		||||
            />
 | 
			
		||||
        <el-table-column label="结算状态" align="center" width="100">
 | 
			
		||||
            <el-table-column label="结算状态" align="center" width="110">
 | 
			
		||||
              <template slot-scope="scope">
 | 
			
		||||
                <el-tag
 | 
			
		||||
                  v-if="scope.row.status === 'pending'"
 | 
			
		||||
| 
						 | 
				
			
			@ -165,10 +198,14 @@
 | 
			
		|||
                >
 | 
			
		||||
                  执行中
 | 
			
		||||
                </el-tag>
 | 
			
		||||
            <el-tag v-else type="success" size="small">已完成</el-tag>
 | 
			
		||||
              </template>
 | 
			
		||||
            </el-table-column>
 | 
			
		||||
        <el-table-column label="操作" fixed="right" align="center" width="150">
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              label="操作"
 | 
			
		||||
              fixed="right"
 | 
			
		||||
              align="center"
 | 
			
		||||
              width="130"
 | 
			
		||||
            >
 | 
			
		||||
              <template slot-scope="scope">
 | 
			
		||||
                <el-button
 | 
			
		||||
                  v-if="scope.row.status === 'pending'"
 | 
			
		||||
| 
						 | 
				
			
			@ -186,68 +223,231 @@
 | 
			
		|||
                >
 | 
			
		||||
                  重新执行
 | 
			
		||||
                </el-button>
 | 
			
		||||
            <span v-else style="color: #909399">-</span>
 | 
			
		||||
              </template>
 | 
			
		||||
            </el-table-column>
 | 
			
		||||
          </el-table>
 | 
			
		||||
 | 
			
		||||
          <!-- 分页 -->
 | 
			
		||||
          <el-pagination
 | 
			
		||||
        @size-change="handleSizeChange"
 | 
			
		||||
        @current-change="handleCurrentChange"
 | 
			
		||||
        :current-page="pageInfo.pageNumber"
 | 
			
		||||
            @size-change="handlePendingSizeChange"
 | 
			
		||||
            @current-change="handlePendingCurrentChange"
 | 
			
		||||
            :current-page="pendingPageInfo.pageNumber"
 | 
			
		||||
            :page-sizes="[10, 20, 50, 100]"
 | 
			
		||||
        :page-size="pageInfo.pageSize"
 | 
			
		||||
            :page-size="pendingPageInfo.pageSize"
 | 
			
		||||
            layout="total, sizes, prev, pager, next, jumper"
 | 
			
		||||
        :total="pageInfo.total"
 | 
			
		||||
            :total="pendingPageInfo.total"
 | 
			
		||||
            class="pagination-container"
 | 
			
		||||
          />
 | 
			
		||||
        </el-tab-pane>
 | 
			
		||||
 | 
			
		||||
        <!-- 已结算 Tab -->
 | 
			
		||||
        <el-tab-pane label="已结算" name="completed">
 | 
			
		||||
          <!-- 搜索区域 -->
 | 
			
		||||
          <div class="search-section">
 | 
			
		||||
            <el-form
 | 
			
		||||
              :model="completedSearchForm"
 | 
			
		||||
              :inline="true"
 | 
			
		||||
              ref="completedSearchForm"
 | 
			
		||||
              class="search-form"
 | 
			
		||||
              size="small"
 | 
			
		||||
            >
 | 
			
		||||
              <el-form-item label="结算明细ID" prop="settlementId">
 | 
			
		||||
                <el-input
 | 
			
		||||
                  v-model="completedSearchForm.settlementId"
 | 
			
		||||
                  placeholder="请输入结算明细ID"
 | 
			
		||||
                  clearable
 | 
			
		||||
                  style="width: 200px"
 | 
			
		||||
                />
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
              <el-form-item label="关联清算明细ID" prop="clearingId">
 | 
			
		||||
                <el-input
 | 
			
		||||
                  v-model="completedSearchForm.clearingId"
 | 
			
		||||
                  placeholder="请输入关联清算明细ID"
 | 
			
		||||
                  clearable
 | 
			
		||||
                  style="width: 200px"
 | 
			
		||||
                />
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
              <el-form-item label="结算目标对象ID" prop="targetId">
 | 
			
		||||
                <el-input
 | 
			
		||||
                  v-model="completedSearchForm.targetId"
 | 
			
		||||
                  placeholder="请输入结算目标对象ID"
 | 
			
		||||
                  clearable
 | 
			
		||||
                  style="width: 200px"
 | 
			
		||||
                />
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
              <el-form-item label="结算订单号" prop="orderNumber">
 | 
			
		||||
                <el-input
 | 
			
		||||
                  v-model="completedSearchForm.orderNumber"
 | 
			
		||||
                  placeholder="请输入结算订单号"
 | 
			
		||||
                  clearable
 | 
			
		||||
                  style="width: 200px"
 | 
			
		||||
                />
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
              <el-form-item>
 | 
			
		||||
                <el-button
 | 
			
		||||
                  type="primary"
 | 
			
		||||
                  @click="handleCompletedSearch"
 | 
			
		||||
                  icon="el-icon-search"
 | 
			
		||||
                  size="small"
 | 
			
		||||
                >
 | 
			
		||||
                  查询
 | 
			
		||||
                </el-button>
 | 
			
		||||
                <el-button
 | 
			
		||||
                  @click="handleCompletedReset"
 | 
			
		||||
                  icon="el-icon-refresh"
 | 
			
		||||
                  size="small"
 | 
			
		||||
                >
 | 
			
		||||
                  重置
 | 
			
		||||
                </el-button>
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
            </el-form>
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <!-- 表格 -->
 | 
			
		||||
          <el-table
 | 
			
		||||
            ref="completedTable"
 | 
			
		||||
            :data="completedDataList"
 | 
			
		||||
            border
 | 
			
		||||
            style="width: 100%"
 | 
			
		||||
            v-loading="completedLoading"
 | 
			
		||||
          >
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              type="index"
 | 
			
		||||
              width="70"
 | 
			
		||||
              align="center"
 | 
			
		||||
              label="序号"
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="id"
 | 
			
		||||
              label="结算明细ID"
 | 
			
		||||
              align="center"
 | 
			
		||||
              width="160"
 | 
			
		||||
              show-overflow-tooltip
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="clearingId"
 | 
			
		||||
              label="关联清算明细ID"
 | 
			
		||||
              align="center"
 | 
			
		||||
              width="160"
 | 
			
		||||
              show-overflow-tooltip
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="orderNumber"
 | 
			
		||||
              label="结算订单号"
 | 
			
		||||
              align="center"
 | 
			
		||||
              width="160"
 | 
			
		||||
              show-overflow-tooltip
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="targetId"
 | 
			
		||||
              label="结算目标对象ID"
 | 
			
		||||
              align="center"
 | 
			
		||||
              width="150"
 | 
			
		||||
              show-overflow-tooltip
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="targetRole"
 | 
			
		||||
              label="结算目标角色"
 | 
			
		||||
              align="center"
 | 
			
		||||
              width="130"
 | 
			
		||||
            />
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="amount"
 | 
			
		||||
              label="结算金额(元)"
 | 
			
		||||
              align="center"
 | 
			
		||||
              width="140"
 | 
			
		||||
            >
 | 
			
		||||
              <template slot-scope="scope">
 | 
			
		||||
                <span style="color: #f56c6c; font-weight: 600; font-size: 14px">
 | 
			
		||||
                  ¥{{ scope.row.amount.toFixed(2) }}
 | 
			
		||||
                </span>
 | 
			
		||||
              </template>
 | 
			
		||||
            </el-table-column>
 | 
			
		||||
            <el-table-column
 | 
			
		||||
              prop="clearingTime"
 | 
			
		||||
              label="清算时间"
 | 
			
		||||
              align="center"
 | 
			
		||||
              width="170"
 | 
			
		||||
            />
 | 
			
		||||
          </el-table>
 | 
			
		||||
 | 
			
		||||
          <!-- 分页 -->
 | 
			
		||||
          <el-pagination
 | 
			
		||||
            @size-change="handleCompletedSizeChange"
 | 
			
		||||
            @current-change="handleCompletedCurrentChange"
 | 
			
		||||
            :current-page="completedPageInfo.pageNumber"
 | 
			
		||||
            :page-sizes="[10, 20, 50, 100]"
 | 
			
		||||
            :page-size="completedPageInfo.pageSize"
 | 
			
		||||
            layout="total, sizes, prev, pager, next, jumper"
 | 
			
		||||
            :total="completedPageInfo.total"
 | 
			
		||||
            class="pagination-container"
 | 
			
		||||
          />
 | 
			
		||||
        </el-tab-pane>
 | 
			
		||||
      </el-tabs>
 | 
			
		||||
    </el-card>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
export default {
 | 
			
		||||
  name: "UnsettleManagement",
 | 
			
		||||
  name: "SettlementManagement",
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      // 当前激活的标签页
 | 
			
		||||
      activeTab: "pending",
 | 
			
		||||
      // 账户信息
 | 
			
		||||
      accountInfo: {
 | 
			
		||||
        totalAmount: 0,
 | 
			
		||||
        availableAmount: 0,
 | 
			
		||||
        walletBalance: 0
 | 
			
		||||
      },
 | 
			
		||||
      // 搜索表单
 | 
			
		||||
      searchForm: {
 | 
			
		||||
      // 待结算搜索表单
 | 
			
		||||
      pendingSearchForm: {
 | 
			
		||||
        settlementId: "",
 | 
			
		||||
        clearingId: "",
 | 
			
		||||
        targetId: ""
 | 
			
		||||
        targetId: "",
 | 
			
		||||
        orderNumber: ""
 | 
			
		||||
      },
 | 
			
		||||
      // 表格数据
 | 
			
		||||
      dataList: [],
 | 
			
		||||
      // 分页信息
 | 
			
		||||
      pageInfo: {
 | 
			
		||||
      // 待结算表格数据
 | 
			
		||||
      pendingDataList: [],
 | 
			
		||||
      // 待结算分页信息
 | 
			
		||||
      pendingPageInfo: {
 | 
			
		||||
        pageNumber: 1,
 | 
			
		||||
        pageSize: 10,
 | 
			
		||||
        total: 0
 | 
			
		||||
      },
 | 
			
		||||
      // 加载状态
 | 
			
		||||
      loading: false,
 | 
			
		||||
      // 待结算加载状态
 | 
			
		||||
      pendingLoading: false,
 | 
			
		||||
      // 已结算搜索表单
 | 
			
		||||
      completedSearchForm: {
 | 
			
		||||
        settlementId: "",
 | 
			
		||||
        clearingId: "",
 | 
			
		||||
        targetId: "",
 | 
			
		||||
        orderNumber: ""
 | 
			
		||||
      },
 | 
			
		||||
      // 已结算表格数据
 | 
			
		||||
      completedDataList: [],
 | 
			
		||||
      // 已结算分页信息
 | 
			
		||||
      completedPageInfo: {
 | 
			
		||||
        pageNumber: 1,
 | 
			
		||||
        pageSize: 10,
 | 
			
		||||
        total: 0
 | 
			
		||||
      },
 | 
			
		||||
      // 已结算加载状态
 | 
			
		||||
      completedLoading: false,
 | 
			
		||||
      // 刷新加载状态
 | 
			
		||||
      refreshLoading: false
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
  created() {
 | 
			
		||||
    this.fetchAccountInfo();
 | 
			
		||||
    this.fetchData();
 | 
			
		||||
    this.fetchPendingData();
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    // 获取账户信息
 | 
			
		||||
    async fetchAccountInfo() {
 | 
			
		||||
      try {
 | 
			
		||||
        // TODO: 调用实际的API接口获取账户信息
 | 
			
		||||
        // const res = await this.$api.mer_admin.getAccountInfo();
 | 
			
		||||
        // this.accountInfo = res.data.data;
 | 
			
		||||
 | 
			
		||||
        // 模拟数据
 | 
			
		||||
        this.accountInfo = {
 | 
			
		||||
          totalAmount: 8770.5,
 | 
			
		||||
          availableAmount: 6420.25,
 | 
			
		||||
| 
						 | 
				
			
			@ -272,9 +472,20 @@ export default {
 | 
			
		|||
      }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 获取待结算列表数据
 | 
			
		||||
    fetchData() {
 | 
			
		||||
      this.loading = true;
 | 
			
		||||
    // Tab 切换
 | 
			
		||||
    handleTabClick(tab) {
 | 
			
		||||
      if (tab.name === "pending") {
 | 
			
		||||
        this.fetchPendingData();
 | 
			
		||||
      } else if (tab.name === "completed") {
 | 
			
		||||
        this.fetchCompletedData();
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // ==================== 待结算相关方法 ====================
 | 
			
		||||
 | 
			
		||||
    // 获取待结算数据
 | 
			
		||||
    fetchPendingData() {
 | 
			
		||||
      this.pendingLoading = true;
 | 
			
		||||
      const marketId = this.marketId;
 | 
			
		||||
      if (!marketId) {
 | 
			
		||||
        this.$message.error("获取市场ID失败,请重新登录");
 | 
			
		||||
| 
						 | 
				
			
			@ -283,35 +494,21 @@ export default {
 | 
			
		|||
      }
 | 
			
		||||
 | 
			
		||||
      const params = {
 | 
			
		||||
        pageNumber: this.pageInfo.pageNumber,
 | 
			
		||||
        pageSize: this.pageInfo.pageSize,
 | 
			
		||||
        pageNumber: this.pendingPageInfo.pageNumber,
 | 
			
		||||
        pageSize: this.pendingPageInfo.pageSize,
 | 
			
		||||
        marketId,
 | 
			
		||||
        ...this.buildSearchParams()
 | 
			
		||||
        status: "pending",
 | 
			
		||||
        ...this.buildPendingSearchParams()
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      // TODO: 调用实际的API接口获取待结算列表
 | 
			
		||||
      // this.$api.mer_admin
 | 
			
		||||
      //   .getUnsettleList(params)
 | 
			
		||||
      //   .then(res => {
 | 
			
		||||
      //     if (res.data && res.data.data) {
 | 
			
		||||
      //       this.dataList = res.data.data.data || [];
 | 
			
		||||
      //       this.pageInfo.total = Number(res.data.data.total) || 0;
 | 
			
		||||
      //     }
 | 
			
		||||
      //   })
 | 
			
		||||
      //   .catch(err => {
 | 
			
		||||
      //     console.error("获取数据失败:", err);
 | 
			
		||||
      //     this.$message.error("获取数据失败");
 | 
			
		||||
      //   })
 | 
			
		||||
      //   .finally(() => {
 | 
			
		||||
      //     this.loading = false;
 | 
			
		||||
      //   });
 | 
			
		||||
 | 
			
		||||
      // TODO: 调用实际的API接口
 | 
			
		||||
      // 模拟数据
 | 
			
		||||
      setTimeout(() => {
 | 
			
		||||
        const mockData = [
 | 
			
		||||
          {
 | 
			
		||||
            id: "SET2024010001",
 | 
			
		||||
            clearingId: "CLR2024010001",
 | 
			
		||||
            orderNumber: "ORD2024010001",
 | 
			
		||||
            targetId: "TGT001",
 | 
			
		||||
            targetRole: "商家",
 | 
			
		||||
            amount: 1580.5,
 | 
			
		||||
| 
						 | 
				
			
			@ -321,24 +518,17 @@ export default {
 | 
			
		|||
          {
 | 
			
		||||
            id: "SET2024010002",
 | 
			
		||||
            clearingId: "CLR2024010002",
 | 
			
		||||
            orderNumber: "ORD2024010002",
 | 
			
		||||
            targetId: "TGT002",
 | 
			
		||||
            targetRole: "供应商",
 | 
			
		||||
            amount: 2350.0,
 | 
			
		||||
            clearingTime: "2024-01-15 15:20:10",
 | 
			
		||||
            status: "processing"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            id: "SET2024010003",
 | 
			
		||||
            clearingId: "CLR2024010003",
 | 
			
		||||
            targetId: "TGT003",
 | 
			
		||||
            targetRole: "平台",
 | 
			
		||||
            amount: 890.75,
 | 
			
		||||
            clearingTime: "2024-01-15 16:45:30",
 | 
			
		||||
            status: "completed"
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            id: "SET2024010004",
 | 
			
		||||
            clearingId: "CLR2024010004",
 | 
			
		||||
            orderNumber: "ORD2024010004",
 | 
			
		||||
            targetId: "TGT004",
 | 
			
		||||
            targetRole: "商家",
 | 
			
		||||
            amount: 3200.0,
 | 
			
		||||
| 
						 | 
				
			
			@ -348,6 +538,7 @@ export default {
 | 
			
		|||
          {
 | 
			
		||||
            id: "SET2024010005",
 | 
			
		||||
            clearingId: "CLR2024010005",
 | 
			
		||||
            orderNumber: "ORD2024010005",
 | 
			
		||||
            targetId: "TGT005",
 | 
			
		||||
            targetRole: "供应商",
 | 
			
		||||
            amount: 1750.25,
 | 
			
		||||
| 
						 | 
				
			
			@ -356,85 +547,158 @@ export default {
 | 
			
		|||
          }
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
        // 应用搜索过滤
 | 
			
		||||
        let filteredData = mockData;
 | 
			
		||||
        const searchParams = this.buildSearchParams();
 | 
			
		||||
        if (searchParams.settlementId) {
 | 
			
		||||
          filteredData = filteredData.filter(item =>
 | 
			
		||||
            item.id.includes(searchParams.settlementId)
 | 
			
		||||
          );
 | 
			
		||||
        }
 | 
			
		||||
        if (searchParams.clearingId) {
 | 
			
		||||
          filteredData = filteredData.filter(item =>
 | 
			
		||||
            item.clearingId.includes(searchParams.clearingId)
 | 
			
		||||
          );
 | 
			
		||||
        }
 | 
			
		||||
        if (searchParams.targetId) {
 | 
			
		||||
          filteredData = filteredData.filter(item =>
 | 
			
		||||
            item.targetId.includes(searchParams.targetId)
 | 
			
		||||
          );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this.dataList = filteredData;
 | 
			
		||||
        this.pageInfo.total = filteredData.length;
 | 
			
		||||
        this.loading = false;
 | 
			
		||||
        this.pendingDataList = mockData;
 | 
			
		||||
        this.pendingPageInfo.total = mockData.length;
 | 
			
		||||
        this.pendingLoading = false;
 | 
			
		||||
      }, 500);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 构建搜索参数
 | 
			
		||||
    buildSearchParams() {
 | 
			
		||||
    // 构建待结算搜索参数
 | 
			
		||||
    buildPendingSearchParams() {
 | 
			
		||||
      const params = {};
 | 
			
		||||
      if (this.searchForm.settlementId) {
 | 
			
		||||
        params.settlementId = this.searchForm.settlementId;
 | 
			
		||||
      if (this.pendingSearchForm.settlementId) {
 | 
			
		||||
        params.settlementId = this.pendingSearchForm.settlementId;
 | 
			
		||||
      }
 | 
			
		||||
      if (this.searchForm.clearingId) {
 | 
			
		||||
        params.clearingId = this.searchForm.clearingId;
 | 
			
		||||
      if (this.pendingSearchForm.clearingId) {
 | 
			
		||||
        params.clearingId = this.pendingSearchForm.clearingId;
 | 
			
		||||
      }
 | 
			
		||||
      if (this.searchForm.targetId) {
 | 
			
		||||
        params.targetId = this.searchForm.targetId;
 | 
			
		||||
      if (this.pendingSearchForm.targetId) {
 | 
			
		||||
        params.targetId = this.pendingSearchForm.targetId;
 | 
			
		||||
      }
 | 
			
		||||
      if (this.pendingSearchForm.orderNumber) {
 | 
			
		||||
        params.orderNumber = this.pendingSearchForm.orderNumber;
 | 
			
		||||
      }
 | 
			
		||||
      return params;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 搜索
 | 
			
		||||
    handleSearch() {
 | 
			
		||||
      this.pageInfo.pageNumber = 1;
 | 
			
		||||
      this.fetchData();
 | 
			
		||||
    // 待结算搜索
 | 
			
		||||
    handlePendingSearch() {
 | 
			
		||||
      this.pendingPageInfo.pageNumber = 1;
 | 
			
		||||
      this.fetchPendingData();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 清除搜索
 | 
			
		||||
    handleSearchClear() {
 | 
			
		||||
      this.handleSearch();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 重置
 | 
			
		||||
    handleReset() {
 | 
			
		||||
      this.searchForm = {
 | 
			
		||||
    // 待结算重置
 | 
			
		||||
    handlePendingReset() {
 | 
			
		||||
      this.pendingSearchForm = {
 | 
			
		||||
        settlementId: "",
 | 
			
		||||
        clearingId: "",
 | 
			
		||||
        targetId: ""
 | 
			
		||||
        targetId: "",
 | 
			
		||||
        orderNumber: ""
 | 
			
		||||
      };
 | 
			
		||||
      this.pageInfo.pageNumber = 1;
 | 
			
		||||
      this.fetchData();
 | 
			
		||||
      this.pendingPageInfo.pageNumber = 1;
 | 
			
		||||
      this.fetchPendingData();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 分页大小改变
 | 
			
		||||
    handleSizeChange(val) {
 | 
			
		||||
      this.pageInfo.pageSize = val;
 | 
			
		||||
      this.pageInfo.pageNumber = 1;
 | 
			
		||||
      this.fetchData();
 | 
			
		||||
    // 待结算分页大小改变
 | 
			
		||||
    handlePendingSizeChange(val) {
 | 
			
		||||
      this.pendingPageInfo.pageSize = val;
 | 
			
		||||
      this.pendingPageInfo.pageNumber = 1;
 | 
			
		||||
      this.fetchPendingData();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 当前页改变
 | 
			
		||||
    handleCurrentChange(val) {
 | 
			
		||||
      this.pageInfo.pageNumber = val;
 | 
			
		||||
      this.fetchData();
 | 
			
		||||
    // 待结算当前页改变
 | 
			
		||||
    handlePendingCurrentChange(val) {
 | 
			
		||||
      this.pendingPageInfo.pageNumber = val;
 | 
			
		||||
      this.fetchPendingData();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // ==================== 已结算相关方法 ====================
 | 
			
		||||
 | 
			
		||||
    // 获取已结算数据
 | 
			
		||||
    fetchCompletedData() {
 | 
			
		||||
      this.completedLoading = true;
 | 
			
		||||
      const marketId = this.marketId;
 | 
			
		||||
      if (!marketId) {
 | 
			
		||||
        this.$message.error("获取市场ID失败,请重新登录");
 | 
			
		||||
        this.$router.push("/login");
 | 
			
		||||
        return;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      const params = {
 | 
			
		||||
        pageNumber: this.completedPageInfo.pageNumber,
 | 
			
		||||
        pageSize: this.completedPageInfo.pageSize,
 | 
			
		||||
        marketId,
 | 
			
		||||
        status: "completed",
 | 
			
		||||
        ...this.buildCompletedSearchParams()
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      // TODO: 调用实际的API接口
 | 
			
		||||
      // 模拟数据
 | 
			
		||||
      setTimeout(() => {
 | 
			
		||||
        const mockData = [
 | 
			
		||||
          {
 | 
			
		||||
            id: "SET2024010003",
 | 
			
		||||
            clearingId: "CLR2024010003",
 | 
			
		||||
            orderNumber: "ORD2024010003",
 | 
			
		||||
            targetId: "TGT003",
 | 
			
		||||
            targetRole: "平台",
 | 
			
		||||
            amount: 890.75,
 | 
			
		||||
            clearingTime: "2024-01-15 16:45:30",
 | 
			
		||||
            status: "completed"
 | 
			
		||||
          }
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
        this.completedDataList = mockData;
 | 
			
		||||
        this.completedPageInfo.total = mockData.length;
 | 
			
		||||
        this.completedLoading = false;
 | 
			
		||||
      }, 500);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 构建已结算搜索参数
 | 
			
		||||
    buildCompletedSearchParams() {
 | 
			
		||||
      const params = {};
 | 
			
		||||
      if (this.completedSearchForm.settlementId) {
 | 
			
		||||
        params.settlementId = this.completedSearchForm.settlementId;
 | 
			
		||||
      }
 | 
			
		||||
      if (this.completedSearchForm.clearingId) {
 | 
			
		||||
        params.clearingId = this.completedSearchForm.clearingId;
 | 
			
		||||
      }
 | 
			
		||||
      if (this.completedSearchForm.targetId) {
 | 
			
		||||
        params.targetId = this.completedSearchForm.targetId;
 | 
			
		||||
      }
 | 
			
		||||
      if (this.completedSearchForm.orderNumber) {
 | 
			
		||||
        params.orderNumber = this.completedSearchForm.orderNumber;
 | 
			
		||||
      }
 | 
			
		||||
      return params;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 已结算搜索
 | 
			
		||||
    handleCompletedSearch() {
 | 
			
		||||
      this.completedPageInfo.pageNumber = 1;
 | 
			
		||||
      this.fetchCompletedData();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 已结算重置
 | 
			
		||||
    handleCompletedReset() {
 | 
			
		||||
      this.completedSearchForm = {
 | 
			
		||||
        settlementId: "",
 | 
			
		||||
        clearingId: "",
 | 
			
		||||
        targetId: "",
 | 
			
		||||
        orderNumber: ""
 | 
			
		||||
      };
 | 
			
		||||
      this.completedPageInfo.pageNumber = 1;
 | 
			
		||||
      this.fetchCompletedData();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 已结算分页大小改变
 | 
			
		||||
    handleCompletedSizeChange(val) {
 | 
			
		||||
      this.completedPageInfo.pageSize = val;
 | 
			
		||||
      this.completedPageInfo.pageNumber = 1;
 | 
			
		||||
      this.fetchCompletedData();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // 已结算当前页改变
 | 
			
		||||
    handleCompletedCurrentChange(val) {
 | 
			
		||||
      this.completedPageInfo.pageNumber = val;
 | 
			
		||||
      this.fetchCompletedData();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    // ==================== 结算操作 ====================
 | 
			
		||||
 | 
			
		||||
    // 处理结算操作
 | 
			
		||||
    handleSettlement(row, isRetry) {
 | 
			
		||||
      const action = isRetry ? "重新执行" : "开始结算";
 | 
			
		||||
      const message = `确认${action}该笔待结算明细吗?\n待结算明细ID: ${
 | 
			
		||||
      const message = `确认${action}该笔待结算明细吗?\n结算明细ID: ${
 | 
			
		||||
        row.id
 | 
			
		||||
      }\n结算金额: ¥${row.amount.toFixed(2)}`;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -454,19 +718,11 @@ export default {
 | 
			
		|||
    // 执行结算
 | 
			
		||||
    async executeSettlement(row, isRetry) {
 | 
			
		||||
      try {
 | 
			
		||||
        this.loading = true;
 | 
			
		||||
        this.pendingLoading = true;
 | 
			
		||||
 | 
			
		||||
        // TODO: 调用实际的API接口执行结算
 | 
			
		||||
        // const params = {
 | 
			
		||||
        //   settlementId: row.id,
 | 
			
		||||
        //   isRetry: isRetry
 | 
			
		||||
        // };
 | 
			
		||||
        // await this.$api.mer_admin.executeSettlement(params);
 | 
			
		||||
 | 
			
		||||
        // 模拟API调用
 | 
			
		||||
        await new Promise(resolve => setTimeout(resolve, 1000));
 | 
			
		||||
 | 
			
		||||
        // 更新状态为执行中
 | 
			
		||||
        row.status = "processing";
 | 
			
		||||
        this.$message.success("结算任务已提交");
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -474,13 +730,14 @@ export default {
 | 
			
		|||
        setTimeout(() => {
 | 
			
		||||
          row.status = "completed";
 | 
			
		||||
          this.$message.success("结算完成");
 | 
			
		||||
          this.fetchAccountInfo(); // 刷新账户信息
 | 
			
		||||
          this.fetchAccountInfo();
 | 
			
		||||
          this.fetchPendingData();
 | 
			
		||||
        }, 2000);
 | 
			
		||||
      } catch (error) {
 | 
			
		||||
        console.error("结算失败:", error);
 | 
			
		||||
        this.$message.error("结算失败,请重试");
 | 
			
		||||
      } finally {
 | 
			
		||||
        this.loading = false;
 | 
			
		||||
        this.pendingLoading = false;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
| 
						 | 
				
			
			@ -563,25 +820,76 @@ export default {
 | 
			
		|||
  margin-left: 4px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 搜索卡片
 | 
			
		||||
.search-card {
 | 
			
		||||
  margin-bottom: 16px;
 | 
			
		||||
// 内容卡片
 | 
			
		||||
.content-card {
 | 
			
		||||
  border-radius: 8px;
 | 
			
		||||
 | 
			
		||||
  ::v-deep .el-card__body {
 | 
			
		||||
    padding: 0;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 自定义 Tabs
 | 
			
		||||
.custom-tabs {
 | 
			
		||||
  ::v-deep .el-tabs__header {
 | 
			
		||||
    margin: 0;
 | 
			
		||||
    padding: 0 24px;
 | 
			
		||||
    background: #fafafa;
 | 
			
		||||
    border-bottom: 1px solid #f0f0f0;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  ::v-deep .el-tabs__nav-wrap::after {
 | 
			
		||||
    height: 0;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  ::v-deep .el-tabs__item {
 | 
			
		||||
    height: 48px;
 | 
			
		||||
    line-height: 48px;
 | 
			
		||||
    font-size: 15px;
 | 
			
		||||
    padding: 0 20px;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  ::v-deep .el-tabs__content {
 | 
			
		||||
    padding: 0;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 搜索区域
 | 
			
		||||
.search-section {
 | 
			
		||||
  padding: 24px;
 | 
			
		||||
  border-bottom: 1px solid #f0f0f0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.search-form .el-form-item {
 | 
			
		||||
  margin-bottom: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 表格容器
 | 
			
		||||
.table-container {
 | 
			
		||||
  background: white;
 | 
			
		||||
  padding: 20px;
 | 
			
		||||
  border-radius: 8px;
 | 
			
		||||
// 表格
 | 
			
		||||
::v-deep .el-table {
 | 
			
		||||
  margin: 0;
 | 
			
		||||
  font-size: 13px;
 | 
			
		||||
 | 
			
		||||
  th {
 | 
			
		||||
    background-color: #fafafa;
 | 
			
		||||
    color: #606266;
 | 
			
		||||
    font-weight: 600;
 | 
			
		||||
    font-size: 13px;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  td {
 | 
			
		||||
    padding: 14px 0;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .cell {
 | 
			
		||||
    padding: 0 10px;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 分页
 | 
			
		||||
.pagination-container {
 | 
			
		||||
  margin-top: 20px;
 | 
			
		||||
  padding: 20px 24px;
 | 
			
		||||
  text-align: right;
 | 
			
		||||
  border-top: 1px solid #f0f0f0;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue