Browse Source

每日面料使用率报表静态页

l1069030731 2 years ago
parent
commit
c529083ad0
3 changed files with 926 additions and 351 deletions
  1. 1 0
      src/locale/lang/zh-CN.js
  2. 414 351
      src/router/routers.js
  3. 511 0
      src/view/store-out-manage/daily-report/daily-report.vue

+ 1 - 0
src/locale/lang/zh-CN.js

@@ -44,6 +44,7 @@ export default {
   store_warning: '库存预警',
   technician_reprot: '技术员报表',
   picking_tracking: '* 指定领料追踪',
+  daily_report: '每日面料使用率报表',
   material_pay_detail: '付款详情',
   error_401: '暂无权限',
   error_tag: '异常标签查询',

+ 414 - 351
src/router/routers.js

@@ -18,689 +18,752 @@ import Main from '@/components/main'
 
 export default [
   {
-    path: '/login',
-    name: 'login',
+    path: "/login",
+    name: "login",
     meta: {
-      title: 'Login - 登录'
+      title: "Login - 登录",
     },
-    component: () => import('@/view/login/login.vue')
+    component: () => import("@/view/login/login.vue"),
   },
   {
-    path: '/technology_board',
-    name: 'technology_board',
+    path: "/technology_board",
+    name: "technology_board",
     meta: {
-      title: '技术员看板'
+      title: "技术员看板",
     },
-    component: () => import('@/view/other-manage/technology-board')
+    component: () => import("@/view/other-manage/technology-board"),
   },
   {
-    path: '/',
-    name: '_home',
-    redirect: '/home',
+    path: "/",
+    name: "_home",
+    redirect: "/home",
     component: Main,
     meta: {
-      hideInMenu: true
+      hideInMenu: true,
     },
     children: [
       {
-        path: '/home',
-        name: 'home',
+        path: "/home",
+        name: "home",
         meta: {
           hideInMenu: false,
-          title: '首页',
+          title: "首页",
           notCache: true,
-          icon: 'md-home',
+          icon: "md-home",
           hideInHeaderBar: true,
-          access: ['admin', 'supervisor', 'manager']
+          access: ["admin", "supervisor", "manager"],
         },
-        component: () => import('@/view/single-page/home')
+        component: () => import("@/view/single-page/home"),
       },
       {
-        path: '/schedule',
-        name: 'schedule',
+        path: "/schedule",
+        name: "schedule",
         meta: {
           hideInMenu: true,
-          title: '待办事项',
+          title: "待办事项",
           notCache: true,
-          icon: 'md-home'
+          icon: "md-home",
         },
-        component: () => import('@/view/index/schedule/schedule')
+        component: () => import("@/view/index/schedule/schedule"),
       },
       {
-        path: '/msg',
-        name: 'msg',
+        path: "/msg",
+        name: "msg",
         meta: {
           hideInMenu: true,
-          title: '消息提醒',
+          title: "消息提醒",
           notCache: true,
-          icon: 'md-home'
+          icon: "md-home",
         },
-        component: () => import('@/view/index/msg/msg')
+        component: () => import("@/view/index/msg/msg"),
       },
       {
-        path: '/use_today',
-        name: 'use_today',
+        path: "/use_today",
+        name: "use_today",
         meta: {
           hideInMenu: true,
-          title: '今日消耗',
+          title: "今日消耗",
           notCache: true,
-          icon: 'md-home'
+          icon: "md-home",
         },
-        component: () => import('@/view/index/use-today/use-today')
+        component: () => import("@/view/index/use-today/use-today"),
       },
       {
-        path: '/use_detail',
-        name: 'use_detail',
+        path: "/use_detail",
+        name: "use_detail",
         meta: {
           hideInMenu: true,
-          title: '消耗详情',
+          title: "消耗详情",
           notCache: true,
-          icon: 'md-home'
+          icon: "md-home",
         },
-        component: () => import('@/view/index/use-today/use-detail')
+        component: () => import("@/view/index/use-today/use-detail"),
       },
       {
-        path: '/material_stranded',
-        name: 'material_stranded',
+        path: "/material_stranded",
+        name: "material_stranded",
         meta: {
           hideInMenu: true,
-          title: '滞留物料',
+          title: "滞留物料",
           notCache: true,
-          icon: 'md-home'
+          icon: "md-home",
         },
-        component: () => import('@/view/index/material-stranded/material-stranded')
+        component: () =>
+          import("@/view/index/material-stranded/material-stranded"),
       },
       {
-        path: '/store_warning',
-        name: 'store_warning',
+        path: "/store_warning",
+        name: "store_warning",
         meta: {
           hideInMenu: true,
-          title: '库存预警',
+          title: "库存预警",
           notCache: true,
-          icon: 'md-home'
+          icon: "md-home",
         },
-        component: () => import('@/view/index/store-warning/store-warning')
+        component: () => import("@/view/index/store-warning/store-warning"),
       },
       {
-        path: '/error_401',
-        name: 'error_401',
+        path: "/error_401",
+        name: "error_401",
         meta: {
           hideInMenu: true,
-          title: 'error_401',
+          title: "error_401",
           notCache: true,
-          icon: 'md-home'
+          icon: "md-home",
         },
-        component: () => import('@/view/error-page/401')
-      }
-    ]
+        component: () => import("@/view/error-page/401"),
+      },
+    ],
   },
   {
-    path: '/back_management',
-    name: 'back_management',
+    path: "/back_management",
+    name: "back_management",
     meta: {
-      title: '管理端',
-      icon: 'md-settings'
+      title: "管理端",
+      icon: "md-settings",
     },
     component: Main,
     children: [
       {
-        path: '/back_office_management',
-        name: 'back_office_management',
+        path: "/back_office_management",
+        name: "back_office_management",
         hideInMenu: true,
         meta: {
-          title: '后台管理',
-          icon: 'md-settings'
+          title: "后台管理",
+          icon: "md-settings",
         },
-        component: () => import('@/view/back-management/back-office-management')
-      }
-    ]
+        component: () =>
+          import("@/view/back-management/back-office-management"),
+      },
+    ],
   },
   {
-    path: '/other_manage',
-    name: 'other_manage',
+    path: "/other_manage",
+    name: "other_manage",
     meta: {
-      title: '其他',
-      icon: 'md-settings'
+      title: "其他",
+      icon: "md-settings",
     },
     component: Main,
     children: [
       {
-        path: '/other_apply',
-        name: 'other_apply',
+        path: "/other_apply",
+        name: "other_apply",
         hideInMenu: true,
         meta: {
-          title: '发起申请',
-          icon: 'md-settings'
+          title: "发起申请",
+          icon: "md-settings",
         },
-        component: () => import('@/view/other-manage/apply')
+        component: () => import("@/view/other-manage/apply"),
       },
       {
-        path: '/test',
-        name: 'test',
+        path: "/test",
+        name: "test",
         meta: {
-          title: '测试打印',
-          icon: 'md-settings'
+          title: "测试打印",
+          icon: "md-settings",
         },
-        component: () => import('@/view/other-manage/test-print')
-      }
-    ]
+        component: () => import("@/view/other-manage/test-print"),
+      },
+    ],
   },
   {
-    path: '/base_manage',
-    name: 'base_manage',
+    path: "/base_manage",
+    name: "base_manage",
     meta: {
-      title: '基础维护',
-      icon: 'md-settings'
+      title: "基础维护",
+      icon: "md-settings",
     },
     component: Main,
     children: [
       {
-        path: '/warehouse_maintenance',
-        name: 'warehouse_maintenance',
+        path: "/warehouse_maintenance",
+        name: "warehouse_maintenance",
         hideInMenu: true,
         meta: {
-          title: '仓库维护'
+          title: "仓库维护",
         },
-        component: () => import('@/view/base-manage/warehouse-maintenance/warehouse-maintenance')
+        component: () =>
+          import(
+            "@/view/base-manage/warehouse-maintenance/warehouse-maintenance"
+          ),
       },
       {
-        path: '/subarea_manage',
-        name: 'subarea_manage',
+        path: "/subarea_manage",
+        name: "subarea_manage",
         meta: {
-          title: '分区管理',
-          notCache: true
+          title: "分区管理",
+          notCache: true,
         },
-        component: () => import('@/view/base-manage/warehouse-maintenance/subarea-manage')
+        component: () =>
+          import("@/view/base-manage/warehouse-maintenance/subarea-manage"),
       },
       {
-        path: '/material_maintenance',
-        name: 'material_maintenance',
+        path: "/material_maintenance",
+        name: "material_maintenance",
         meta: {
-          title: '物料维护'
+          title: "物料维护",
         },
-        component: () => import('@/view/base-manage/material-maintenance/material-maintenance')
+        component: () =>
+          import(
+            "@/view/base-manage/material-maintenance/material-maintenance"
+          ),
       },
       {
-        path: '/provider_maintenance2',
-        name: 'provider_maintenance2',
+        path: "/provider_maintenance2",
+        name: "provider_maintenance2",
         meta: {
-          title: '供应商维护'
+          title: "供应商维护",
         },
-        component: () => import('@/view/base-manage/provider-maintenance/provider-maintenance')
+        component: () =>
+          import(
+            "@/view/base-manage/provider-maintenance/provider-maintenance"
+          ),
       },
       {
-        path: '/provider_maintenance',
-        name: 'provider_maintenance',
+        path: "/provider_maintenance",
+        name: "provider_maintenance",
         meta: {
-          title: '供应商维护'
+          title: "供应商维护",
         },
-        component: () => import('@/view/base-manage/provider-maintenance/provider-maintenance2')
+        component: () =>
+          import(
+            "@/view/base-manage/provider-maintenance/provider-maintenance2"
+          ),
       },
       {
-        path: '/purchaseList',
-        name: 'purchaseList',
+        path: "/purchaseList",
+        name: "purchaseList",
         meta: {
-          title: '供应商采购概况'
+          title: "供应商采购概况",
         },
-        component: () => import('@/view/base-manage/provider-maintenance/purchaseList')
+        component: () =>
+          import("@/view/base-manage/provider-maintenance/purchaseList"),
       },
       {
-        path: '/purchaseListDtl',
-        name: 'purchaseListDtl',
+        path: "/purchaseListDtl",
+        name: "purchaseListDtl",
         meta: {
-          title: '供应商采购概况'
+          title: "供应商采购概况",
         },
-        component: () => import('@/view/base-manage/provider-maintenance/purchaseListDtl')
+        component: () =>
+          import("@/view/base-manage/provider-maintenance/purchaseListDtl"),
       },
       {
-        path: '/provider_price_maintenance',
-        name: 'provider_price_maintenance',
+        path: "/provider_price_maintenance",
+        name: "provider_price_maintenance",
         meta: {
-          title: '价格维护'
+          title: "价格维护",
         },
-        component: () => import('@/view/base-manage/provider-maintenance/provider-price-maintenance')
-      }
-    ]
+        component: () =>
+          import(
+            "@/view/base-manage/provider-maintenance/provider-price-maintenance"
+          ),
+      },
+    ],
   },
   {
-    path: '/system_manage',
-    name: 'system_manage',
+    path: "/system_manage",
+    name: "system_manage",
     meta: {
-      title: '系统管理',
-      icon: 'md-settings'
+      title: "系统管理",
+      icon: "md-settings",
     },
     component: Main,
     children: [
       {
-        path: '/menu_manage',
-        name: 'menu_manage',
+        path: "/menu_manage",
+        name: "menu_manage",
         meta: {
-          title: '菜单管理'
+          title: "菜单管理",
         },
-        component: () => import('@/view/system-manage/menu')
+        component: () => import("@/view/system-manage/menu"),
       },
       {
-        path: '/user_manage',
-        name: 'user_manage',
+        path: "/user_manage",
+        name: "user_manage",
         meta: {
           notCache: true,
-          title: '用户管理'
+          title: "用户管理",
         },
-        component: () => import('@/view/system-manage/user')
+        component: () => import("@/view/system-manage/user"),
       },
       {
-        path: '/role_manage',
-        name: 'role_manage',
+        path: "/role_manage",
+        name: "role_manage",
         meta: {
-          title: '角色管理'
+          title: "角色管理",
         },
-        component: () => import('@/view/system-manage/role')
+        component: () => import("@/view/system-manage/role"),
       },
       {
-        path: '/dictionary_manage',
-        name: 'dictionary_manage',
+        path: "/dictionary_manage",
+        name: "dictionary_manage",
         meta: {
-          title: '字典管理'
+          title: "字典管理",
         },
-        component: () => import('@/view/system-manage/dictionary/dictionary')
+        component: () => import("@/view/system-manage/dictionary/dictionary"),
       },
       {
-        path: '/version_manage',
-        name: 'version_manage',
+        path: "/version_manage",
+        name: "version_manage",
         meta: {
-          title: '版本控制'
+          title: "版本控制",
         },
-        component: () => import('@/view/system-manage/vision-manage/index')
+        component: () => import("@/view/system-manage/vision-manage/index"),
       },
       {
-        path: '/store_update_old',
-        name: 'store_update_old',
+        path: "/store_update_old",
+        name: "store_update_old",
         meta: {
-          title: '物料修正(旧)'
+          title: "物料修正(旧)",
         },
-        component: () => import('@/view/system-manage/store-update/store-update')
-      }
-    ]
+        component: () =>
+          import("@/view/system-manage/store-update/store-update"),
+      },
+    ],
   },
   {
-    path: '/material_manage',
-    name: 'material_manage',
+    path: "/material_manage",
+    name: "material_manage",
     meta: {
-      title: '物料管理',
-      icon: 'md-settings'
+      title: "物料管理",
+      icon: "md-settings",
     },
     component: Main,
     children: [
       {
-        path: '/material_apply',
-        name: 'material_apply',
+        path: "/material_apply",
+        name: "material_apply",
         meta: {
-          title: '物料申购',
-          icon: 'ios-cart-outline'
+          title: "物料申购",
+          icon: "ios-cart-outline",
         },
-        component: () => import('@/view/material-manege/material-apply/material-apply')
+        component: () =>
+          import("@/view/material-manege/material-apply/material-apply"),
       },
       {
-        path: '/material_apply_detail',
-        name: 'material_apply_detail',
+        path: "/material_apply_detail",
+        name: "material_apply_detail",
         meta: {
-          title: '申购明细',
-          icon: 'ios-cart-outline'
+          title: "申购明细",
+          icon: "ios-cart-outline",
         },
-        component: () => import('@/view/material-manege/material-apply-detail/material-apply-detail')
+        component: () =>
+          import(
+            "@/view/material-manege/material-apply-detail/material-apply-detail"
+          ),
       },
       {
-        path: '/purchaseTotal',
-        name: 'purchaseTotal',
+        path: "/purchaseTotal",
+        name: "purchaseTotal",
         meta: {
-          title: '申购金额统计'
+          title: "申购金额统计",
         },
-        component: () => import('@/view/material-manege/purchaseTotal/purchaseTotal')
+        component: () =>
+          import("@/view/material-manege/purchaseTotal/purchaseTotal"),
       },
       {
-        path: '/material_contract',
-        name: 'material_contract',
+        path: "/material_contract",
+        name: "material_contract",
         meta: {
-          title: '合同管理'
+          title: "合同管理",
         },
-        component: () => import('@/view/material-manege/contract/contract')
+        component: () => import("@/view/material-manege/contract/contract"),
       },
 
-      
       {
-        path: '/material_pay2',
-        name: 'material_pay2',
+        path: "/material_pay2",
+        name: "material_pay2",
         meta: {
-          title: '合同付款'
+          title: "合同付款",
         },
-        component: () => import('@/view/material-manege/pay/pay')
+        component: () => import("@/view/material-manege/pay/pay"),
       },
       {
-        path: '/material_pay',
-        name: 'material_pay',
+        path: "/material_pay",
+        name: "material_pay",
         meta: {
-          title: '合同付款-新'
+          title: "合同付款-新",
         },
-        component: () => import('@/view/material-manege/pay/pay2')
+        component: () => import("@/view/material-manege/pay/pay2"),
       },
       {
-        path: '/material_pay_detail',
-        name: 'material_pay_detail',
+        path: "/material_pay_detail",
+        name: "material_pay_detail",
         meta: {
-          title: '付款详情',
-          notCache: true
+          title: "付款详情",
+          notCache: true,
         },
-        component: () => import('@/view/material-manege/pay/pay-detail')
+        component: () => import("@/view/material-manege/pay/pay-detail"),
       },
       {
-        path: '/pay_transit',
-        name: 'pay_transit',
+        path: "/pay_transit",
+        name: "pay_transit",
         meta: {
-          title: '在途金额',
-          notCache: true
+          title: "在途金额",
+          notCache: true,
         },
-        component: () => import('@/view/material-manege/pay/pay-transit')
+        component: () => import("@/view/material-manege/pay/pay-transit"),
       },
       {
-        path: '/material_bill',
-        name: 'material_bill',
+        path: "/material_bill",
+        name: "material_bill",
         meta: {
-          title: '付款账单'
+          title: "付款账单",
         },
-        component: () => import('@/view/material-manege/pay/bill')
+        component: () => import("@/view/material-manege/pay/bill"),
       },
       {
-        path: '/pay_history',
-        name: 'pay_history',
+        path: "/pay_history",
+        name: "pay_history",
         meta: {
-          title: '历史付款记录'
+          title: "历史付款记录",
         },
-        component: () => import('@/view/material-manege/pay/pay-history')
+        component: () => import("@/view/material-manege/pay/pay-history"),
       },
       {
-        path: '/pay-history2',
-        name: 'pay-history2',
+        path: "/pay-history2",
+        name: "pay-history2",
         meta: {
-          title: '历史付款记录'
+          title: "历史付款记录",
         },
-        component: () => import('@/view/material-manege/pay/pay-history2')
+        component: () => import("@/view/material-manege/pay/pay-history2"),
       },
-      
+
       {
-        path: '/pay_history_detail',
-        name: 'pay_history_detail',
+        path: "/pay_history_detail",
+        name: "pay_history_detail",
         meta: {
-          title: '历史付款记录'
+          title: "历史付款记录",
         },
-        component: () => import('@/view/material-manege/pay/pay-history-detail')
+        component: () =>
+          import("@/view/material-manege/pay/pay-history-detail"),
       },
       {
-        path: '/provider_tag_manage',
-        name: 'provider_tag_manage',
+        path: "/provider_tag_manage",
+        name: "provider_tag_manage",
         meta: {
-          title: '合同标签'
+          title: "合同标签",
         },
-        component: () => import('@/view/provider-manage/provider-shipment-manage/provider-shipment-manage')
-      }
-    ]
+        component: () =>
+          import(
+            "@/view/provider-manage/provider-shipment-manage/provider-shipment-manage"
+          ),
+      },
+    ],
   },
   {
-    path: '/store_in_manage',
-    name: 'store_in_manage',
+    path: "/store_in_manage",
+    name: "store_in_manage",
     meta: {
-      title: '入库管理',
-      icon: 'md-settings'
+      title: "入库管理",
+      icon: "md-settings",
     },
     component: Main,
     children: [
       {
-        path: '/store_in_record',
-        name: 'store_in_record',
+        path: "/store_in_record",
+        name: "store_in_record",
         meta: {
-          title: '入库记录',
-          notCache: true
+          title: "入库记录",
+          notCache: true,
         },
-        component: () => import('@/view/store-in-manage/store-in-record/store-in-record')
+        component: () =>
+          import("@/view/store-in-manage/store-in-record/store-in-record"),
       },
       {
-        path: '/quality_record',
-        name: 'quality_record',
+        path: "/quality_record",
+        name: "quality_record",
         meta: {
-          title: '质检记录'
+          title: "质检记录",
         },
-        component: () => import('@/view/store-in-manage/quality-record/quality-record')
+        component: () =>
+          import("@/view/store-in-manage/quality-record/quality-record"),
       },
       {
-        path: '/quality_record_detail',
-        name: 'quality_record_detail',
+        path: "/quality_record_detail",
+        name: "quality_record_detail",
         meta: {
-          title: '质检详情',
-          notCache: true
+          title: "质检详情",
+          notCache: true,
         },
-        component: () => import('@/view/store-in-manage/quality-record/quality-record-detail')
+        component: () =>
+          import("@/view/store-in-manage/quality-record/quality-record-detail"),
       },
       {
-        path: '/tag',
-        name: 'tag',
+        path: "/tag",
+        name: "tag",
         meta: {
-          title: '标签管理'
+          title: "标签管理",
         },
-        component: () => import('@/view/store-in-manage/tag/tag')
+        component: () => import("@/view/store-in-manage/tag/tag"),
       },
       {
-        path: '/return_material',
-        name: 'return_material',
+        path: "/return_material",
+        name: "return_material",
         meta: {
-          title: '退料管理'
+          title: "退料管理",
         },
-        component: () => import('@/view/store-in-manage/return-material/return-material')
-      }
-    ]
+        component: () =>
+          import("@/view/store-in-manage/return-material/return-material"),
+      },
+    ],
   },
   {
-    path: '/store_manage',
-    name: 'store_manage',
+    path: "/store_manage",
+    name: "store_manage",
     meta: {
-      title: '库存管理',
-      icon: 'md-settings'
+      title: "库存管理",
+      icon: "md-settings",
     },
     component: Main,
     children: [
       {
-        path: '/store',
-        name: 'store',
+        path: "/store",
+        name: "store",
         meta: {
-          title: '库存管理'
+          title: "库存管理",
         },
-        component: () => import('@/view/store-manage/store-manage/store-manage')
+        component: () =>
+          import("@/view/store-manage/store-manage/store-manage"),
       },
       {
-        path: '/store2',
-        name: 'store2',
+        path: "/store2",
+        name: "store2",
         meta: {
-          title: '库存管理'
+          title: "库存管理",
         },
-        component: () => import('@/view/store-manage/store-manage/store-manage-2')
+        component: () =>
+          import("@/view/store-manage/store-manage/store-manage-2"),
       },
       {
-        path: '/inventory',
-        name: 'inventory',
+        path: "/inventory",
+        name: "inventory",
         meta: {
-          title: '发起盘点'
+          title: "发起盘点",
         },
-        component: () => import('@/view/store-manage/store-manage/inventory')
+        component: () => import("@/view/store-manage/store-manage/inventory"),
       },
       {
-        path: '/inventory_update',
-        name: 'inventory_update',
+        path: "/inventory_update",
+        name: "inventory_update",
         meta: {
-          title: '修改盘点记录'
+          title: "修改盘点记录",
         },
-        component: () => import('@/view/store-manage/store-manage/inventory-update')
+        component: () =>
+          import("@/view/store-manage/store-manage/inventory-update"),
       },
       {
-        path: '/inventory_record',
-        name: 'inventory_record',
+        path: "/inventory_record",
+        name: "inventory_record",
         meta: {
-          title: '盘点记录'
+          title: "盘点记录",
         },
-        component: () => import('@/view/store-manage/inventory-record/inventory-record')
+        component: () =>
+          import("@/view/store-manage/inventory-record/inventory-record"),
       },
       {
-        path: '/inventory_record_new',
-        name: 'inventory_record_new',
+        path: "/inventory_record_new",
+        name: "inventory_record_new",
         meta: {
-          title: '最新盘点记录'
+          title: "最新盘点记录",
         },
-        component: () => import('@/view/store-manage/inventory-record/inventory-record-new')
+        component: () =>
+          import("@/view/store-manage/inventory-record/inventory-record-new"),
       },
       {
-        path: '/error_tag',
-        name: 'error_tag',
+        path: "/error_tag",
+        name: "error_tag",
         meta: {
-          title: '异常标签查询'
+          title: "异常标签查询",
         },
-        component: () => import('@/view/store-manage/inventory-record/error-tag')
+        component: () =>
+          import("@/view/store-manage/inventory-record/error-tag"),
       },
       {
-        path: '/error_tag_detail',
-        name: 'error_tag_detail',
+        path: "/error_tag_detail",
+        name: "error_tag_detail",
         meta: {
-          title: '异常标签明细',
-          notCache: true
+          title: "异常标签明细",
+          notCache: true,
         },
-        component: () => import('@/view/store-manage/inventory-record/error-tag-detail')
+        component: () =>
+          import("@/view/store-manage/inventory-record/error-tag-detail"),
       },
       {
-        path: '/inventory_record_detail',
-        name: 'inventory_record_detail',
+        path: "/inventory_record_detail",
+        name: "inventory_record_detail",
         meta: {
-          title: '盘点记录详情'
+          title: "盘点记录详情",
         },
-        component: () => import('@/view/store-manage/inventory-record/inventory-record-detail')
+        component: () =>
+          import(
+            "@/view/store-manage/inventory-record/inventory-record-detail"
+          ),
       },
       {
-        path: '/store_report',
-        name: 'store_report',
+        path: "/store_report",
+        name: "store_report",
         meta: {
-          title: '库存报表'
+          title: "库存报表",
         },
-        component: () => import('@/view/store-manage/store-report/store-report')
+        component: () =>
+          import("@/view/store-manage/store-report/store-report"),
       },
       {
-        path: '/store_material',
-        name: 'store_material',
+        path: "/store_material",
+        name: "store_material",
         meta: {
-          title: '物料库存'
+          title: "物料库存",
         },
-        component: () => import('@/view/store-manage/store-material/store-material')
+        component: () =>
+          import("@/view/store-manage/store-material/store-material"),
       },
       {
-        path: '/store_update',
-        name: 'store_update',
+        path: "/store_update",
+        name: "store_update",
         meta: {
-          title: '物料修正'
+          title: "物料修正",
         },
-        component: () => import('@/view/store-manage/store-update/store-update')
-      }
-    ]
+        component: () =>
+          import("@/view/store-manage/store-update/store-update"),
+      },
+    ],
   },
   {
-    path: '/store_out_manage',
-    name: 'store_out_manage',
+    path: "/store_out_manage",
+    name: "store_out_manage",
     meta: {
-      title: '出库管理',
-      icon: 'md-settings'
+      title: "出库管理",
+      icon: "md-settings",
     },
     component: Main,
     children: [
       {
-        path: '/apply_manage',
-        name: 'apply_manage',
+        path: "/apply_manage",
+        name: "apply_manage",
+        meta: {
+          title: "领料管理",
+        },
+        component: () =>
+          import("@/view/store-out-manage/apply-manage/apply-manage"),
+      },
+      {
+        path: "/store_out_record",
+        name: "store_out_record",
         meta: {
-          title: '领料管理'
+          title: "出库记录",
         },
-        component: () => import('@/view/store-out-manage/apply-manage/apply-manage')
+        component: () =>
+          import("@/view/store-out-manage/store-out-record/store-out-record"),
       },
       {
-        path: '/store_out_record',
-        name: 'store_out_record',
+        path: "/technician_reprot",
+        name: "technician_reprot",
         meta: {
-          title: '出库记录'
+          title: "技术员报表",
         },
-        component: () => import('@/view/store-out-manage/store-out-record/store-out-record')
+        component: () =>
+          import("@/view/store-manage/technician-reprot/technician-reprot"),
       },
       {
-        path: '/technician_reprot',
-        name: 'technician_reprot',
+        path: "/site_inventory",
+        name: "site_inventory",
         meta: {
-          title: '技术员报表'
+          title: "现场库存盘点",
+          notCache: true,
         },
-        component: () => import('@/view/store-manage/technician-reprot/technician-reprot')
+        component: () =>
+          import("@/view/store-manage/technician-reprot/site-inventory"),
       },
       {
-        path: '/site_inventory',
-        name: 'site_inventory',
+        path: "/error_out",
+        name: "error_out",
         meta: {
-          title: '现场库存盘点',
-          notCache: true
+          title: "异常出库",
         },
-        component: () => import('@/view/store-manage/technician-reprot/site-inventory')
+        component: () => import("@/view/store-out-manage/error-out/error-out"),
       },
       {
-        path: '/error_out',
-        name: 'error_out',
+        path: "/picking_tracking",
+        name: "picking_tracking",
         meta: {
-          title: '异常出库'
+          title: "指定领料追踪",
         },
-        component: () => import('@/view/store-out-manage/error-out/error-out')
+        component: () =>
+          import("@/view/store-out-manage/picking-tracking/picking-tracking"),
       },
       {
-        path: '/picking_tracking',
-        name: 'picking_tracking',
+        path: "/daily_report",
+        name: "daily_report",
         meta: {
-          title: '指定领料追踪'
+          title: "每日面料使用率报表",
         },
-        component: () => import('@/view/store-out-manage/picking-tracking/picking-tracking')
-      }
-    ]
+        component: () =>
+          import("@/view/store-out-manage/daily-report/daily-report"),
+      },
+    ],
   },
   {
-    path: '/tag_manage',
-    name: 'tag_manage',
+    path: "/tag_manage",
+    name: "tag_manage",
     meta: {
-      title: '标签管理',
-      icon: 'md-settings'
+      title: "标签管理",
+      icon: "md-settings",
     },
     component: Main,
     children: [
       {
-        path: '/tag_new',
-        name: 'tag_new',
+        path: "/tag_new",
+        name: "tag_new",
         meta: {
-          title: '新建标签'
+          title: "新建标签",
         },
-        component: () => import('@/view/tag-manage/tag-new/tag-new')
-      }
-    ]
+        component: () => import("@/view/tag-manage/tag-new/tag-new"),
+      },
+    ],
   },
   {
-    path: '/provider_manage',
-    name: 'provider_manage',
+    path: "/provider_manage",
+    name: "provider_manage",
     meta: {
-      title: '供应商WEB',
-      icon: 'md-settings'
+      title: "供应商WEB",
+      icon: "md-settings",
     },
     component: Main,
     children: [
       {
-        path: '/provider_shipment_manage',
-        name: 'provider_shipment_manage',
+        path: "/provider_shipment_manage",
+        name: "provider_shipment_manage",
         meta: {
-          title: '出货管理'
+          title: "出货管理",
         },
-        component: () => import('@/view/provider-manage/provider-shipment-manage/provider-shipment-manage')
-      }
-    ]
-  }
-]
+        component: () =>
+          import(
+            "@/view/provider-manage/provider-shipment-manage/provider-shipment-manage"
+          ),
+      },
+    ],
+  },
+];

+ 511 - 0
src/view/store-out-manage/daily-report/daily-report.vue

@@ -0,0 +1,511 @@
+<!-- 供应商价格维护 -->
+<template>
+  <div class="container">
+    <div class="tab-nav">
+      <div class="date-filter-wrap">
+        <span style="font-size: 14px;font-weight: bold;color: black">每日面料使用率报表</span>
+      </div>
+      <div class="date-filter-wrap">
+        <date-select v-model="params" @change="selectTime"></date-select>
+      </div>
+    </div>
+    <div class="border"></div>
+    <div class="tab-nav">
+      <Row>
+        <i-col span="8" style="display: flex">
+          <div style="min-width: 40px; line-height: 32px; text-align: center">直喷:</div>
+          <div class="row">
+            <Button :type="btnIndex === index ? 'primary' : 'default'" @click="userClick(item.jobNo, index)" v-for="(item, index) in userList" :key="index">
+              <span>{{ item.userName }}(</span>
+              <span style="color: red">{{ item.sum }}</span>
+              <span>)</span>
+            </Button>
+          </div>
+        </i-col>
+        <i-col span="8" style="display: flex">
+          <div style="min-width: 40px; line-height: 32px; text-align: center">打纸:</div>
+          <div class="row">
+            <Button :type="btnIndex === index ? 'primary' : 'default'" @click="userClick(item.jobNo, index)" v-for="(item, index) in userList" :key="index">
+              <span>{{ item.userName }}(</span>
+              <span style="color: red">{{ item.sum }}</span>
+              <span>)</span>
+            </Button>
+          </div>
+        </i-col>
+        <i-col span="8" style="display: flex">
+          <div style="min-width: 40px; line-height: 32px; text-align: center">热转:</div>
+          <div class="row">
+            <Button :type="btnIndex === index ? 'primary' : 'default'" @click="userClick(item.jobNo, index)" v-for="(item, index) in userList" :key="index">
+              <span>{{ item.userName }}(</span>
+              <span style="color: red">{{ item.sum }}</span>
+              <span>)</span>
+            </Button>
+          </div>
+
+        </i-col>
+      </Row>
+    </div>
+    <div class="border"></div>
+    <div class="table-filter">
+      <div class="fabricOne" :style="technologyType == 5 ? 'border:2px solid #0077ff' : ''" style="width: 13%" @click="fabricAndInkClick(5)">
+        <div class="label" style="border-right: 2px solid #dcdcdc">
+          <span>排班</span>
+        </div>
+        <ul>
+          <li>
+            面积
+            <span>{{ getData(5, 'num') }}</span>
+          </li>
+        </ul>
+      </div>
+      <div class="fabric" :style="technologyType == 5 ? 'border:2px solid #0077ff' : ''" style="width: 26%" @click="fabricAndInkClick(5)">
+        <div class="label" style="border-right: 2px solid #dcdcdc">
+          <span>领料</span>
+        </div>
+        <ul>
+          <li>
+            金额
+            <span>{{ getData(5, 'num') }}</span>
+          </li>
+          <li>
+            卷数
+            <span>{{ getData(5, 'num') }}</span>
+          </li>
+          <li>
+            米数
+            <span>{{ getData(5, 'purchaseQty') }}</span>
+          </li>
+          <li>
+            面积
+            <span>{{ getData(5, 'area') }}</span>
+          </li>
+        </ul>
+      </div>
+      <div class="fabric" :style="technologyType == 5 ? 'border:2px solid #0077ff' : ''" style="width: 26%" @click="fabricAndInkClick(5)">
+        <div class="label" style="border-right: 2px solid #dcdcdc">
+          <span>退料</span>
+        </div>
+        <ul>
+          <li>
+            金额
+            <span>{{ getData(5, 'num') }}</span>
+          </li>
+          <li>
+            卷数
+            <span>{{ getData(5, 'num') }}</span>
+          </li>
+          <li>
+            米数
+            <span>{{ getData(5, 'purchaseQty') }}</span>
+          </li>
+          <li>
+            面积
+            <span>{{ getData(5, 'area') }}</span>
+          </li>
+        </ul>
+      </div>
+      <div class="fabricOne" :style="technologyType == 5 ? 'border:2px solid #0077ff' : ''" style="width: 13%" @click="fabricAndInkClick(5)">
+        <div class="labelOne" style="border-right: 2px solid #dcdcdc">
+          <span>实际</span><br />
+          <span>使用</span>
+        </div>
+        <ul>
+          <li>
+            面积
+            <span>{{ getData(5, 'num') }}</span>
+          </li>
+        </ul>
+      </div>
+      <div class="fabricOne" :style="technologyType == 5 ? 'border:2px solid #0077ff' : ''" style="width: 13%" @click="fabricAndInkClick(5)">
+        <div class="labelOne" style="border-right: 2px solid #dcdcdc">
+          <span>面料</span><br />
+          <span>使用率</span>
+        </div>
+        <ul>
+          <li>
+            使用率
+            <span>{{ getData(5, 'num') }}</span>
+          </li>
+        </ul>
+      </div>
+    </div>
+    <div class="main">
+      <my-table
+        ref="table"
+        :data="data"
+        :columns="columns"
+        :table-page="params"
+        @on-change="changePage"
+      ></my-table>
+    </div>
+  </div>
+</template>
+
+<script>
+import MyTable from '_c/my-table/my-table'
+import axios from 'axios'
+import dateSelect from '@/components/dateSelect/dateSelect'
+
+export default {
+  name: 'daily_report',
+  components: { MyTable, dateSelect },
+  data() {
+    return {
+      technologyType: '',
+      typeList: {},
+      data: [{spec: 123}],
+      columns: [
+        {
+          title: '序号',
+          type: 'index',
+          width: 60,
+          align: 'center'
+        },
+        {
+          title: '人员',
+          key: 'materialCode',
+          minWidth: 100,
+          align: 'center',
+        },
+        {
+          title: '排版面积',
+          key: 'materialName',
+          minWidth: 100,
+          align: 'center',
+        },
+        {
+          title: '面料名称',
+          key: 'spec',
+          minWidth: 400,
+          align: 'center',
+        },
+        {
+          title: '领料面积',
+          key: 'spec',
+          minWidth: 100,
+          align: 'center',
+        },
+        {
+          title: '退仓面积',
+          key: 'spec',
+          minWidth: 100,
+          align: 'center',
+        },
+        {
+          title: '实际使用面积',
+          key: 'spec',
+          minWidth: 100,
+          align: 'center',
+          className: 'add-color',
+        },
+        {
+          title: '面料使用率',
+          key: 'spec',
+          minWidth: 150,
+          align: 'center',
+          className: 'add-color',
+          render: (h, params) => {
+            if (params.row.spec !== void 0) {
+              return h(
+                'div',
+                {
+                  style: {
+                    color: 'red'
+                  }
+                },
+                parseFloat(Number(params.row.spec) * 100).toFixed(2) + '%'
+              )
+            } else {
+              return h('div', [h('span', '----')])
+            }
+          }
+        },
+      ],
+      userList: [{},{},{},{},{},{},{},{},{},{}],
+      btnIndex: '',
+      params: {
+        pageNum: 1,
+        pageSize: 10,
+        type: '3',
+        beginTime: null,
+        endTime: null,
+        total: 0
+      }
+    }
+  },
+  mounted() {
+    // this.getAllList()
+  },
+  methods: {
+    selectTime() {
+      this.getAllList()
+    },
+    getAllList() {
+      // this.getTypeList()
+      // this.$nextTick(() => {
+      //   this.getList()
+      // })
+    },
+    getTypeList() {
+      // this.technologyType = ''
+      // axios
+      //   .post('/cloudApi/applyPurchase/technologyTypeStatistics', {
+      //     type: this.params.type,
+      //     beginTime: this.params.beginTime,
+      //     endTime: this.params.endTime,
+      //     keyword: this.keyword
+      //   })
+      //   .then(res => {
+      //     this.typeList = res.data.data
+      //   })
+    },
+    fabricAndInkClick(index) {
+      this.technologyType = index
+      this.$nextTick(() => {
+        this.getList()
+      })
+    },
+    getData(num, name) {
+      if (this.typeList[num] && this.typeList[num][name]) {
+        return this.typeList[num][name]
+      } else {
+        return '0'
+      }
+    },
+    changePage(pageNum) {
+      this.params.pageNum = pageNum
+      this.getList()
+    },
+    getList() {
+      // this.$Spin.show()
+      // axios
+      //   .post('/cloudApi/applyPurchase/page', {
+      //     ...this.params,
+      //     type: this.params.type,
+      //     beginTime: this.params.beginTime,
+      //     endTime: this.params.endTime,
+      //     keyword: this.keyword,
+      //     technologyType: String(this.technologyType)
+      //   })
+      //   .then(res => {
+      //     this.data = res.data.data.records
+      //     this.params.total = res.data.data.total
+      //     this.$Spin.hide()
+      //   })
+    },
+  }
+}
+</script>
+
+<style lang="less" scoped>
+.container {
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+  .tab-nav {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    .date-filter-wrap {
+      display: flex;
+      align-items: center;
+      .date-filter {
+        width: 300px;
+        overflow: hidden;
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+        background-color: #ffffff;
+        border-radius: 4px;
+        &.other {
+          width: 100%;
+          height: 100%;
+          .date-tab {
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            justify-content: center;
+            padding: 9px;
+            height: 100%;
+            white-space: nowrap;
+            cursor: auto;
+            &.active {
+              background-color: #333333;
+              font-size: 14px;
+              font-weight: bold;
+            }
+            .num {
+              padding-top: 5px;
+              font-weight: bold;
+              font-size: 14px;
+              &.red {
+                color: red;
+                cursor: pointer;
+                text-decoration: underline;
+              }
+            }
+          }
+        }
+        .date-tab {
+          flex: 1;
+          padding: 9px 4px;
+          line-height: 1;
+          text-align: center;
+          border: 1px solid #e6e6e6;
+          border-radius: 2px;
+          border-right: none;
+          cursor: pointer;
+          font-weight: 500;
+          &:first-child {
+            border-radius: 4px 0 0 4px;
+          }
+          &:last-child {
+            border-radius: 0 4px 4px 0;
+            border-right: 1px solid #e6e6e6;
+          }
+          &.active {
+            background-color: #3f92f9;
+            color: #ffffff;
+          }
+        }
+      }
+    }
+    &.sub-nav {
+      .other-tab {
+        flex: 1;
+        height: 100%;
+        display: flex;
+        flex-direction: column;
+        padding: 5px 10px;
+        text-align: center;
+        border: 1px solid #e6e6e6;
+        border-right: none;
+        font-weight: bold;
+        cursor: pointer;
+        white-space: nowrap;
+        &:first-child {
+          border-radius: 2px 0 0 2px;
+        }
+        &:last-child {
+          border-radius: 0 2px 2px 0;
+          border-right: 1px solid #e6e6e6;
+        }
+        &.active {
+          background-color: #ffffff !important;
+          color: blue !important;
+          border: 1px solid blue;
+        }
+      }
+    }
+    .all {
+      margin-right: 20px;
+    }
+    .row {
+      // white-space: nowrap;
+      button {
+        margin-right: 10px;
+        min-width: 120px;
+        margin-bottom: 10px;
+        &:last-child {
+          margin-right: 0;
+        }
+      }
+    }
+  }
+  .border {
+    margin: 10px 0;
+    width: 100%;
+    height: 1px;
+    background-color: #d7d7d7;
+  }
+  .table-filter {
+    display: flex;
+    justify-content: space-between;
+  }
+  .table-filter > div {
+    background: #ffffff;
+    border: 1px solid #dddcdc;
+    font-size: 18px;
+    height: 60px;
+    line-height: 60px;
+    color: #3f3f3f;
+    ul {
+      display: flex;
+      li {
+        list-style: none;
+        font-size: 12px;
+        color: #838383;
+        line-height: 24px;
+        padding: 6px 0;
+        span {
+          color: #3f3f3f;
+          font-weight: bold;
+          font-size: 18px;
+          display: block;
+        }
+      }
+    }
+  }
+  .fabric {
+    display: flex;
+    .label {
+      width: 20%;
+      text-align: center;
+    }
+    ul {
+      width: 80%;
+      li {
+        width: 25%;
+        text-align: center;
+        line-height: 24px;
+      }
+    }
+  }
+  .fabricOne {
+    display: flex;
+    .label {
+      width: 50%;
+      text-align: center;
+    }
+    .labelOne {
+      width: 50%;
+      line-height: 30px;
+      text-align: center;
+    }
+    ul {
+      width: 50%;
+      li {
+        width: 100%;
+        text-align: center;
+        line-height: 24px;
+      }
+    }
+  }
+  .ink {
+    display: flex;
+    .label {
+      width: 25%;
+      text-align: center;
+    }
+    ul {
+      width: 75%;
+      li {
+        width: 50%;
+        text-align: center;
+      }
+    }
+  }
+  .main {
+    flex: 1;
+    overflow: hidden;
+  }
+}
+::v-deep {
+  .ivu-row {
+    width: 100% !important;
+  }
+  .add-color {
+    color: red;
+  }
+}
+</style>