Selaa lähdekoodia

产品拆分静态页面

cz 2 vuotta sitten
vanhempi
commit
cc8766713d

+ 42 - 0
src/api/inventory-management/split.js

@@ -0,0 +1,42 @@
+import request from '@/router/axios'
+
+// 产品组合列表
+export function getCombinationList(data = {}) {
+  return request({
+    url: '/api/victoriatourist/stockCombination/page',
+    method: 'post',
+    data: data,
+  })
+}
+
+
+
+// 产品组合添加
+export function addCombination(data = {}) {
+  return request({
+    url: '/api/victoriatourist/stockCombination/add',
+    method: 'post',
+    data: data,
+  })
+}
+
+// 获取可组合数量
+export function getCanQuantity(data = {}) {
+  return request({
+    url: '/api/victoriatourist/stockCombination/getQuantityByWarehouseId',
+    method: 'post',
+    data: data,
+  })
+}
+
+// 获取可组合数量
+export function getCombinationNameList(data = {}) {
+  return request({
+    url: '/api/victoriatourist/stockCombination/getCombinationList',
+    method: 'post',
+    data: data,
+  })
+}
+
+
+

+ 52 - 7
src/components/select-product/index.vue

@@ -11,18 +11,25 @@
         label="产品类型"
         align="left"
         prop="type"
+        width="100"
         :formatter="(row) => dictDataEcho(row.type, productTypeList)"
       />
       <el-table-column label="产品编码" align="left" prop="code" />
-      <el-table-column label="产品名称" align="left" prop="name" />
-      <el-table-column label="产品单位" align="left" prop="unit" />
-      <el-table-column label="规格" align="left" prop="specs" width="130" />
-      <el-table-column label="部门" align="left" prop="deptName" />
+      <el-table-column
+        label="产品名称"
+        align="left"
+        prop="name"
+        :formatter="showIsCombination"
+      />
+      <el-table-column label="产品单位" align="left" prop="unit" width="80" />
+      <el-table-column label="规格" align="left" prop="specs" />
+      <el-table-column label="部门" align="left" prop="deptName" width="120" />
       <el-table-column
         label="生命周期"
         align="left"
         prop="lifeCycle"
         :formatter="(row) => dictDataEcho(row.lifeCycle, lifeCycleList)"
+        width="90"
       />
       <el-table-column
         label="当前周期销量"
@@ -30,9 +37,24 @@
         prop="cycleSales"
         width="120"
       />
-      <el-table-column label="京东供价" align="left" prop="jdPurchasePrice" />
-      <el-table-column label="标准售价" align="left" prop="sellingPrice" />
-      <el-table-column label="标准采购价" align="left" prop="purchasePrice" />
+      <el-table-column
+        label="京东供价"
+        align="left"
+        prop="jdPurchasePrice"
+        width="100"
+      />
+      <el-table-column
+        label="标准售价"
+        align="left"
+        prop="sellingPrice"
+        width="100"
+      />
+      <el-table-column
+        label="标准采购价"
+        align="left"
+        prop="purchasePrice"
+        width="100"
+      />
 
       <el-table-column label="操作" align="center" width="80">
         <template slot-scope="scope">
@@ -58,6 +80,12 @@ import query from "@/components/query/index.vue";
 
 export default {
   name: "SelectProduct",
+  props: {
+    isCombination: {
+      type: Boolean,
+      default: false,
+    },
+  },
   components: {
     query,
   },
@@ -70,6 +98,7 @@ export default {
         type: "",
         lifeCycle: "",
         definition: "2",
+        combination: "",
       },
       tableList: [],
       total: 0,
@@ -112,8 +141,14 @@ export default {
       label: item.dictValue,
       value: item.dictKey,
     }));
+  },
+  mounted() {
+    if (this.isCombination === true) {
+      this.req.combination = "1";
+    }
     this.getList();
   },
+
   methods: {
     getList() {
       this.loading = true;
@@ -135,6 +170,16 @@ export default {
     handleQuery() {
       this.getList();
     },
+    showIsCombination(row) {
+      if (row.combination === 1) {
+        return (
+          <div>
+            {row.name} (<span style="color:#0084FF">组合</span>)
+          </div>
+        );
+      }
+      return row.name;
+    },
   },
 };
 </script>

+ 252 - 319
src/router/page/index.js

@@ -1,10 +1,9 @@
 import Layout from '@/page/index/'
 
-export default [
-  {
+export default [{
     path: '/login',
     name: '登录页',
-    component: () => import(/* webpackChunkName: "page" */ '@/page/login/index'),
+    component: () => import( /* webpackChunkName: "page" */ '@/page/login/index'),
     meta: {
       keepAlive: true,
       isTab: false,
@@ -14,7 +13,7 @@ export default [
   {
     path: '/lock',
     name: '锁屏页',
-    component: () => import(/* webpackChunkName: "page" */ '@/page/lock/index'),
+    component: () => import( /* webpackChunkName: "page" */ '@/page/lock/index'),
     meta: {
       keepAlive: true,
       isTab: false,
@@ -23,7 +22,7 @@ export default [
   },
   {
     path: '/404',
-    component: () => import(/* webpackChunkName: "page" */ '@/components/error-page/404'),
+    component: () => import( /* webpackChunkName: "page" */ '@/components/error-page/404'),
     name: '404',
     meta: {
       keepAlive: true,
@@ -33,7 +32,7 @@ export default [
   },
   {
     path: '/403',
-    component: () => import(/* webpackChunkName: "page" */ '@/components/error-page/403'),
+    component: () => import( /* webpackChunkName: "page" */ '@/components/error-page/403'),
     name: '403',
     meta: {
       keepAlive: true,
@@ -43,7 +42,7 @@ export default [
   },
   {
     path: '/500',
-    component: () => import(/* webpackChunkName: "page" */ '@/components/error-page/500'),
+    component: () => import( /* webpackChunkName: "page" */ '@/components/error-page/500'),
     name: '500',
     meta: {
       keepAlive: true,
@@ -60,35 +59,34 @@ export default [
     path: '/myiframe',
     component: Layout,
     redirect: '/myiframe',
-    children: [
-      {
+    children: [{
         path: '/video-setting',
         name: '设备管理',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/management/video-setting/index'),
+        component: () => import( /* webpackChunkName: "page" */ '@/views/management/video-setting/index'),
         props: true,
       },
       {
         path: '/generalProcess',
         name: '通用流程设置',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/process/generalProcess/index'),
+        component: () => import( /* webpackChunkName: "page" */ '@/views/process/generalProcess/index'),
         props: true,
       },
       {
         path: '/processNode',
         name: '流程设置',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/process/processNode/index'),
+        component: () => import( /* webpackChunkName: "page" */ '@/views/process/processNode/index'),
         props: true,
       },
       {
         path: '/nodeConfig',
         name: '节点配置',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/process/processNode/nodeConfig'),
+        component: () => import( /* webpackChunkName: "page" */ '@/views/process/processNode/nodeConfig'),
         props: true,
       },
       {
         path: ':routerPath',
         name: 'iframe',
-        component: () => import(/* webpackChunkName: "page" */ '@/components/iframe/main'),
+        component: () => import( /* webpackChunkName: "page" */ '@/components/iframe/main'),
         props: true,
       },
     ],
@@ -102,7 +100,7 @@ export default [
   {
     path: '/warehouse-maintenance',
     name: '仓库维护',
-    component: () => import(/* webpackChunkName: "page" */ '@/views/basic-configuration/warehouse-maintenance/index'),
+    component: () => import( /* webpackChunkName: "page" */ '@/views/basic-configuration/warehouse-maintenance/index'),
     meta: {
       keepAlive: true,
       isTab: false,
@@ -113,500 +111,435 @@ export default [
     path: '/Internet-of-things/Industry-management',
     component: Layout,
     redirect: '/Internet-of-things/Industry-management/index',
-    children: [
-      {
-        path: 'index',
-        name: '行业管理',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/Internet-of-things/Industry-management/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '行业管理',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/Internet-of-things/Industry-management/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/Internet-of-things/Industry-management',
     component: Layout,
     redirect: '/Internet-of-things/Industry-management/details',
-    children: [
-      {
-        path: 'details',
-        name: '行业详情',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/Internet-of-things/Industry-management/details'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'details',
+      name: '行业详情',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/Internet-of-things/Industry-management/details'),
+      props: true,
+    }, ],
   },
   {
     path: '/Internet-of-things/product-management',
     component: Layout,
     redirect: '/Internet-of-things/product-management/index',
-    children: [
-      {
-        path: 'index',
-        name: '产品管理',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/Internet-of-things/product-management/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '产品管理',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/Internet-of-things/product-management/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/Internet-of-things/equipment-management',
     component: Layout,
     redirect: '/Internet-of-things/equipment-management/index',
-    children: [
-      {
-        path: 'index',
-        name: '设备管理',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/Internet-of-things/equipment-management/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '设备管理',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/Internet-of-things/equipment-management/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/product-material/product',
     component: Layout,
     redirect: '/product-material/product/index',
-    children: [
-      {
-        path: 'index',
-        name: '产品维护',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/product-material/product/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '产品维护',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/product-material/product/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/product-material/material',
     component: Layout,
     redirect: '/product-material/material/index',
-    children: [
-      {
-        path: 'index',
-        name: '物料维护',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/product-material/material/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '物料维护',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/product-material/material/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/product-material/spu',
     component: Layout,
     redirect: '/product-material/spu/index',
-    children: [
-      {
-        path: 'index',
-        name: 'spu维护',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/product-material/spu/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: 'spu维护',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/product-material/spu/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/product-material/warehouse',
     component: Layout,
     redirect: '/product-material/warehouse/index',
-    children: [
-      {
-        path: 'index',
-        name: '仓库维护',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/product-material/warehouse/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '仓库维护',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/product-material/warehouse/index'),
+      props: true,
+    }, ],
   },
 
   {
     path: '/product-material/supply',
     component: Layout,
     redirect: '/product-material/supply/index',
-    children: [
-      {
-        path: 'index',
-        name: '供应商维护',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/product-material/supply/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '供应商维护',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/product-material/supply/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/product-material/supply',
     component: Layout,
     redirect: '/product-material/supply/priceMaintenance',
-    children: [
-      {
-        path: 'priceMaintenance',
-        name: '供应商价格维护',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/product-material/supply/priceMaintenance'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'priceMaintenance',
+      name: '供应商价格维护',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/product-material/supply/priceMaintenance'),
+      props: true,
+    }, ],
   },
   {
     path: '/product-material/customer',
     component: Layout,
     redirect: '/product-material/customer/index',
-    children: [
-      {
-        path: 'index',
-        name: '客户维护',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/product-material/customer/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '客户维护',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/product-material/customer/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/purchase-management/subscribe',
     component: Layout,
     redirect: '/purchase-management/subscribe/index',
-    children: [
-      {
-        path: 'index',
-        name: '申购管理',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/purchase-management/subscribe/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '申购管理',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/purchase-management/subscribe/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/purchase-management/purchase',
     component: Layout,
     redirect: '/purchase-management/purchase/index',
-    children: [
-      {
-        path: 'index',
-        name: '待采购',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/purchase-management/purchase/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '待采购',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/purchase-management/purchase/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/purchase-management/deliver-goods',
     component: Layout,
     redirect: '/purchase-management/deliver-goods/index',
-    children: [
-      {
-        path: 'index',
-        name: '已采购',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/purchase-management/deliver-goods/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '已采购',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/purchase-management/deliver-goods/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/purchase-management/returnsManagement',
     component: Layout,
     redirect: '/purchase-management/returnsManagement/index',
-    children: [
-      {
-        path: 'index',
-        name: '退货管理',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/purchase-management/returnsManagement/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '退货管理',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/purchase-management/returnsManagement/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/purchase-management/settlement',
     component: Layout,
     redirect: '/purchase-management/settlement/purchaseSettlement',
-    children: [
-      {
-        path: 'purchaseSettlement',
-        name: '采购结算',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/purchase-management/settlement/purchaseSettlement'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'purchaseSettlement',
+      name: '采购结算',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/purchase-management/settlement/purchaseSettlement'),
+      props: true,
+    }, ],
   },
   {
     path: '/order-management/order',
     component: Layout,
     redirect: '/order-management/order/index',
-    children: [
-      {
-        path: 'index',
-        name: '销售订单',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/order-management/order/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '销售订单',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/order-management/order/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/order-management/order',
     component: Layout,
     redirect: '/order-management/order/JDorder',
-    children: [
-      {
-        path: 'JDorder',
-        name: '京东订单',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/order-management/order/JDorder'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'JDorder',
+      name: '京东订单',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/order-management/order/JDorder'),
+      props: true,
+    }, ],
   },
   {
     path: '/order-management/afterSales',
     component: Layout,
     redirect: '/order-management/afterSales/index',
-    children: [
-      {
-        path: 'index',
-        name: '售后管理',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/order-management/afterSales/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '售后管理',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/order-management/afterSales/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/order-management/JDReturnGoods',
     component: Layout,
     redirect: '/order-management/JDReturnGoods/index',
-    children: [
-      {
-        path: 'index',
-        name: '京东退货',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/order-management/JDReturnGoods/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '京东退货',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/order-management/JDReturnGoods/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/order-management/JDReturnGoods',
     component: Layout,
     redirect: '/order-management/JDReturnGoods/logisticsList',
-    children: [
-      {
-        path: 'logisticsList',
-        name: '物流数据',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/order-management/JDReturnGoods/logisticsList'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'logisticsList',
+      name: '物流数据',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/order-management/JDReturnGoods/logisticsList'),
+      props: true,
+    }, ],
   },
   {
     path: '/inventory-management/query',
     component: Layout,
     redirect: '/inventory-management/query/index',
-    children: [
-      {
-        path: 'index',
-        name: '库存查询',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/inventory-management/query/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '库存查询',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/inventory-management/query/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/inventory-management/check',
     component: Layout,
     redirect: '/inventory-management/check/index',
-    children: [
-      {
-        path: 'index',
-        name: '库存盘点',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/inventory-management/check/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '库存盘点',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/inventory-management/check/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/inventory-management/combination',
     component: Layout,
     redirect: '/inventory-management/combination/index',
-    children: [
-      {
-        path: 'index',
-        name: '产品组合',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/inventory-management/combination/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '产品组合',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/inventory-management/combination/index'),
+      props: true,
+    }, ],
+  },
+  {
+    path: '/inventory-management/split',
+    component: Layout,
+    redirect: '/inventory-management/split/index',
+    children: [{
+      path: 'index',
+      name: '产品拆分',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/inventory-management/split/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/inventory-management/bill',
     component: Layout,
     redirect: '/inventory-management/bill/index',
-    children: [
-      {
-        path: 'index',
-        name: '单据查看',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/inventory-management/bill/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '单据查看',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/inventory-management/bill/index'),
+      props: true,
+    }, ],
   },
 
   {
     path: '/inbound-outbound/inbound/cgInbound',
     component: Layout,
     redirect: '/inbound-outbound/inbound/cgInbound/index',
-    children: [
-      {
-        path: 'index',
-        name: '采购入库',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/inbound-outbound/inbound/cgInbound/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '采购入库',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/inbound-outbound/inbound/cgInbound/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/inbound-outbound/inbound/manualInbound',
     component: Layout,
     redirect: '/inbound-outbound/inbound/manualInbound/index',
-    children: [
-      {
-        path: 'index',
-        name: '手动入库',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/inbound-outbound/inbound/manualInbound/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '手动入库',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/inbound-outbound/inbound/manualInbound/index'),
+      props: true,
+    }, ],
   },
 
   {
     path: '/inbound-outbound/inbound',
     component: Layout,
     redirect: '/inbound-outbound/inbound/qualityTesting',
-    children: [
-      {
-        path: 'qualityTesting',
-        name: '入库质检',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/inbound-outbound/inbound/qualityTesting'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'qualityTesting',
+      name: '入库质检',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/inbound-outbound/inbound/qualityTesting'),
+      props: true,
+    }, ],
   },
   {
     path: '/inbound-outbound/arrivalInspection',
     component: Layout,
     redirect: '/inbound-outbound/arrivalInspection/index',
-    children: [
-      {
-        path: 'index',
-        name: '到货质检',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/inbound-outbound/arrivalInspection/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '到货质检',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/inbound-outbound/arrivalInspection/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/inbound-outbound/abnormalManage',
     component: Layout,
     redirect: '/inbound-outbound/abnormalManage/index',
-    children: [
-      {
-        path: 'index',
-        name: '异常管理',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/inbound-outbound/abnormalManage/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '异常管理',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/inbound-outbound/abnormalManage/index'),
+      props: true,
+    }, ],
   },
 
   {
     path: '/inbound-outbound/outbound/salesOutbound',
     component: Layout,
     redirect: '/inbound-outbound/outbound/salesOutbound/index',
-    children: [
-      {
-        path: 'index',
-        name: '销售订单出库',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/inbound-outbound/outbound/salesOutbound/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '销售订单出库',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/inbound-outbound/outbound/salesOutbound/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/inbound-outbound/outbound/JDoutbound',
     component: Layout,
     redirect: '/inbound-outbound/outbound/JDoutbound/index',
-    children: [
-      {
-        path: 'index',
-        name: '京东订单出库',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/inbound-outbound/outbound/JDoutbound/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '京东订单出库',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/inbound-outbound/outbound/JDoutbound/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/inbound-outbound/outbound/manualOutbound',
     component: Layout,
     redirect: '/inbound-outbound/outbound/manualOutbound/index',
-    children: [
-      {
-        path: 'index',
-        name: '手动出库',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/inbound-outbound/outbound/manualOutbound/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '手动出库',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/inbound-outbound/outbound/manualOutbound/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/inbound-outbound/transfer',
     component: Layout,
     redirect: '/inbound-outbound/transfer/index',
-    children: [
-      {
-        path: 'index',
-        name: '调仓',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/inbound-outbound/transfer/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '调仓',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/inbound-outbound/transfer/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/inbound-outbound/flow',
     component: Layout,
     redirect: '/inbound-outbound/flow/index',
-    children: [
-      {
-        path: 'index',
-        name: '出入库流水',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/inbound-outbound/flow/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '出入库流水',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/inbound-outbound/flow/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/process/backlog',
     component: Layout,
     redirect: '/process/backlog/index',
-    children: [
-      {
-        path: 'index',
-        name: '流程审批',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/process/backlog/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '流程审批',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/process/backlog/index'),
+      props: true,
+    }, ],
   },
   {
     path: '/process/examinationApproval',
     component: Layout,
     redirect: '/process/examinationApproval/index',
-    children: [
-      {
-        path: 'index',
-        name: '办理',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/process/examinationApproval/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '办理',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/process/examinationApproval/index'),
+      props: true,
+    }, ],
   },
   //```````````````````````````````````````````````````````````````````` 
   {
     path: '/equipment',
     component: Layout,
     redirect: '/equipment/index',
-    children: [
-      {
-        path: 'index',
-        name: '设备',
-        component: () => import(/* webpackChunkName: "page" */ '@/views/equipment/index'),
-        props: true,
-      },
-    ],
+    children: [{
+      path: 'index',
+      name: '设备',
+      component: () => import( /* webpackChunkName: "page" */ '@/views/equipment/index'),
+      props: true,
+    }, ],
   },
   {
     path: '*',

+ 154 - 56
src/views/inventory-management/combination/addCombination.vue

@@ -8,16 +8,34 @@
         :rules="formRules"
         label-width="100px"
       >
-        <el-row>
-          <el-form-item label="组合名称" prop="productId">
+        <div v-if="submitType === '10'">
+          <el-row>
+            <el-form-item label="组合名称" prop="productId">
+              <el-select
+                v-model="form.productId"
+                placeholder="请选择"
+                style="width: 100%"
+                @change="handleGetCanQuantity"
+              >
+                <el-option
+                  v-for="item in combinationNameList"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-row>
+          <!-- <el-row> 规格:xxxxxxxx </el-row> -->
+          <el-form-item label="组合后放置仓库" prop="combinationWarehouseId">
             <el-select
-              v-model="form.productId"
+              v-model="form.combinationWarehouseId"
               placeholder="请选择"
               style="width: 100%"
-              @change="handleGetCanQuantity"
             >
               <el-option
-                v-for="item in combinationNameList"
+                v-for="item in warehouseSelectList"
                 :key="item.id"
                 :label="item.name"
                 :value="item.id"
@@ -25,53 +43,117 @@
               </el-option>
             </el-select>
           </el-form-item>
-        </el-row>
-        <!-- <el-row> 规格:xxxxxxxx </el-row> -->
-        <el-form-item label="组合后放置仓库" prop="combinationWarehouseId">
-          <el-select
-            v-model="form.combinationWarehouseId"
-            placeholder="请选择"
-            style="width: 100%"
-          >
-            <el-option
-              v-for="item in warehouseSelectList"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id"
-            >
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="半成品所在仓库" prop="sourceWarehouseId">
-          <el-select
-            v-model="form.sourceWarehouseId"
-            placeholder="请选择"
-            style="width: 100%"
-            @change="handleGetCanQuantity"
-          >
-            <el-option
-              v-for="item in warehouseSelectList"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id"
+          <el-form-item label="半成品所在仓库" prop="sourceWarehouseId">
+            <el-select
+              v-model="form.sourceWarehouseId"
+              placeholder="请选择"
+              style="width: 100%"
+              @change="handleGetCanQuantity"
             >
-            </el-option>
-          </el-select>
-        </el-form-item>
+              <el-option
+                v-for="item in warehouseSelectList"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
 
-        <el-row>
-          <el-col :span="8">
-            <el-form-item label="组合数量" prop="combinationQuantity">
-              <el-input
-                v-model="form.combinationQuantity"
-                :disabled="canQuantity === 0"
-                placeholder="请输入"
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="组合数量" prop="combinationQuantity">
+                <el-input
+                  v-model="form.combinationQuantity"
+                  :disabled="canQuantity === 0"
+                  placeholder="请输入"
+                >
+                </el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <div style="color: #999999">可组合数量:{{ canQuantity }}</div>
+        </div>
+        <div v-else>
+          <el-row :gutter="10">
+            <el-col :span="12">
+              <el-form-item
+                label="组合后放置仓库"
+                prop="combinationWarehouseId"
               >
-              </el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <div style="color: #999999">可组合数量:{{ canQuantity }}</div>
+                <el-select
+                  v-model="form.combinationWarehouseId"
+                  placeholder="请选择"
+                  style="width: 100%"
+                >
+                  <el-option
+                    v-for="item in warehouseSelectList"
+                    :key="item.id"
+                    :label="item.name"
+                    :value="item.id"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="半成品所在仓库" prop="sourceWarehouseId">
+                <el-select
+                  v-model="form.sourceWarehouseId"
+                  placeholder="请选择"
+                  style="width: 100%"
+                  @change="handleGetCanQuantity"
+                >
+                  <el-option
+                    v-for="item in warehouseSelectList"
+                    :key="item.id"
+                    :label="item.name"
+                    :value="item.id"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <div style="margin-top: 20px">
+            <labelTitle content="组合明细"></labelTitle>
+          </div>
+          <div style="margin: 10px 0">
+            <el-button size="small" @click="selectDialog = true">
+              添加产品</el-button
+            >
+          </div>
+          <el-table :data="form.productCombinationList">
+            <el-table-column label="产品名称" prop="name"> </el-table-column>
+            <el-table-column label="可组合数量" prop="name"> </el-table-column>
+            <el-table-column label="组合数量" prop="linkQuantity">
+              <template slot-scope="scope">
+                <el-form-item
+                  :prop="
+                    'productCombinationList.' + scope.$index + '.linkQuantity'
+                  "
+                  :rules="formRules.linkQuantity"
+                  :inline-message="true"
+                  label-width="0"
+                >
+                  <el-input
+                    v-model="scope.row.linkQuantity"
+                    placeholder="请输入"
+                    size="mini"
+                  >
+                  </el-input>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column label="操作" width="100" align="center">
+              <template slot-scope="scope">
+                <el-button type="text" @click="deleteRow(scope.$index)"
+                  >删除</el-button
+                >
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
       </el-form>
     </div>
     <div style="text-align: center; margin-top: 15px">
@@ -80,12 +162,26 @@
         确定</el-button
       >
     </div>
+
+    <el-dialog
+      title="组合选择"
+      v-if="selectDialog"
+      :visible.sync="selectDialog"
+      width="80%"
+      top="60px"
+    >
+      <selectProduct
+        :isCombination="isCombination"
+        @select="handleSelect"
+      ></selectProduct>
+    </el-dialog>
   </div>
 </template>
 
 <script>
 import labelTitle from "@/components/label-title/index.vue";
-import { getToken } from "@/util/auth";
+import selectProduct from "@/components/select-product/index.vue";
+
 import {
   getCombinationNameList,
   getCanQuantity,
@@ -94,20 +190,20 @@ import {
 import { warehouseSelectList } from "@/api/product-material/warehouse/index.js";
 
 export default {
-  name: "addReturnsGoods",
-  components: { labelTitle },
+  name: "addCombination",
+  components: { labelTitle, selectProduct },
   props: {
     form: {
       type: Object,
       default: () => {},
     },
+    submitType: {
+      type: String,
+      default: "10",
+    },
   },
   data() {
     return {
-      uploadHeader: {
-        Authorization: "Basic c2FiZXI6c2FiZXJfc2VjcmV0",
-        "Blade-Auth": "bearer " + getToken(),
-      },
       loading: false,
       warehouseSelectList: [],
       combinationNameList: [],
@@ -142,6 +238,8 @@ export default {
           },
         ],
       },
+      selectDialog: false,
+      isCombination: true, //默认让选择产品组件请求是组合的产品
     };
   },
   created() {

+ 46 - 12
src/views/inventory-management/combination/index.vue

@@ -27,6 +27,14 @@ export default {
                 this.handleAdd();
               },
             },
+            {
+              name: "批量组合",
+              methodsText: "batch",
+              type: "primary",
+              batch: () => {
+                this.handleBatch();
+              },
+            },
           ],
         },
       },
@@ -47,6 +55,7 @@ export default {
       titleText: "组合操作",
       open: false,
       form: {},
+      submitType: "10", //10组合操作  20批量组合
     };
   },
   created() {
@@ -74,12 +83,20 @@ export default {
       this.getList();
     },
     handleAdd() {
+      this.titleText = "组合操作";
       this.form = {
         productId: "",
         combinationWarehouseId: "",
         sourceWarehouseId: "",
         combinationQuantity: "",
       };
+      this.submitType = "10";
+
+      this.open = true;
+    },
+    handleBatch() {
+      this.titleText = "批量组合";
+      this.submitType = "20";
       this.open = true;
     },
     handleCancel() {
@@ -87,18 +104,34 @@ export default {
     },
     handleEdit(row) {},
     handleSubmit() {
-      API.addCombination(this.form).then(
-        () => {
-          this.msgSuccess("操作成功");
-          this.$refs.addCombination.loading = false;
-          this.open = false;
-          this.getList();
-        },
-        (err) => {
-          console.log("addCombination: " + err);
-          this.$refs.addCombination.loading = false;
-        }
-      );
+      if (this.submitType === "10") {
+        API.addCombination(this.form).then(
+          () => {
+            this.msgSuccess("操作成功");
+            this.$refs.addCombination.loading = false;
+            this.open = false;
+            this.getList();
+          },
+          (err) => {
+            console.log("addCombination: " + err);
+            this.$refs.addCombination.loading = false;
+          }
+        );
+      } else {
+        console.log("piliangzuhe");
+        // API.addCombination(this.form).then(
+        //   () => {
+        //     this.msgSuccess("操作成功");
+        //     this.$refs.addCombination.loading = false;
+        //     this.open = false;
+        //     this.getList();
+        //   },
+        //   (err) => {
+        //     console.log("addCombination: " + err);
+        //     this.$refs.addCombination.loading = false;
+        //   }
+        // );
+      }
     },
   },
 };
@@ -163,6 +196,7 @@ export default {
     >
       <add-combination
         :form="form"
+        :submitType="submitType"
         @submit="handleSubmit"
         @cancel="handleCancel"
         ref="addCombination"

+ 298 - 0
src/views/inventory-management/split/addSplit.vue

@@ -0,0 +1,298 @@
+<template>
+  <div v-loading="loading">
+    <div class="form-box">
+      <el-form
+        label-position="top"
+        :model="form"
+        ref="form"
+        :rules="formRules"
+        label-width="100px"
+      >
+        <div v-if="submitType === '10'">
+          <el-row>
+            <el-form-item label="组合名称" prop="productId">
+              <el-select
+                v-model="form.productId"
+                placeholder="请选择"
+                style="width: 100%"
+                @change="handleGetCanQuantity"
+              >
+                <el-option
+                  v-for="item in combinationNameList"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-row>
+          <!-- <el-row> 规格:xxxxxxxx </el-row> -->
+          <el-form-item label="拆分后放置仓库" prop="combinationWarehouseId">
+            <el-select
+              v-model="form.combinationWarehouseId"
+              placeholder="请选择"
+              style="width: 100%"
+            >
+              <el-option
+                v-for="item in warehouseSelectList"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="成品所在仓库" prop="sourceWarehouseId">
+            <el-select
+              v-model="form.sourceWarehouseId"
+              placeholder="请选择"
+              style="width: 100%"
+              @change="handleGetCanQuantity"
+            >
+              <el-option
+                v-for="item in warehouseSelectList"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="拆分数量" prop="combinationQuantity">
+                <el-input
+                  v-model="form.combinationQuantity"
+                  :disabled="canQuantity === 0"
+                  placeholder="请输入"
+                >
+                </el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <div style="color: #999999">可拆分数量:{{ canQuantity }}</div>
+        </div>
+        <div v-else>
+          <el-row :gutter="10">
+            <el-col :span="12">
+              <el-form-item
+                label="拆分后放置仓库"
+                prop="combinationWarehouseId"
+              >
+                <el-select
+                  v-model="form.combinationWarehouseId"
+                  placeholder="请选择"
+                  style="width: 100%"
+                >
+                  <el-option
+                    v-for="item in warehouseSelectList"
+                    :key="item.id"
+                    :label="item.name"
+                    :value="item.id"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="成品所在仓库" prop="sourceWarehouseId">
+                <el-select
+                  v-model="form.sourceWarehouseId"
+                  placeholder="请选择"
+                  style="width: 100%"
+                  @change="handleGetCanQuantity"
+                >
+                  <el-option
+                    v-for="item in warehouseSelectList"
+                    :key="item.id"
+                    :label="item.name"
+                    :value="item.id"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <div style="margin-top: 20px">
+            <labelTitle content="组合明细"></labelTitle>
+          </div>
+          <div style="margin: 10px 0">
+            <el-button size="small" @click="selectDialog = true">
+              添加产品</el-button
+            >
+          </div>
+          <el-table :data="form.productCombinationList">
+            <el-table-column label="产品名称" prop="name"> </el-table-column>
+            <el-table-column label="可拆分数量" prop="name"> </el-table-column>
+            <el-table-column label="拆分数量" prop="linkQuantity">
+              <template slot-scope="scope">
+                <el-form-item
+                  :prop="
+                    'productCombinationList.' + scope.$index + '.linkQuantity'
+                  "
+                  :rules="formRules.linkQuantity"
+                  :inline-message="true"
+                  label-width="0"
+                >
+                  <el-input
+                    v-model="scope.row.linkQuantity"
+                    placeholder="请输入"
+                    size="mini"
+                  >
+                  </el-input>
+                </el-form-item>
+              </template>
+            </el-table-column>
+            <el-table-column label="操作" width="100" align="center">
+              <template slot-scope="scope">
+                <el-button type="text" @click="deleteRow(scope.$index)"
+                  >删除</el-button
+                >
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+      </el-form>
+    </div>
+    <div style="text-align: center; margin-top: 15px">
+      <el-button size="small" @click="handleCancel">取消 </el-button>
+      <el-button type="primary" size="small" @click="handleSubmit">
+        确定</el-button
+      >
+    </div>
+
+    <el-dialog
+      title="组合选择"
+      v-if="selectDialog"
+      :visible.sync="selectDialog"
+      width="80%"
+      top="60px"
+    >
+      <selectProduct
+        :isCombination="isCombination"
+        @select="handleSelect"
+      ></selectProduct>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import labelTitle from "@/components/label-title/index.vue";
+import selectProduct from "@/components/select-product/index.vue";
+
+import {
+  getCombinationNameList,
+  getCanQuantity,
+} from "@/api/inventory-management/split.js";
+
+import { warehouseSelectList } from "@/api/product-material/warehouse/index.js";
+
+export default {
+  name: "addSplit",
+  components: { labelTitle, selectProduct },
+  props: {
+    form: {
+      type: Object,
+      default: () => {},
+    },
+    submitType: {
+      type: String,
+      default: "10",
+    },
+  },
+  data() {
+    return {
+      loading: false,
+      warehouseSelectList: [],
+      combinationNameList: [],
+      canQuantity: 0,
+      formRules: {
+        productId: [
+          {
+            required: true,
+            message: "请选择组合名称",
+            trigger: "change",
+          },
+        ],
+        combinationWarehouseId: [
+          {
+            required: true,
+            message: "请选择组合后放置仓库",
+            trigger: "change",
+          },
+        ],
+        sourceWarehouseId: [
+          {
+            required: true,
+            message: "请选择半成品所在仓库",
+            trigger: "change",
+          },
+        ],
+        combinationQuantity: [
+          {
+            required: true,
+            message: "请输入组合数量",
+            trigger: "blur",
+          },
+        ],
+      },
+      selectDialog: false,
+      isCombination: true, //默认让选择产品组件请求是组合的产品
+    };
+  },
+  created() {
+    this.getData();
+  },
+  methods: {
+    getData() {
+      getCombinationNameList().then((res) => {
+        this.combinationNameList = res.data.data;
+      });
+      warehouseSelectList().then((res) => {
+        this.warehouseSelectList = res.data.data;
+      });
+    },
+    handleGetCanQuantity() {
+      if (this.form.productId && this.form.sourceWarehouseId) {
+        getCanQuantity({
+          productId: this.form.productId,
+          sourceWarehouseId: this.form.sourceWarehouseId,
+        }).then((res) => {
+          this.canQuantity = res.data.data;
+        });
+      }
+    },
+    handleSubmit() {
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          this.loading = true;
+          this.$emit("submit");
+        }
+      });
+    },
+    handleCancel() {
+      this.$emit("cancel");
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.form-box {
+  height: calc(100vh - 280px);
+  overflow: auto;
+  box-sizing: border-box;
+  padding: 10px;
+}
+
+::v-deep {
+  .el-form-item {
+    margin-bottom: 3px;
+  }
+  .el-form--label-top .el-form-item__label {
+    padding: 8px 0 0 0;
+  }
+}
+</style>

+ 226 - 0
src/views/inventory-management/split/index.vue

@@ -0,0 +1,226 @@
+
+
+<script>
+import test from "@/components/form-test/index.vue";
+import query from "@/components/query/index.vue";
+import byTable from "@/components/by-table/index.js";
+import addSplit from "./addSplit.vue";
+import * as API from "@/api/inventory-management/split.js";
+
+export default {
+  components: {
+    test,
+    byTable,
+    query,
+    addSplit,
+  },
+  data() {
+    return {
+      btnForm: {
+        otherButton: {
+          list: [
+            {
+              name: "拆分操作",
+              methodsText: "add",
+              type: "primary",
+              add: () => {
+                this.handleAdd();
+              },
+            },
+            {
+              name: "批量拆分",
+              methodsText: "batch",
+              type: "primary",
+              batch: () => {
+                this.handleBatch();
+              },
+            },
+          ],
+        },
+      },
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        keyword: "",
+      },
+      selectConfig: [
+        // {
+        //   label: "退款状态",
+        //   prop: "type",
+        //   data: [],
+        // },
+      ],
+      tableList: [],
+      loading: false,
+      titleText: "拆分操作",
+      open: false,
+      form: {},
+      submitType: "10", //10拆分操作  20批量拆分
+    };
+  },
+  created() {
+    const businessDictData = JSON.parse(
+      window.localStorage.getItem("businessDict")
+    );
+    this.getList();
+  },
+  methods: {
+    getList() {
+      this.loading = true;
+      API.getCombinationList(this.queryParams).then(
+        (res) => {
+          this.tableList = res.data.data.records;
+          this.total = res.data.data.total;
+          this.loading = false;
+        },
+        (err) => {
+          console.log("getCombinationList: " + err);
+          this.loading = false;
+        }
+      );
+    },
+    handleQuery() {
+      this.getList();
+    },
+    handleAdd() {
+      this.titleText = "拆分操作";
+      this.form = {
+        productId: "",
+        combinationWarehouseId: "",
+        sourceWarehouseId: "",
+        combinationQuantity: "",
+      };
+      this.submitType = "10";
+
+      this.open = true;
+    },
+    handleBatch() {
+      this.titleText = "批量拆分";
+      this.submitType = "20";
+      this.open = true;
+    },
+    handleCancel() {
+      this.open = false;
+    },
+    handleEdit(row) {},
+
+    handleSubmit() {
+      if (this.submitType === "10") {
+        API.addCombination(this.form).then(
+          () => {
+            this.msgSuccess("操作成功");
+            this.$refs.addCombination.loading = false;
+            this.open = false;
+            this.getList();
+          },
+          (err) => {
+            console.log("addCombination: " + err);
+            this.$refs.addCombination.loading = false;
+          }
+        );
+      } else {
+        console.log("piliangchaifen");
+        // API.addCombination(this.form).then(
+        //   () => {
+        //     this.msgSuccess("操作成功");
+        //     this.$refs.addCombination.loading = false;
+        //     this.open = false;
+        //     this.getList();
+        //   },
+        //   (err) => {
+        //     console.log("addCombination: " + err);
+        //     this.$refs.addCombination.loading = false;
+        //   }
+        // );
+      }
+    },
+  },
+};
+</script>
+
+
+<template>
+  <div class="box-card">
+    <el-card class="header">
+      <test :form-config="btnForm"></test>
+    </el-card>
+    <el-card class="body-main">
+      <query
+        :selectConfig="selectConfig"
+        :req="queryParams"
+        :isShowMore="false"
+        @handleQuery="handleQuery"
+        @handleMore="
+          () => {
+            queryDialog = true;
+          }
+        "
+      ></query>
+      <el-table :data="tableList" v-loading="loading">
+        <el-table-column label="产品组合编码" align="left" prop="productCode" />
+        <el-table-column label="产品组合名称" align="left" prop="productName" />
+        <el-table-column label="规格" align="left" prop="productSpecs" />
+        <el-table-column label="单位" align="left" prop="productUnit" />
+        <el-table-column
+          label="拆分后放置仓库"
+          align="left"
+          prop="sourceWarehouseName"
+        />
+        <el-table-column
+          label="成品所在仓库"
+          align="left"
+          prop="combinationWarehouseName"
+        />
+        <el-table-column
+          label="拆分数量"
+          align="left"
+          prop="combinationQuantity"
+        />
+        <el-table-column label="操作人" align="left" prop="createUserName" />
+        <el-table-column label="操作时间" align="left" prop="createTime" />
+        <!-- <el-table-column label="操作" align="left" width="120">
+          <template slot-scope="scope">
+            <el-button type="text" @click="handleEdit(scope.row)"
+              >查看
+            </el-button>
+          </template>
+        </el-table-column> -->
+      </el-table>
+    </el-card>
+
+    <el-dialog
+      :title="titleText"
+      :visible.sync="open"
+      v-if="open"
+      width="30%"
+      top="60px"
+    >
+      <add-split
+        :form="form"
+        :submitType="submitType"
+        @submit="handleSubmit"
+        @cancel="handleCancel"
+        ref="addSplit"
+      ></add-split>
+    </el-dialog>
+  </div>
+</template>
+
+
+<style lang="scss" scoped>
+.box-card {
+  height: calc(100vh - 110px);
+  overflow-y: auto;
+  display: flex;
+  flex-direction: column;
+  .header {
+    // height: 100px;
+    margin-bottom: 10px;
+    box-sizing: border-box;
+  }
+  .body-main {
+    flex: 1;
+    overflow-y: auto;
+  }
+}
+</style>