整理oms菜单及前端项目文件
This commit is contained in:
parent
331a0cc9b0
commit
e5acb4bd11
|
|
@ -3,7 +3,7 @@
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>com.qihang</groupId>
|
<groupId>com.qihang</groupId>
|
||||||
<artifactId>qihangec-oms</artifactId>
|
<artifactId>qihangerp-oms</artifactId>
|
||||||
<version>2.0.6</version>
|
<version>2.0.6</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,10 +30,10 @@ spring:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# # mybatis 日志
|
# mybatis 日志
|
||||||
# mybatis-plus:
|
mybatis-plus:
|
||||||
# configuration:
|
configuration:
|
||||||
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 开启sql日志
|
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 开启sql日志
|
||||||
|
|
||||||
|
|
||||||
# minio配置
|
# minio配置
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,141 @@
|
||||||
|
/*
|
||||||
|
Navicat Premium Data Transfer
|
||||||
|
|
||||||
|
Source Server : localhost
|
||||||
|
Source Server Type : MySQL
|
||||||
|
Source Server Version : 80200
|
||||||
|
Source Host : localhost:3306
|
||||||
|
Source Schema : qihang-erp
|
||||||
|
|
||||||
|
Target Server Type : MySQL
|
||||||
|
Target Server Version : 80200
|
||||||
|
File Encoding : 65001
|
||||||
|
|
||||||
|
Date: 19/05/2024 18:46:07
|
||||||
|
*/
|
||||||
|
|
||||||
|
SET NAMES utf8mb4;
|
||||||
|
SET FOREIGN_KEY_CHECKS = 0;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_menu
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `sys_menu`;
|
||||||
|
CREATE TABLE `sys_menu` (
|
||||||
|
`menu_id` bigint NOT NULL AUTO_INCREMENT COMMENT '菜单ID',
|
||||||
|
`menu_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单名称',
|
||||||
|
`system_id` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '系统id(oms用在oms系统)',
|
||||||
|
`parent_id` bigint NULL DEFAULT 0 COMMENT '父菜单ID',
|
||||||
|
`order_num` int NULL DEFAULT 0 COMMENT '显示顺序',
|
||||||
|
`path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '路由地址',
|
||||||
|
`component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件路径',
|
||||||
|
`query` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路由参数',
|
||||||
|
`is_frame` int NULL DEFAULT 1 COMMENT '是否为外链(0是 1否)',
|
||||||
|
`is_cache` int NULL DEFAULT 0 COMMENT '是否缓存(0缓存 1不缓存)',
|
||||||
|
`menu_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)',
|
||||||
|
`visible` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '菜单状态(0显示 1隐藏)',
|
||||||
|
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '菜单状态(0正常 1停用)',
|
||||||
|
`perms` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限标识',
|
||||||
|
`icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '#' COMMENT '菜单图标',
|
||||||
|
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
|
||||||
|
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新时间',
|
||||||
|
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
|
||||||
|
PRIMARY KEY (`menu_id`) USING BTREE
|
||||||
|
) ENGINE = InnoDB AUTO_INCREMENT = 2086 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '菜单权限表' ROW_FORMAT = DYNAMIC;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of sys_menu
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO `sys_menu` VALUES (1, '系统管理', 'oms', 0, 99, '/system', '', '', 1, 0, 'M', '0', '0', '', 'system', 'admin', '2023-12-27 15:00:27', 'admin', '2023-12-29 09:07:42.856856', '系统管理目录');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2, '商品管理', '', 0, 9, 'goods', '', '', 1, 0, 'M', '0', '0', '', 'theme', 'admin', '2023-12-29 13:29:44', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (4, '采购管理', NULL, 0, 1, 'purchase', '', '', 1, 0, 'M', '0', '0', '', 'server', 'admin', '2023-12-27 15:00:27', 'admin', '2024-04-24 17:06:13', '至简官网地址');
|
||||||
|
INSERT INTO `sys_menu` VALUES (5, '销售管理', 'oms', 0, 2, '/sale', '', '', 1, 0, 'M', '0', '0', '', 'shopping', 'admin', '2023-12-29 16:53:03', 'admin', '2024-05-11 09:16:33', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (6, '发货管理', 'oms', 0, 3, '/ship', '', '', 1, 0, 'M', '0', '0', '', 'excel', 'admin', '2024-01-01 14:08:04', 'admin', '2024-01-03 14:07:29', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (7, '售后管理', 'oms', 0, 4, '/saleafter', NULL, NULL, 1, 0, 'M', '0', '0', '', 'clipboard', 'admin', '2024-01-03 14:23:55', 'admin', '2024-01-12 19:47:33', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (8, '店铺管理', 'oms', 0, 7, '/shop', NULL, NULL, 1, 0, 'M', '0', '0', '', 'server', 'admin', '2024-04-12 16:46:19', 'admin', '2024-04-24 11:17:09', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (9, '库存管理', '', 0, 5, 'wms', '', '', 1, 0, 'M', '0', '0', '', 'dict', 'admin', '2023-12-31 12:14:33', 'admin', '2024-04-23 15:43:32', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (100, '用户管理', 'oms', 1, 1, 'user', 'system/user/index', '', 1, 0, 'C', '0', '0', 'system:user:list', 'user', 'admin', '2023-12-27 15:00:27', '', '', '用户管理菜单');
|
||||||
|
INSERT INTO `sys_menu` VALUES (101, '角色管理', 'oms', 1, 2, 'role', 'system/role/index', '', 1, 0, 'C', '0', '0', 'system:role:list', 'peoples', 'admin', '2023-12-27 15:00:27', '', '', '角色管理菜单');
|
||||||
|
INSERT INTO `sys_menu` VALUES (102, '菜单管理', '', 1, 3, 'menu', 'system/menu/index', '', 1, 0, 'C', '0', '0', 'system:menu:list', 'tree-table', 'admin', '2023-12-27 15:00:27', '', '', '菜单管理菜单');
|
||||||
|
INSERT INTO `sys_menu` VALUES (103, '部门管理', 'oms', 1, 4, 'dept', 'system/dept/index', '', 1, 0, 'C', '0', '0', 'system:dept:list', 'tree', 'admin', '2023-12-27 15:00:27', '', '', '部门管理菜单');
|
||||||
|
INSERT INTO `sys_menu` VALUES (104, '岗位管理', 'oms', 1, 5, 'post', 'system/post/index', '', 1, 0, 'C', '1', '0', 'system:post:list', 'post', 'admin', '2023-12-27 15:00:27', 'admin', '2024-04-12 16:44:52', '岗位管理菜单');
|
||||||
|
INSERT INTO `sys_menu` VALUES (105, '字典管理', 'oms', 1, 6, 'dict', 'system/dict/index', '', 1, 0, 'C', '0', '0', 'system:dict:list', 'dict', 'admin', '2023-12-27 15:00:27', '', '', '字典管理菜单');
|
||||||
|
INSERT INTO `sys_menu` VALUES (108, '日志管理', 'oms', 1, 9, 'log', '', '', 1, 0, 'M', '0', '0', '', 'log', 'admin', '2023-12-27 15:00:27', '', '', '日志管理菜单');
|
||||||
|
INSERT INTO `sys_menu` VALUES (500, '操作日志', 'oms', 108, 1, 'operlog', 'monitor/operlog/index', '', 1, 0, 'C', '0', '0', 'monitor:operlog:list', 'form', 'admin', '2023-12-27 15:00:27', '', '', '操作日志菜单');
|
||||||
|
INSERT INTO `sys_menu` VALUES (501, '登录日志', 'oms', 108, 2, 'logininfor', 'monitor/logininfor/index', '', 1, 0, 'C', '0', '0', 'monitor:logininfor:list', 'logininfor', 'admin', '2023-12-27 15:00:27', '', '', '登录日志菜单');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1000, '用户查询', NULL, 100, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:user:query', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1001, '用户新增', NULL, 100, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:user:add', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1002, '用户修改', NULL, 100, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:user:edit', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1003, '用户删除', NULL, 100, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:user:remove', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1004, '用户导出', NULL, 100, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:user:export', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1005, '用户导入', NULL, 100, 6, '', '', '', 1, 0, 'F', '0', '0', 'system:user:import', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1006, '重置密码', NULL, 100, 7, '', '', '', 1, 0, 'F', '0', '0', 'system:user:resetPwd', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1007, '角色查询', NULL, 101, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1008, '角色新增', NULL, 101, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1009, '角色修改', NULL, 101, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1010, '角色删除', NULL, 101, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1011, '角色导出', NULL, 101, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1012, '菜单查询', NULL, 102, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1013, '菜单新增', NULL, 102, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1014, '菜单修改', NULL, 102, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1015, '菜单删除', NULL, 102, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1016, '部门查询', NULL, 103, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:query', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1017, '部门新增', NULL, 103, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:add', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1018, '部门修改', NULL, 103, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:edit', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1019, '部门删除', NULL, 103, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:remove', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1020, '岗位查询', NULL, 104, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:post:query', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1021, '岗位新增', NULL, 104, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:post:add', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1022, '岗位修改', NULL, 104, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:post:edit', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1023, '岗位删除', NULL, 104, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:post:remove', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1024, '岗位导出', NULL, 104, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:post:export', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1025, '字典查询', NULL, 105, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:query', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1026, '字典新增', NULL, 105, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:add', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1027, '字典修改', NULL, 105, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1028, '字典删除', NULL, 105, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1029, '字典导出', NULL, 105, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:export', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1039, '操作查询', NULL, 500, 1, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:query', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1040, '操作删除', NULL, 500, 2, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:remove', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1041, '日志导出', NULL, 500, 3, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:export', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1042, '登录查询', NULL, 501, 1, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:query', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1043, '登录删除', NULL, 501, 2, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:remove', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1044, '日志导出', NULL, 501, 3, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:export', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (1045, '账户解锁', NULL, 501, 4, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:unlock', '#', 'admin', '2023-12-27 15:00:27', '', '', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2005, '供应商管理', NULL, 4, 9, 'supplier/list', 'scm/supplier/index', '', 1, 0, 'C', '0', '0', 'scm:supplier', 'qq', 'admin', '2023-12-29 09:14:02', 'admin', '2023-12-29 09:17:27.514466', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2007, '商品管理', NULL, 2, 1, 'goods_list', 'goods/index', '', 1, 0, 'C', '0', '0', 'goods:list', 'theme', 'admin', '2023-12-29 13:31:01', 'admin', '2023-12-29 15:02:40.869685', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2008, '商品分类', NULL, 2, 88, 'goods_category', 'goods/category/index', '', 1, 0, 'C', '0', '0', 'goods:category', 'tree-table', 'admin', '2023-12-29 13:32:41', 'admin', '2023-12-29 15:02:22.220534', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2009, '品牌管理', NULL, 2, 99, 'goods/brand', 'goods/brand/index', '', 1, 0, 'C', '0', '1', 'goods:brand', 'clipboard', 'admin', '2023-12-29 13:34:49', 'admin', '2024-04-14 18:51:23', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2010, '采购单管理', NULL, 4, 1, 'order', 'scm/purchase/order', '', 1, 0, 'C', '0', '0', 'scm:purchase:order', 'button', 'admin', '2023-12-29 16:35:55', 'admin', '2024-04-24 17:06:32', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2012, '采购物流管理', NULL, 4, 2, 'ship', 'scm/purchase/ship', '', 1, 0, 'C', '0', '0', 'scm:purchase:ship', 'component', 'admin', '2023-12-29 16:45:42', 'admin', '2024-04-24 17:10:48', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2015, '店铺管理', 'oms', 8, 10, 'shop_list', 'shop/shop_index', '', 1, 0, 'C', '0', '0', 'shop:list', 'example', 'admin', '2023-12-29 16:54:02', 'admin', '2024-04-25 11:15:07', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2017, '店铺数据统计', 'oms', 5, 8, 'data', 'shop/data', '', 1, 0, 'C', '0', '1', 'shop:data', 'chart', 'admin', '2023-12-29 17:04:08', 'admin', '2023-12-31 19:04:58.785609', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2019, '采购账单管理1', NULL, 4, 2, 'purchase', 'scm/purchase/cost', '', 1, 0, 'C', '0', '1', '', 'money', 'admin', '2023-12-29 17:09:32', 'admin', '2024-04-24 17:05:06', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2021, '创建采购单', NULL, 4, 0, 'order/create', 'scm/purchase/order/create', '', 1, 0, 'C', '1', '0', '', 'edit', 'admin', '2023-12-29 21:23:45', 'admin', '2024-04-24 17:11:38', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2025, '采购单详情', NULL, 4, 1, 'order/detail', 'scm/purchase/order/detail', '', 1, 0, 'C', '1', '0', '', 'button', 'admin', '2023-12-30 17:08:01', 'admin', '2024-04-24 17:15:00', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2027, '入库管理', NULL, 9, 0, 'stock_in_entry/list', 'wms/stockInEntry', '', 1, 0, 'C', '0', '0', 'wms:stock_in_entry:list', 'stockin', 'admin', '2023-12-31 12:27:37', 'admin', '2024-01-14 15:12:48', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2028, '生成采购入库单', NULL, 4, 3, 'ship/create_stock_in_entry', 'scm/purchase/ship/create_stock_in_entry', '', 1, 0, 'C', '1', '0', '', 'button', 'admin', '2023-12-31 12:31:32', 'admin', '2024-04-24 17:12:38', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2029, '店铺退款管理', 'oms', 7, 2, 'shop_refund', 'shop/refund/index', '', 1, 0, 'C', '0', '0', '', 'clipboard', 'admin', '2023-12-31 17:29:03', 'admin', '2024-05-04 18:57:32', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2030, '手动创建订单', 'oms', 5, 1, 'order/create', 'sale/order/create', '', 1, 0, 'C', '1', '0', '', 'documentation', 'admin', '2023-12-31 20:01:22', 'admin', '2024-03-24 19:32:32', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2032, '订单拉取日志', 'oms', 5, 3, 'order/pull_log', 'shop/order_pull_log', '', 1, 0, 'C', '0', '1', '', 'upload', 'admin', '2023-12-31 20:04:12', 'admin', '2024-05-04 18:56:46', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2033, '订单管理', 'oms', 5, 1, 'order_list', 'sale/order/index', '', 1, 0, 'C', '0', '0', '', 'list', 'admin', '2023-12-31 20:05:05', 'admin', '2024-05-05 18:07:27', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2036, '店铺订单管理', 'oms', 5, 2, 'shop_order', 'shop/order_index', '', 1, 0, 'C', '0', '0', '', 'excel', 'admin', '2024-01-01 14:14:42', 'admin', '2024-05-04 18:55:37', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2046, '出库管理', NULL, 9, 5, 'stockOut', 'wms/stockOutEntry', NULL, 1, 0, 'C', '0', '0', '', 'link', 'admin', '2024-01-03 11:00:53', 'admin', '2024-01-12 15:52:19', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2047, '库存查询', NULL, 9, 6, 'goodsInventory', 'goods/goodsInventory', NULL, 1, 0, 'C', '0', '0', '', 'monitor', 'admin', '2024-01-03 11:01:14', 'admin', '2024-01-09 17:55:33', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2048, '库存盘点', NULL, 9, 9, 'pan', NULL, NULL, 1, 0, 'C', '0', '1', '', 'bug', 'admin', '2024-01-03 11:01:43', 'admin', '2024-01-09 19:57:08', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2049, '打包发货', 'oms', 6, 3, 'ship_order', 'shipping/shipOrder/index', NULL, 1, 0, 'C', '0', '0', '', 'guide', 'admin', '2024-01-03 14:09:18', 'admin', '2024-05-02 10:47:38', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2051, '物流跟踪', 'oms', 6, 4, 'ship_logistics', 'shipping/shipOrder/logistics', NULL, 1, 0, 'C', '0', '0', '', 'email', 'admin', '2024-01-03 14:13:12', 'admin', '2024-05-02 10:50:34', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2052, '物流公司管理', 'oms', 6, 9, 'logistics_company', 'shipping/logistics/company', NULL, 1, 0, 'C', '0', '0', '', 'checkbox', 'admin', '2024-01-03 14:14:09', 'admin', '2024-04-24 13:53:14', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2054, '退款管理', 'oms', 7, 1, 'refund_list', 'sale/refund', NULL, 1, 0, 'C', '0', '0', '', 'size', 'admin', '2024-01-03 14:24:36', 'admin', '2024-05-05 20:14:23', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2059, '备货清单', 'oms', 6, 1, 'stocking', 'shipping/stocking', '', 1, 0, 'C', '0', '0', '', 'component', 'admin', '2024-01-09 11:51:52', 'admin', '2024-05-01 21:34:33', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2060, '拣货出库', '', 6, 2, 'stockout', 'shipping/stockOut', NULL, 1, 0, 'C', '0', '0', '', 'bug', 'admin', '2024-01-09 13:39:00', 'admin', '2024-04-26 13:51:21', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2061, '库位管理', NULL, 9, 99, 'stock_location', 'wms/location', NULL, 1, 0, 'C', '0', '0', '', 'education', 'admin', '2024-01-09 13:54:30', 'admin', '2024-01-09 14:50:33', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2063, '发货费用', '', 6, 5, 'ship_fee', 'shipping/shipFee', NULL, 1, 0, 'C', '0', '0', '', 'money', 'admin', '2024-01-12 18:35:31', 'admin', '2024-05-02 10:50:58', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2066, '添加商品', NULL, 2, 2, 'create', 'goods/create', NULL, 1, 0, 'C', '1', '0', '', 'component', 'admin', '2024-01-14 19:42:11', 'admin', '2024-04-14 18:50:36', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2067, '商品SKU管理', NULL, 2, 3, 'spec_list', 'goods/spec', NULL, 1, 0, 'C', '0', '0', '', 'theme', 'admin', '2024-01-16 14:17:39', 'admin', '2024-04-14 18:51:13', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2079, '平台设置', 'oms', 8, 20, 'platform', 'shop/platform', NULL, 1, 0, 'C', '0', '0', NULL, 'date-range', 'admin', '2024-04-12 16:58:07', '', NULL, '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2080, '售后处理查询', 'oms', 7, 3, 'result_list', 'afterSale/index', NULL, 1, 0, 'C', '0', '0', '', 'time', 'admin', '2024-04-15 14:23:40', 'admin', '2024-05-05 20:27:37', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2084, '店铺商品管理', 'oms', 8, 1, 'goods_list', 'shop/goods/', NULL, 1, 0, 'C', '0', '0', '', 'shopping', 'admin', '2024-04-15 14:52:16', 'admin', '2024-04-15 14:52:27', '');
|
||||||
|
INSERT INTO `sys_menu` VALUES (2085, '采购账单管理', NULL, 4, 4, 'bill', 'scm/purchase/bill', NULL, 1, 0, 'C', '0', '0', '', 'money', 'admin', '2024-04-24 17:03:07', 'admin', '2024-05-02 10:59:08', '');
|
||||||
|
|
||||||
|
SET FOREIGN_KEY_CHECKS = 1;
|
||||||
2
pom.xml
2
pom.xml
|
|
@ -3,7 +3,7 @@
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<groupId>com.qihang</groupId>
|
<groupId>com.qihang</groupId>
|
||||||
<artifactId>qihangec-oms</artifactId>
|
<artifactId>qihangerp-oms</artifactId>
|
||||||
<version>2.0.6</version>
|
<version>2.0.6</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询物流公司列表
|
||||||
|
export function listLogistics(query) {
|
||||||
|
return request({
|
||||||
|
url: '/api/logistics/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询物流公司详细
|
||||||
|
export function getLogistics(id) {
|
||||||
|
return request({
|
||||||
|
url: '/api/logistics/' + id,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增物流公司
|
||||||
|
export function addLogistics(data) {
|
||||||
|
return request({
|
||||||
|
url: '/api/logistics',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改物流公司
|
||||||
|
export function updateLogistics(data) {
|
||||||
|
return request({
|
||||||
|
url: '/api/logistics',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除物流公司
|
||||||
|
export function delLogistics(id) {
|
||||||
|
return request({
|
||||||
|
url: '/api/logistics/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询打包发货列表
|
||||||
|
export function listShipOrder(query) {
|
||||||
|
return request({
|
||||||
|
url: '/shipping/ship_order',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getShipOrderItemList(id) {
|
||||||
|
return request({
|
||||||
|
url: '/shipping/ship_order/' + id,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function supplierShipOrder(data) {
|
||||||
|
return request({
|
||||||
|
url: '/shipping/ship_order/supplier_ship',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function wmsShipOrder(data) {
|
||||||
|
return request({
|
||||||
|
url: '/shipping/ship_order/wms_ship',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询列表
|
||||||
|
export function listGoods(query) {
|
||||||
|
return request({
|
||||||
|
url: '/wei-api/goods/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询详细
|
||||||
|
export function getGoods(id) {
|
||||||
|
return request({
|
||||||
|
url: '/wei-api/goods/' + id,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 查询列表
|
||||||
|
export function listGoodsSku(query) {
|
||||||
|
return request({
|
||||||
|
url: '/wei-api/goods/skuList',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export function getGoodsSku(id) {
|
||||||
|
return request({
|
||||||
|
url: '/wei-api/goods/sku/'+id,
|
||||||
|
method: 'get',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 接口拉取订单
|
||||||
|
export function pullGoodsList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/wei-api/goods/pull_goods_list',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询淘宝订单列表
|
||||||
|
export function listOrder(query) {
|
||||||
|
return request({
|
||||||
|
url: '/wei-api/order/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询订单详细
|
||||||
|
export function getOrder(id) {
|
||||||
|
return request({
|
||||||
|
url: '/wei-api/order/' + id,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 接口拉取订单
|
||||||
|
export function pullOrder(data) {
|
||||||
|
return request({
|
||||||
|
url: '/wei-api/order/pull_order',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function pullOrderDetail(data) {
|
||||||
|
return request({
|
||||||
|
url: '/wei-api/order/pull_order_detail',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export function confirmOrder(data) {
|
||||||
|
return request({
|
||||||
|
url: '/wei-api/order/confirmOrder',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询店铺订单列表
|
||||||
|
export function listShopRefund(query) {
|
||||||
|
return request({
|
||||||
|
url: '/wei-api/refund/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 接口拉取订单
|
||||||
|
export function pullRefund(data) {
|
||||||
|
return request({
|
||||||
|
url: '/wei-api/refund/pull_list',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 拉取订单详情
|
||||||
|
export function pullOrderDetail(data) {
|
||||||
|
return request({
|
||||||
|
url: '/wei-api/refund/pull_detail',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -3,27 +3,27 @@
|
||||||
|
|
||||||
<panel-group @handleSetLineChartData="handleSetLineChartData" />
|
<panel-group @handleSetLineChartData="handleSetLineChartData" />
|
||||||
|
|
||||||
<el-row style="background:#fff;padding:16px 16px 0;margin-bottom:32px;">
|
<!-- <el-row style="background:#fff;padding:16px 16px 0;margin-bottom:32px;">-->
|
||||||
<line-chart :chart-data="lineChartData" />
|
<!-- <line-chart :chart-data="lineChartData" />-->
|
||||||
</el-row>
|
<!-- </el-row>-->
|
||||||
|
|
||||||
<el-row :gutter="32">
|
<!-- <el-row :gutter="32">-->
|
||||||
<el-col :xs="24" :sm="24" :lg="8">
|
<!-- <el-col :xs="24" :sm="24" :lg="8">-->
|
||||||
<div class="chart-wrapper">
|
<!-- <div class="chart-wrapper">-->
|
||||||
<raddar-chart />
|
<!-- <raddar-chart />-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</el-col>
|
<!-- </el-col>-->
|
||||||
<el-col :xs="24" :sm="24" :lg="8">
|
<!-- <el-col :xs="24" :sm="24" :lg="8">-->
|
||||||
<div class="chart-wrapper">
|
<!-- <div class="chart-wrapper">-->
|
||||||
<pie-chart />
|
<!-- <pie-chart />-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</el-col>
|
<!-- </el-col>-->
|
||||||
<el-col :xs="24" :sm="24" :lg="8">
|
<!-- <el-col :xs="24" :sm="24" :lg="8">-->
|
||||||
<div class="chart-wrapper">
|
<!-- <div class="chart-wrapper">-->
|
||||||
<bar-chart />
|
<!-- <bar-chart />-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</el-col>
|
<!-- </el-col>-->
|
||||||
</el-row>
|
<!-- </el-row>-->
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,466 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="88px">
|
||||||
|
<el-form-item label="退货单号" prop="refundNum">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.refundNum"
|
||||||
|
placeholder="请输入退货单号"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="原始订单号" prop="orderNum">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.orderNum"
|
||||||
|
placeholder="请输入原始订单号"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="店铺" prop="shopId">
|
||||||
|
<el-select v-model="queryParams.shopId" placeholder="请选择店铺" clearable @change="handleQuery">
|
||||||
|
<el-option
|
||||||
|
v-for="item in shopList"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id">
|
||||||
|
<span style="float: left">{{ item.name }}</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 1">1688</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 2">视频号小店</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 3">京东</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 4">淘宝天猫</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 5">拼多多</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 6">抖店</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 7">小红书</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 8">快手小店</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 99">其他</span>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="状态" prop="status">
|
||||||
|
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable @change="handleQuery">
|
||||||
|
<el-option label="待审核" value="10001" ></el-option>
|
||||||
|
<el-option label="等待买家退货" value="10002"></el-option>
|
||||||
|
<el-option label="等待卖家收货" value="10005"> </el-option>
|
||||||
|
<el-option label="拒绝退款" value="14000"></el-option>
|
||||||
|
<el-option label="退款关闭" value="10011"></el-option>
|
||||||
|
<el-option label="退款完成" value="10010"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
plain
|
||||||
|
icon="el-icon-plus"
|
||||||
|
size="mini"
|
||||||
|
@click="handlePull"
|
||||||
|
v-hasPermi="['api:returned:add']"
|
||||||
|
>拉取店铺售后</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
icon="el-icon-edit"
|
||||||
|
size="mini"
|
||||||
|
:disabled="single"
|
||||||
|
@click="handleUpdate"
|
||||||
|
v-hasPermi="['api:returned:edit']"
|
||||||
|
>订单拦截</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="success"
|
||||||
|
plain
|
||||||
|
icon="el-icon-edit"
|
||||||
|
size="mini"
|
||||||
|
:disabled="single"
|
||||||
|
@click="handleUpdate"
|
||||||
|
v-hasPermi="['api:returned:edit']"
|
||||||
|
>订单补发</el-button>
|
||||||
|
</el-col>
|
||||||
|
<!-- <el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
icon="el-icon-delete"
|
||||||
|
size="mini"
|
||||||
|
:disabled="multiple"
|
||||||
|
@click="handleDelete"
|
||||||
|
v-hasPermi="['api:returned:remove']"
|
||||||
|
>删除</el-button>
|
||||||
|
</el-col> -->
|
||||||
|
<!-- <el-col :span="1.5">-->
|
||||||
|
<!-- <el-button-->
|
||||||
|
<!-- type="warning"-->
|
||||||
|
<!-- plain-->
|
||||||
|
<!-- icon="el-icon-download"-->
|
||||||
|
<!-- size="mini"-->
|
||||||
|
<!-- @click="handleExport"-->
|
||||||
|
<!-- v-hasPermi="['api:returned:export']"-->
|
||||||
|
<!-- >导出</el-button>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-table v-loading="loading" :data="returnedList" @selection-change="handleSelectionChange">
|
||||||
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
|
<!-- <el-table-column label="ID" align="center" prop="id" />-->
|
||||||
|
<el-table-column label="退款单号" align="center" prop="refundNum" />
|
||||||
|
<el-table-column label="类型" align="center" prop="refundType" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag size="small" v-if="scope.row.refundType === 10"> 退货</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.refundType === 20"> 换货</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.refundType === 30"> 维修</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.refundType === 11"> 仅退款</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="原始订单号" align="center" prop="originalOrderId" />
|
||||||
|
<!-- <el-table-column label="店铺id" align="center" prop="shopId" /> -->
|
||||||
|
<!-- <el-table-column label="店铺类型" align="center" prop="shopType" /> -->
|
||||||
|
<!-- <el-table-column label="订单id" align="center" prop="orderId" /> -->
|
||||||
|
<!-- <el-table-column label="子订单id" align="center" prop="orderItemId" /> -->
|
||||||
|
<!-- <el-table-column label="商品id" align="center" prop="goodsId" /> -->
|
||||||
|
<!-- <el-table-column label="规格id" align="center" prop="specId" /> -->
|
||||||
|
<!-- <el-table-column label="商品编码" align="center" prop="goodsNum" /> -->
|
||||||
|
<el-table-column label="sku编码" align="center" prop="specNum" />
|
||||||
|
<el-table-column label="商品名称" align="center" prop="goodsName" />
|
||||||
|
<el-table-column label="SKU" align="center" prop="goodsSku" />
|
||||||
|
<!-- <el-table-column label="商品图片" align="center" prop="goodsImage" width="100">-->
|
||||||
|
<!-- <template slot-scope="scope">-->
|
||||||
|
<!-- <image-preview :src="scope.row.goodsImage" :width="50" :height="50"/>-->
|
||||||
|
<!-- </template>-->
|
||||||
|
<!-- </el-table-column>-->
|
||||||
|
<el-table-column label="数量" align="center" prop="quantity" />
|
||||||
|
<el-table-column label="买家是否需要退货" align="center" prop="hasGoodReturn" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag size="small" v-if="scope.row.hasGoodReturn === 1">是</el-tag>
|
||||||
|
<el-tag size="small" v-else>否</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column label="物流公司" align="center" prop="logisticsCompany" /> -->
|
||||||
|
<!-- <el-table-column label="物流单号" align="center" prop="logisticsCode" />-->
|
||||||
|
<!-- <el-table-column label="收货时间" align="center" prop="receiveTime" width="180">-->
|
||||||
|
<!-- <template slot-scope="scope">-->
|
||||||
|
<!-- <span>{{ parseTime(scope.row.receiveTime, '{y}-{m}-{d}') }}</span>-->
|
||||||
|
<!-- </template>-->
|
||||||
|
<!-- </el-table-column>-->
|
||||||
|
<el-table-column label="备注" align="center" prop="remark" />
|
||||||
|
<el-table-column label="状态" align="center" prop="status" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 10001"> 待审核</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 10002"> 等待买家退货</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 10005"> 等待卖家收货</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 14000"> 拒绝退款</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 10011"> 退款关闭</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 10010"> 退款关闭</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
v-if="scope.row.status === 1"
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-edit"
|
||||||
|
@click="handleUpdate(scope.row)"
|
||||||
|
v-hasPermi="['api:returned:edit']"
|
||||||
|
>确认收货</el-button>
|
||||||
|
<el-button
|
||||||
|
v-if="scope.row.status === 2"
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-edit"
|
||||||
|
@click="handleUpdate(scope.row)"
|
||||||
|
v-hasPermi="['api:returned:edit']"
|
||||||
|
>入库</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<pagination
|
||||||
|
v-show="total>0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="queryParams.pageNum"
|
||||||
|
:limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<!-- 添加或修改退换货对话框 -->
|
||||||
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
|
<el-form-item label="退货单号" prop="returnedNum">
|
||||||
|
<el-input v-model="form.returnedNum" placeholder="请输入退货单号" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="源订单号" prop="orderNum">
|
||||||
|
<el-input v-model="form.orderNum" placeholder="请输入源订单号" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="店铺id" prop="shopId">
|
||||||
|
<el-input v-model="form.shopId" placeholder="请输入店铺id" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="订单id" prop="orderId">
|
||||||
|
<el-input v-model="form.orderId" placeholder="请输入订单id" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="子订单id" prop="orderTimeId">
|
||||||
|
<el-input v-model="form.orderTimeId" placeholder="请输入子订单id" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="商品id" prop="goodsId">
|
||||||
|
<el-input v-model="form.goodsId" placeholder="请输入商品id" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="规格id" prop="specId">
|
||||||
|
<el-input v-model="form.specId" placeholder="请输入规格id" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="商品编码" prop="goodsNum">
|
||||||
|
<el-input v-model="form.goodsNum" placeholder="请输入商品编码" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="规格编码" prop="specNum">
|
||||||
|
<el-input v-model="form.specNum" placeholder="请输入规格编码" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="商品名称" prop="goodsName">
|
||||||
|
<el-input v-model="form.goodsName" placeholder="请输入商品名称" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="商品规格" prop="goodsSpec">
|
||||||
|
<el-input v-model="form.goodsSpec" placeholder="请输入商品规格" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="商品图片" prop="goodsImage">
|
||||||
|
<image-upload v-model="form.goodsImage"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="退货数量" prop="quantity">
|
||||||
|
<el-input v-model="form.quantity" placeholder="请输入退货数量" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="物流公司" prop="logisticsCompany">
|
||||||
|
<el-input v-model="form.logisticsCompany" placeholder="请输入物流公司" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="物流单号" prop="logisticsCode">
|
||||||
|
<el-input v-model="form.logisticsCode" placeholder="请输入物流单号" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="收货时间" prop="receiveTime">
|
||||||
|
<el-date-picker clearable
|
||||||
|
v-model="form.receiveTime"
|
||||||
|
type="date"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
placeholder="请选择收货时间">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="form.remark" placeholder="请输入备注" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="发货人" prop="contactPerson">
|
||||||
|
<el-input v-model="form.contactPerson" placeholder="请输入发货人" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="发货人手机号" prop="mobile">
|
||||||
|
<el-input v-model="form.mobile" placeholder="请输入发货人手机号" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="发货地址" prop="address">
|
||||||
|
<el-input v-model="form.address" placeholder="请输入发货地址" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { listReturned, getReturned, delReturned, addReturned, updateReturned } from "@/api/api/returned";
|
||||||
|
import {listShop} from "@/api/shop/shop";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "Returned",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: true,
|
||||||
|
// 选中数组
|
||||||
|
ids: [],
|
||||||
|
// 非单个禁用
|
||||||
|
single: true,
|
||||||
|
// 非多个禁用
|
||||||
|
multiple: true,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
// 退换货表格数据
|
||||||
|
returnedList: [],
|
||||||
|
shopList:[],
|
||||||
|
// 弹出层标题
|
||||||
|
title: "",
|
||||||
|
// 是否显示弹出层
|
||||||
|
open: false,
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
returnedNum: null,
|
||||||
|
returnedType: null,
|
||||||
|
orderNum: null,
|
||||||
|
shopId: null,
|
||||||
|
shopType: null,
|
||||||
|
orderId: null,
|
||||||
|
orderTimeId: null,
|
||||||
|
goodsId: null,
|
||||||
|
specId: null,
|
||||||
|
goodsNum: null,
|
||||||
|
specNum: null,
|
||||||
|
goodsName: null,
|
||||||
|
goodsSpec: null,
|
||||||
|
goodsImage: null,
|
||||||
|
quantity: null,
|
||||||
|
logisticsCompany: null,
|
||||||
|
logisticsCode: null,
|
||||||
|
receiveTime: null,
|
||||||
|
contactPerson: null,
|
||||||
|
mobile: null,
|
||||||
|
address: null,
|
||||||
|
status: null,
|
||||||
|
},
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
// 表单校验
|
||||||
|
rules: {
|
||||||
|
returnedNum: [
|
||||||
|
{ required: true, message: "退货单号不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
orderNum: [
|
||||||
|
{ required: true, message: "源订单号不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
orderId: [
|
||||||
|
{ required: true, message: "订单id不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
orderTimeId: [
|
||||||
|
{ required: true, message: "子订单id不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
status: [
|
||||||
|
{ required: true, message: "状态不能为空", trigger: "change" }
|
||||||
|
],
|
||||||
|
createTime: [
|
||||||
|
{ required: true, message: "订单创建时间不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
listShop({}).then(response => {
|
||||||
|
this.shopList = response.rows;
|
||||||
|
});
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 查询退换货列表 */
|
||||||
|
getList() {
|
||||||
|
this.loading = true;
|
||||||
|
listReturned(this.queryParams).then(response => {
|
||||||
|
this.returnedList = response.rows;
|
||||||
|
this.total = response.total;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 取消按钮
|
||||||
|
cancel() {
|
||||||
|
this.open = false;
|
||||||
|
this.reset();
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {
|
||||||
|
id: null,
|
||||||
|
returnedNum: null,
|
||||||
|
returnedType: null,
|
||||||
|
orderNum: null,
|
||||||
|
shopId: null,
|
||||||
|
shopType: null,
|
||||||
|
orderId: null,
|
||||||
|
orderTimeId: null,
|
||||||
|
goodsId: null,
|
||||||
|
specId: null,
|
||||||
|
goodsNum: null,
|
||||||
|
specNum: null,
|
||||||
|
goodsName: null,
|
||||||
|
goodsSpec: null,
|
||||||
|
goodsImage: null,
|
||||||
|
quantity: null,
|
||||||
|
logisticsCompany: null,
|
||||||
|
logisticsCode: null,
|
||||||
|
receiveTime: null,
|
||||||
|
remark: null,
|
||||||
|
contactPerson: null,
|
||||||
|
mobile: null,
|
||||||
|
address: null,
|
||||||
|
status: null,
|
||||||
|
createTime: null,
|
||||||
|
createBy: null,
|
||||||
|
updateTime: null,
|
||||||
|
updateBy: null
|
||||||
|
};
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.pageNum = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
this.resetForm("queryForm");
|
||||||
|
this.handleQuery();
|
||||||
|
},
|
||||||
|
// 多选框选中数据
|
||||||
|
handleSelectionChange(selection) {
|
||||||
|
this.ids = selection.map(item => item.id)
|
||||||
|
this.single = selection.length!==1
|
||||||
|
this.multiple = !selection.length
|
||||||
|
},
|
||||||
|
handlePull(){
|
||||||
|
this.$router.push('/saleafter/shop_refund');
|
||||||
|
},
|
||||||
|
/** 修改按钮操作 */
|
||||||
|
handleUpdate(row) {
|
||||||
|
this.reset();
|
||||||
|
const id = row.id || this.ids
|
||||||
|
getReturned(id).then(response => {
|
||||||
|
this.form = response.data;
|
||||||
|
this.open = true;
|
||||||
|
this.title = "修改退换货";
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 提交按钮 */
|
||||||
|
submitForm() {
|
||||||
|
this.$refs["form"].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.form.id != null) {
|
||||||
|
updateReturned(this.form).then(response => {
|
||||||
|
this.$modal.msgSuccess("修改成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
addReturned(this.form).then(response => {
|
||||||
|
this.$modal.msgSuccess("新增成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 导出按钮操作 */
|
||||||
|
handleExport() {
|
||||||
|
this.download('api/returned/export', {
|
||||||
|
...this.queryParams
|
||||||
|
}, `returned_${new Date().getTime()}.xlsx`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||||
|
<el-tab-pane label="仓库发货" name="stockShip">
|
||||||
|
<wms-ship></wms-ship>
|
||||||
|
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="供应商代发货" name="supplierShip" lazy>
|
||||||
|
<supplier-ship></supplier-ship>
|
||||||
|
</el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import supplierShip from "@/views/shipping/shipOrder/supplierShip.vue";
|
||||||
|
import wmsShip from "@/views/shipping/shipOrder/wmsShip.vue";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "stocking",
|
||||||
|
components:{supplierShip,wmsShip},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
activeName: 'stockShip'
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleClick(tab, event) {
|
||||||
|
console.log(tab, event);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
@ -0,0 +1,308 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
|
<el-form-item label="订单编号" prop="orderNum">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.orderNum"
|
||||||
|
placeholder="请输入订单编号"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="店铺" prop="shopId">
|
||||||
|
<el-select v-model="queryParams.shopId" placeholder="请选择店铺" clearable @change="handleQuery">
|
||||||
|
<el-option
|
||||||
|
v-for="item in shopList"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id">
|
||||||
|
<span style="float: left">{{ item.name }}</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 4">淘宝天猫</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 5">拼多多</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 6">抖店</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 7">小红书</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 13">快手小店</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 99">其他</span>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<!--
|
||||||
|
<el-form-item label="标签" prop="tag">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.tag"
|
||||||
|
placeholder="请输入标签"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
-->
|
||||||
|
<el-form-item label="收件人" prop="receiverName">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.receiverName"
|
||||||
|
placeholder="请输入收件人"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="手机号" prop="receiverPhone">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.receiverPhone"
|
||||||
|
placeholder="请输入手机号"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<!-- <el-form-item label="城市" prop="city">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.city"
|
||||||
|
placeholder="请输入城市"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="省份" prop="province">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.province"
|
||||||
|
placeholder="请输入省份"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item> -->
|
||||||
|
|
||||||
|
<el-form-item label="快递单号" prop="shippingNumber">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.shippingNumber"
|
||||||
|
placeholder="请输入快递单号"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
plain
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
@click="handleExport"
|
||||||
|
v-hasPermi="['shop:order:export']"
|
||||||
|
>导出</el-button>
|
||||||
|
</el-col>
|
||||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-table v-loading="loading" :data="orderList" @selection-change="handleSelectionChange">
|
||||||
|
<!-- <el-table-column type="selection" width="55" align="center" />-->
|
||||||
|
<!-- <el-table-column label="订单ID" align="center" prop="id" />-->
|
||||||
|
<el-table-column label="订单号" align="center" prop="orderNum" />
|
||||||
|
<el-table-column label="物流公司" align="center" prop="logisticsCompany" />
|
||||||
|
<el-table-column label="物流单号" align="center" prop="logisticsCode" />
|
||||||
|
<el-table-column label="发货时间" align="center" prop="shipTime" />
|
||||||
|
<el-table-column label="运费" align="center" prop="logisticsFee" />
|
||||||
|
<el-table-column label="发货人" align="center" prop="shippingMan" />
|
||||||
|
|
||||||
|
|
||||||
|
<el-table-column label="收件信息" align="center" prop="receiverName" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{scope.row.receiverName}} {{scope.row.receiverPhone}}<br />
|
||||||
|
{{scope.row.address}}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column label="手机号" align="center" prop="receiverPhone" /> -->
|
||||||
|
<!-- <el-table-column label="${comment}" align="center" prop="address" /> -->
|
||||||
|
<!-- <el-table-column label="${comment}" align="center" prop="town" /> -->
|
||||||
|
<!-- <el-table-column label="省" align="center" prop="province" /> -->
|
||||||
|
<!-- <el-table-column label="市" align="center" prop="city" /> -->
|
||||||
|
<el-table-column label="包裹信息" align="center" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
长:{{scope.row.length}}mm 宽:{{scope.row.width}}mm 高:{{scope.row.height}}mm<br />
|
||||||
|
重量:{{scope.row.weight}}g
|
||||||
|
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column label="快递单号" align="center" prop="shippingNumber" />-->
|
||||||
|
<!-- <el-table-column label="物流公司" align="center" prop="shippingCompany" /> -->
|
||||||
|
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
|
||||||
|
<!-- <template slot-scope="scope">-->
|
||||||
|
<!-- <el-col :span="24">-->
|
||||||
|
<!-- <el-button-->
|
||||||
|
<!-- size="mini" style="width: 80px;"-->
|
||||||
|
<!-- type="success"-->
|
||||||
|
<!-- icon="el-icon-s-promotion"-->
|
||||||
|
<!-- @click="handleShip(scope.row)"-->
|
||||||
|
<!-- v-hasPermi="['shop:order:edit']"-->
|
||||||
|
<!-- >打包发货</el-button>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<!-- <el-button-->
|
||||||
|
<!-- size="mini"-->
|
||||||
|
<!-- type="text"-->
|
||||||
|
<!-- icon="el-icon-view"-->
|
||||||
|
<!-- @click="handleDetail(scope.row)"-->
|
||||||
|
<!-- v-hasPermi="['shop:order:edit']"-->
|
||||||
|
<!-- >详情</el-button>-->
|
||||||
|
<!-- <el-button-->
|
||||||
|
<!-- size="mini"-->
|
||||||
|
<!-- type="text"-->
|
||||||
|
<!-- icon="el-icon-view"-->
|
||||||
|
<!-- @click="handleDetail(scope.row)"-->
|
||||||
|
<!-- v-hasPermi="['shop:order:edit']"-->
|
||||||
|
<!-- >打印发货单</el-button>-->
|
||||||
|
|
||||||
|
<!-- </template>-->
|
||||||
|
<!-- </el-table-column>-->
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<pagination
|
||||||
|
v-show="total>0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="queryParams.pageNum"
|
||||||
|
:limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {listShipOrder} from "@/api/shipping/shipOrder";
|
||||||
|
import { listShop } from "@/api/shop/shop";
|
||||||
|
import { listLogistics } from "@/api/shipping/logistics";
|
||||||
|
export default {
|
||||||
|
name: "Order",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: true,
|
||||||
|
// 选中数组
|
||||||
|
ids: [],
|
||||||
|
// 子表选中数据
|
||||||
|
checkedSShopOrderItem: [],
|
||||||
|
// 非单个禁用
|
||||||
|
single: true,
|
||||||
|
// 非多个禁用
|
||||||
|
multiple: true,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
// 店铺订单表格数据
|
||||||
|
orderList: [],
|
||||||
|
// ${subTable.functionName}表格数据
|
||||||
|
sShopOrderItemList: [],
|
||||||
|
shopList:[],
|
||||||
|
// 弹出层标题
|
||||||
|
detailTitle:'订单详情',
|
||||||
|
detailOpen:false,
|
||||||
|
isAudit:false,
|
||||||
|
shipOpen:false,
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
shipStatus: 3
|
||||||
|
},
|
||||||
|
logisticsList:[],
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
// 表单校验
|
||||||
|
rules: {
|
||||||
|
height: [{ required: true, message: '不能为空' }],
|
||||||
|
weight: [{ required: true, message: '不能为空' }],
|
||||||
|
shippingNumber: [{ required: true, message: '不能为空' }],
|
||||||
|
shippingCompany: [{ required: true, message: '不能为空' }],
|
||||||
|
shippingMan: [{ required: true, message: '不能为空' }],
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
listShop({}).then(response => {
|
||||||
|
this.shopList = response.rows;
|
||||||
|
});
|
||||||
|
listLogistics({}).then(resp=>{
|
||||||
|
this.logisticsList = resp.rows
|
||||||
|
})
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 查询店铺订单列表 */
|
||||||
|
getList() {
|
||||||
|
this.loading = true;
|
||||||
|
listShipOrder(this.queryParams).then(response => {
|
||||||
|
this.orderList = response.rows;
|
||||||
|
this.total = response.total;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.pageNum = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
this.resetForm("queryForm");
|
||||||
|
this.handleQuery();
|
||||||
|
},
|
||||||
|
// 多选框选中数据
|
||||||
|
handleSelectionChange(selection) {
|
||||||
|
this.ids = selection.map(item => item.id)
|
||||||
|
this.single = selection.length!==1
|
||||||
|
this.multiple = !selection.length
|
||||||
|
},
|
||||||
|
cancel(){
|
||||||
|
this.shipOpen = false
|
||||||
|
},
|
||||||
|
/** 导出按钮操作 */
|
||||||
|
handleExport() {
|
||||||
|
this.download('api/order/export', {
|
||||||
|
...this.queryParams
|
||||||
|
}, `order_${new Date().getTime()}.xlsx`)
|
||||||
|
},
|
||||||
|
reset(){
|
||||||
|
|
||||||
|
},
|
||||||
|
/** 删除按钮操作 */
|
||||||
|
handleDetail(row) {
|
||||||
|
this.reset();
|
||||||
|
const id = row.id || this.ids
|
||||||
|
getOrder(id).then(response => {
|
||||||
|
this.form = response.data;
|
||||||
|
// this.$nextTick(()=>{
|
||||||
|
// this.form.shipType = response.data.shipType
|
||||||
|
// })
|
||||||
|
this.detailOpen = true;
|
||||||
|
this.detailTitle = "订单详情";
|
||||||
|
});
|
||||||
|
this.isAudit = false
|
||||||
|
},
|
||||||
|
/** 打包发货 **/
|
||||||
|
handleShip(row){
|
||||||
|
this.reset();
|
||||||
|
getOrder(row.id).then(response => {
|
||||||
|
this.form = response.data;
|
||||||
|
|
||||||
|
this.shipOpen = true;
|
||||||
|
// this.detailTitle = "订单详情";
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
submitShipForm(){
|
||||||
|
this.$refs["form"].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
shipOrder(this.form).then(resp =>{
|
||||||
|
this.$modal.msgSuccess("发货成功");
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
@ -0,0 +1,392 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
|
<el-form-item label="店铺" prop="shopId">
|
||||||
|
<el-select v-model="queryParams.shopId" filterable placeholder="搜索店铺" >
|
||||||
|
<el-option v-for="item in shopList" :key="item.id" :label="item.name" :value="item.id">
|
||||||
|
<span style="float: left">{{ item.name }}</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 1">1688</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 2">视频号小店</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 3">京东</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 4">淘宝天猫</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 5">拼多多</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 6">抖店</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 7">小红书</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 8">快手小店</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 99">其他</span>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="供应商" prop="supplierId">
|
||||||
|
<el-select
|
||||||
|
v-model="queryParams.supplierId"
|
||||||
|
filterable
|
||||||
|
placeholder="请选择供应商">
|
||||||
|
<el-option
|
||||||
|
v-for="item in supplierList"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="订单编号" prop="orderNum">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.orderNum"
|
||||||
|
placeholder="请输入订单编号"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
|
||||||
|
<el-form-item label="规格编码" prop="specNum">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.specNum"
|
||||||
|
placeholder="请输入商品规格编码"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<!-- <el-col :span="1.5">-->
|
||||||
|
<!-- <el-button-->
|
||||||
|
<!-- type="danger"-->
|
||||||
|
<!-- plain-->
|
||||||
|
<!-- icon="el-icon-document-checked"-->
|
||||||
|
<!-- size="mini"-->
|
||||||
|
<!-- :disabled="multiple"-->
|
||||||
|
<!-- @click="handleDelete"-->
|
||||||
|
<!-- >批量付款确认</el-button>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
plain
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
@click="handleExport"
|
||||||
|
v-hasPermi="['scm:agentShipping:export']"
|
||||||
|
>导出</el-button>
|
||||||
|
</el-col>
|
||||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-table v-loading="loading" :data="agentShippingList" @selection-change="handleSelectionChange">
|
||||||
|
<!-- <el-table-column type="selection" width="55" align="center" />-->
|
||||||
|
<el-table-column label="订单编号" align="center" prop="orderNum" />
|
||||||
|
<!-- <el-table-column label="主键ID" align="center" prop="id" /> -->
|
||||||
|
<el-table-column label="供应商" align="center" prop="supplierId" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ supplierList.find(x=>x.id === scope.row.supplierId)?supplierList.find(x=>x.id === scope.row.supplierId).name:'' }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="店铺" align="center" prop="shopId" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ shopList.find(x=>x.id === scope.row.shopId)?shopList.find(x=>x.id === scope.row.shopId).name:'' }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column label="店铺平台" align="center" prop="shopType" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag size="small" v-if="scope.row.shopType === 4">淘宝</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.shopType === 5">拼多多</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.shopType === 6">抖店</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.shopType === 7">小红书</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column> -->
|
||||||
|
|
||||||
|
<!-- <el-table-column label="子订单编号" align="center" prop="subOrderNum" />-->
|
||||||
|
<!-- <el-table-column label="下单日期" align="center" prop="orderDate" width="180">-->
|
||||||
|
<!-- <template slot-scope="scope">-->
|
||||||
|
<!-- <span>{{ parseTime(scope.row.orderDate, '{y}-{m}-{d}') }}</span>-->
|
||||||
|
<!-- </template>-->
|
||||||
|
<!-- </el-table-column>-->
|
||||||
|
|
||||||
|
<!-- <el-table-column label="商品图片" >-->
|
||||||
|
<!-- <template slot-scope="scope">-->
|
||||||
|
<!-- <el-image style="width: 70px; height: 70px;" :src="scope.row.goodsImg"></el-image>-->
|
||||||
|
<!-- </template>-->
|
||||||
|
<!-- </el-table-column>-->
|
||||||
|
<el-table-column label="商品ID" align="center" prop="goodsId" />
|
||||||
|
<el-table-column label="SkuId" align="center" prop="specId" />
|
||||||
|
<el-table-column label="Sku编码" align="center" prop="specNum" />
|
||||||
|
<el-table-column label="数量" align="center" prop="quantity" />
|
||||||
|
|
||||||
|
<el-table-column label="SKU编码" align="center" prop="specNum" />
|
||||||
|
<el-table-column label="操作" align="center" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
v-if="scope.row.shipStatus !== 3"
|
||||||
|
size="mini"
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-s-promotion"
|
||||||
|
@click="handleShip(scope.row)"
|
||||||
|
v-hasPermi="['scm:agentShipping:edit']"
|
||||||
|
>发货</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<pagination
|
||||||
|
v-show="total>0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="queryParams.pageNum"
|
||||||
|
:limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<!-- 添加或修改供应商代发货对话框 -->
|
||||||
|
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px" inline>
|
||||||
|
|
||||||
|
<el-form-item label="订单编号" prop="orderNum">
|
||||||
|
<el-input v-model="form.orderNum" placeholder="请输入订单编号" disabled/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="订单日期" prop="orderDate">
|
||||||
|
<el-date-picker clearable
|
||||||
|
v-model="form.orderTime" disabled
|
||||||
|
type="datetime"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
placeholder="请选择订单日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-divider content-position="center">订单商品</el-divider>
|
||||||
|
<el-table :data="itemList" style="margin-bottom: 10px;">
|
||||||
|
<!-- <el-table-column type="selection" width="50" align="center" /> -->
|
||||||
|
<el-table-column label="序号" align="center" type="index" width="50"/>
|
||||||
|
<el-table-column label="供应商" prop="supplierId">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ supplierList.find(x=>x.id === scope.row.supplierId)?supplierList.find(x=>x.id === scope.row.supplierId).name:'' }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="商品ID" prop="goodsId"/>
|
||||||
|
<el-table-column label="SkuId" prop="specId"/>
|
||||||
|
<el-table-column label="Sku编码" prop="specNum"/>
|
||||||
|
<el-table-column label="数量" prop="quantity"/>
|
||||||
|
<el-table-column label="采购金额" prop="purAmount">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.purAmount" placeholder="请输入采购金额" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<el-form-item label="物流公司" prop="logisticsCompany">
|
||||||
|
<el-select v-model="form.logisticsCompany" filterable r placeholder="选择快递公司" >
|
||||||
|
<el-option v-for="item in logisticsList" :key="item.id" :label="item.name" :value="item.name">
|
||||||
|
<span style="float: left">{{ item.name }}</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" >{{item.number}}</span>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="物流单号" prop="logisticsCode">
|
||||||
|
<el-input v-model="form.logisticsCode" placeholder="请输入物流单号" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="运费" prop="logisticsFee">
|
||||||
|
<el-input type="number" v-model.number="form.logisticsFee" placeholder="请输入运费" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="发货时间" prop="shipTime">
|
||||||
|
<el-date-picker clearable
|
||||||
|
v-model="form.shipTime"
|
||||||
|
type="datetime"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
placeholder="请选择发货时间">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
|
||||||
|
</el-form-item>
|
||||||
|
<!-- <el-form-item label="子订单金额" prop="itemAmount">-->
|
||||||
|
<!-- <el-input v-model="form.itemAmount" placeholder="请输入子订单金额" />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {getShipOrderItemList, listShipOrder, supplierShipOrder} from "@/api/shipping/shipOrder";
|
||||||
|
import { listSupplier} from "@/api/scm/supplier";
|
||||||
|
import { listShop } from "@/api/shop/shop";
|
||||||
|
import {listLogistics} from "@/api/shipping/logistics";
|
||||||
|
export default {
|
||||||
|
name: "supplierShip",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: true,
|
||||||
|
// 选中数组
|
||||||
|
ids: [],
|
||||||
|
// 非单个禁用
|
||||||
|
single: true,
|
||||||
|
// 非多个禁用
|
||||||
|
multiple: true,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
// 供应商代发货表格数据
|
||||||
|
agentShippingList: [],
|
||||||
|
// 弹出层标题
|
||||||
|
title: "",
|
||||||
|
// 是否显示弹出层
|
||||||
|
open: false,
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
shopId: null,
|
||||||
|
goodsId: null,
|
||||||
|
specId: null,
|
||||||
|
shipType: 1,
|
||||||
|
shipStatus: 1,
|
||||||
|
specNum: null
|
||||||
|
},
|
||||||
|
shopList: [],
|
||||||
|
logisticsList:[],
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
itemList:[],
|
||||||
|
// 表单校验
|
||||||
|
rules: {
|
||||||
|
logisticsCompany: [{ required: true, message: '不能为空' }],
|
||||||
|
logisticsCode: [{ required: true, message: '不能为空' }],
|
||||||
|
logisticsFee: [{ required: true, message: '不能为空' }],
|
||||||
|
shipTime: [{ required: true, message: '不能为空' }],
|
||||||
|
},
|
||||||
|
supplierLoading:false,
|
||||||
|
supplierList:[]
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
listShop({}).then(response => {
|
||||||
|
this.shopList = response.rows;
|
||||||
|
});
|
||||||
|
this.getList();
|
||||||
|
// listShop({}).then(response => {
|
||||||
|
// this.shopList = response.rows;
|
||||||
|
// });
|
||||||
|
listSupplier({}).then(response => {
|
||||||
|
this.supplierList = response.rows;
|
||||||
|
});
|
||||||
|
listLogistics({}).then(resp=>{
|
||||||
|
this.logisticsList = resp.rows
|
||||||
|
})
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
searchSupplier(query){
|
||||||
|
this.supplierLoading = true;
|
||||||
|
const qw = {
|
||||||
|
name:query
|
||||||
|
}
|
||||||
|
listSupplier(qw).then(response => {
|
||||||
|
this.supplierList = response.rows;
|
||||||
|
this.supplierLoading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 查询供应商代发货列表 */
|
||||||
|
getList() {
|
||||||
|
this.loading = true;
|
||||||
|
listShipOrder(this.queryParams).then(response => {
|
||||||
|
this.agentShippingList = response.rows;
|
||||||
|
this.total = response.total;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 取消按钮
|
||||||
|
cancel() {
|
||||||
|
this.open = false;
|
||||||
|
this.reset();
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form.erpOrderId = null
|
||||||
|
this.form.orderNum = null
|
||||||
|
this.form.orderTime = null
|
||||||
|
this.form.itemList = []
|
||||||
|
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.pageNum = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
this.resetForm("queryForm");
|
||||||
|
this.handleQuery();
|
||||||
|
},
|
||||||
|
// 多选框选中数据
|
||||||
|
handleSelectionChange(selection) {
|
||||||
|
this.ids = selection.map(item => item.id)
|
||||||
|
this.single = selection.length!==1
|
||||||
|
this.multiple = !selection.length
|
||||||
|
},
|
||||||
|
/** 发货按钮操作 */
|
||||||
|
handleShip(row) {
|
||||||
|
this.reset();
|
||||||
|
const id = row.id || this.ids
|
||||||
|
getShipOrderItemList(id).then(response => {
|
||||||
|
if(response.rows){
|
||||||
|
this.itemList = response.rows
|
||||||
|
this.form.orderNum = response.rows[0].orderNum;
|
||||||
|
this.form.erpOrderId = response.rows[0].erpOrderId;
|
||||||
|
this.form.orderTime = response.rows[0].orderTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.open = true;
|
||||||
|
this.title = "发货";
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 提交按钮 */
|
||||||
|
submitForm() {
|
||||||
|
this.$refs["form"].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
let hasAmoutNull = false;
|
||||||
|
// 判断采购金额是否为空
|
||||||
|
console.log("=======",this.itemList)
|
||||||
|
|
||||||
|
this.itemList.forEach(x=>{
|
||||||
|
if(!x.purAmount){
|
||||||
|
hasAmoutNull = true
|
||||||
|
return
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if(hasAmoutNull){
|
||||||
|
this.$modal.msgError("请填写采购金额");
|
||||||
|
}else{
|
||||||
|
this.form.itemList = this.itemList
|
||||||
|
supplierShipOrder(this.form).then(response => {
|
||||||
|
this.$modal.msgSuccess("发货成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 导出按钮操作 */
|
||||||
|
handleExport() {
|
||||||
|
this.download('scm/agentShipping/export', {
|
||||||
|
...this.queryParams
|
||||||
|
}, `agentShipping_${new Date().getTime()}.xlsx`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
@ -0,0 +1,393 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
|
<el-form-item label="店铺" prop="shopId">
|
||||||
|
<el-select v-model="queryParams.shopId" filterable placeholder="搜索店铺" >
|
||||||
|
<el-option v-for="item in shopList" :key="item.id" :label="item.name" :value="item.id">
|
||||||
|
<span style="float: left">{{ item.name }}</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 1">1688</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 2">视频号小店</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 3">京东</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 4">淘宝天猫</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 5">拼多多</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 6">抖店</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 7">小红书</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 8">快手小店</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 99">其他</span>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<!-- <el-form-item label="商品ID" prop="goodsId">-->
|
||||||
|
<!-- <el-input-->
|
||||||
|
<!-- v-model="queryParams.goodsId"-->
|
||||||
|
<!-- placeholder="请输入erp系统商品id"-->
|
||||||
|
<!-- clearable-->
|
||||||
|
<!-- @keyup.enter.native="handleQuery"-->
|
||||||
|
<!-- />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- <el-form-item label="商品编码" prop="goodsNum">-->
|
||||||
|
<!-- <el-input-->
|
||||||
|
<!-- v-model="queryParams.goodsNum"-->
|
||||||
|
<!-- placeholder="请输入商品编码"-->
|
||||||
|
<!-- clearable-->
|
||||||
|
<!-- @keyup.enter.native="handleQuery"-->
|
||||||
|
<!-- />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- <el-form-item label="规格ID" prop="specId">-->
|
||||||
|
<!-- <el-input-->
|
||||||
|
<!-- v-model="queryParams.specId"-->
|
||||||
|
<!-- placeholder="请输入erp系统商品规格id"-->
|
||||||
|
<!-- clearable-->
|
||||||
|
<!-- @keyup.enter.native="handleQuery"-->
|
||||||
|
<!-- />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<el-form-item label="规格编码" prop="specNum">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.specNum"
|
||||||
|
placeholder="请输入商品规格编码"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="备货状态" prop="status">
|
||||||
|
<el-select v-model="queryParams.status" placeholder="请选择">
|
||||||
|
<el-option
|
||||||
|
v-for="item in statusList"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="success"
|
||||||
|
plain
|
||||||
|
icon="el-icon-data-analysis"
|
||||||
|
size="mini"
|
||||||
|
:disabled="single"
|
||||||
|
@click="handleShip"
|
||||||
|
>发货</el-button>
|
||||||
|
</el-col>
|
||||||
|
<!-- <el-col :span="1.5">-->
|
||||||
|
<!-- <el-button-->
|
||||||
|
<!-- type="primary"-->
|
||||||
|
<!-- plain-->
|
||||||
|
<!-- icon="el-icon-data-analysis"-->
|
||||||
|
<!-- size="mini"-->
|
||||||
|
<!-- :disabled="multiple"-->
|
||||||
|
<!-- @click="handleStatistics"-->
|
||||||
|
<!-- v-hasPermi="['xhs:orderReceiver:remove']"-->
|
||||||
|
<!-- >统计</el-button>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
|
||||||
|
<!-- <el-col :span="1.5">-->
|
||||||
|
<!-- <el-button-->
|
||||||
|
<!-- type="warning"-->
|
||||||
|
<!-- plain-->
|
||||||
|
<!-- icon="el-icon-download"-->
|
||||||
|
<!-- size="mini"-->
|
||||||
|
<!-- @click="handleExport"-->
|
||||||
|
<!-- v-hasPermi="['wms:shipping:export']"-->
|
||||||
|
<!-- >导出</el-button>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-table v-loading="loading" :data="shippingList" @selection-change="handleSelectionChange">
|
||||||
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
|
<!-- <el-table-column label="主键" align="center" prop="id" /> -->
|
||||||
|
<el-table-column label="订单编号" align="center" prop="orderNum" />
|
||||||
|
<el-table-column label="店铺" align="center" prop="shopId" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ shopList.find(x=>x.id === scope.row.shopId).name }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column label="子订单编号" align="center" prop="orderItemId" /> -->
|
||||||
|
<!-- <el-table-column label="订单日期" align="center" prop="orderDate" width="180">-->
|
||||||
|
<!-- <template slot-scope="scope">-->
|
||||||
|
<!-- <span>{{ parseTime(scope.row.orderDate, '{y}-{m}-{d}') }}</span>-->
|
||||||
|
<!-- </template>-->
|
||||||
|
<!-- </el-table-column>-->
|
||||||
|
<el-table-column label="商品图片" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-image style="width: 70px; height: 70px;" :src="scope.row.goodsImg"></el-image>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="商品标题" align="center" prop="goodsTitle" />
|
||||||
|
<el-table-column label="规格" align="center" prop="goodsSpec" />
|
||||||
|
<el-table-column label="规格编码" align="center" prop="specNum" />
|
||||||
|
<el-table-column label="erp商品id" align="center" prop="goodsId" />
|
||||||
|
<el-table-column label="erp商品SkuId" align="center" prop="specId" />
|
||||||
|
<el-table-column label="商品Sku编码" align="center" prop="specNum" />
|
||||||
|
<el-table-column label="商品数量" align="center" prop="quantity" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag size="small">{{scope.row.quantity}}</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column label="仓库库存" align="center" prop="inventory" />-->
|
||||||
|
<el-table-column label="状态" align="center" prop="status" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag size="small" v-if="scope.row.shipStatus === 1">出库中</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.shipStatus === 2">已出库</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="操作" align="center" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
v-if="scope.row.shipStatus === 2"
|
||||||
|
size="mini"
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-s-promotion"
|
||||||
|
@click="handleShip(scope.row)"
|
||||||
|
v-hasPermi="['scm:agentShipping:edit']"
|
||||||
|
>发货</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<pagination
|
||||||
|
v-show="total>0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="queryParams.pageNum"
|
||||||
|
:limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px" inline>
|
||||||
|
|
||||||
|
<el-form-item label="订单编号" prop="orderNum">
|
||||||
|
<el-input v-model="form.orderNum" placeholder="请输入订单编号" disabled/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="订单日期" prop="orderDate">
|
||||||
|
<el-date-picker clearable
|
||||||
|
v-model="form.orderTime" disabled
|
||||||
|
type="datetime"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
placeholder="请选择订单日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-divider content-position="center">订单商品</el-divider>
|
||||||
|
<el-table :data="itemList" style="margin-bottom: 10px;">
|
||||||
|
<!-- <el-table-column type="selection" width="50" align="center" /> -->
|
||||||
|
<el-table-column label="序号" align="center" type="index" width="50"/>
|
||||||
|
<el-table-column label="商品ID" prop="goodsId"/>
|
||||||
|
<el-table-column label="SkuId" prop="specId"/>
|
||||||
|
<el-table-column label="Sku编码" prop="specNum"/>
|
||||||
|
<el-table-column label="数量" prop="quantity"/>
|
||||||
|
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<el-form-item label="物流公司" prop="logisticsCompany">
|
||||||
|
<el-select v-model="form.logisticsCompany" filterable r placeholder="选择快递公司" >
|
||||||
|
<el-option v-for="item in logisticsList" :key="item.id" :label="item.name" :value="item.name">
|
||||||
|
<span style="float: left">{{ item.name }}</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" >{{item.number}}</span>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="物流单号" prop="logisticsCode">
|
||||||
|
<el-input v-model="form.logisticsCode" placeholder="请输入物流单号" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="运费" prop="logisticsFee">
|
||||||
|
<el-input type="number" v-model.number="form.logisticsFee" placeholder="请输入运费" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="发货时间" prop="shipTime">
|
||||||
|
<el-date-picker clearable
|
||||||
|
v-model="form.shipTime"
|
||||||
|
type="datetime"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
placeholder="请选择发货时间">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
|
||||||
|
</el-form-item>
|
||||||
|
<!-- <el-form-item label="子订单金额" prop="itemAmount">-->
|
||||||
|
<!-- <el-input v-model="form.itemAmount" placeholder="请输入子订单金额" />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {listShipOrder, getShipOrderItemList, wmsShipOrder} from "@/api/shipping/shipOrder";
|
||||||
|
import { listShop } from "@/api/shop/shop";
|
||||||
|
import {listLogistics} from "@/api/shipping/logistics";
|
||||||
|
export default {
|
||||||
|
name: "wsmShipOrder",
|
||||||
|
computed: {
|
||||||
|
supplier() {
|
||||||
|
return supplier
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: true,
|
||||||
|
// 选中数组
|
||||||
|
ids: [],
|
||||||
|
// 非单个禁用
|
||||||
|
single: true,
|
||||||
|
// 非多个禁用
|
||||||
|
multiple: true,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
// 仓库订单发货表格数据
|
||||||
|
shippingList: [],
|
||||||
|
// 弹出层标题
|
||||||
|
title: "",
|
||||||
|
// 是否显示弹出层
|
||||||
|
open: false,
|
||||||
|
supplierShipOpen: false,
|
||||||
|
skuIdUpdateOpen: false,
|
||||||
|
isGen:true,
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
shopId: null,
|
||||||
|
goodsId: null,
|
||||||
|
specId: null,
|
||||||
|
shipType: 0,
|
||||||
|
shipStatus: 2,
|
||||||
|
specNum: null
|
||||||
|
},
|
||||||
|
logisticsList:[],
|
||||||
|
// 表单参数
|
||||||
|
form: {
|
||||||
|
},
|
||||||
|
shopList: [],
|
||||||
|
itemList:[],
|
||||||
|
supplierList:[],
|
||||||
|
statusList: [
|
||||||
|
{
|
||||||
|
value: '0',
|
||||||
|
label: '待备货'
|
||||||
|
}, {
|
||||||
|
value: '1',
|
||||||
|
label: '备货中'
|
||||||
|
}, {
|
||||||
|
value: '2',
|
||||||
|
label: '已出库'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// 表单校验
|
||||||
|
// 表单校验
|
||||||
|
rules: {
|
||||||
|
logisticsCompany: [{ required: true, message: '不能为空' }],
|
||||||
|
logisticsCode: [{ required: true, message: '不能为空' }],
|
||||||
|
logisticsFee: [{ required: true, message: '不能为空' }],
|
||||||
|
shipTime: [{ required: true, message: '不能为空' }],
|
||||||
|
},
|
||||||
|
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
listShop({}).then(response => {
|
||||||
|
this.shopList = response.rows;
|
||||||
|
});
|
||||||
|
listLogistics({}).then(resp=>{
|
||||||
|
this.logisticsList = resp.rows
|
||||||
|
})
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
rowItemIndex({ row, rowIndex }) {
|
||||||
|
row.index = rowIndex + 1;
|
||||||
|
},
|
||||||
|
/** 查询仓库订单发货列表 */
|
||||||
|
getList() {
|
||||||
|
this.loading = true;
|
||||||
|
listShipOrder(this.queryParams).then(response => {
|
||||||
|
this.shippingList = response.rows;
|
||||||
|
this.total = response.total;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 取消按钮
|
||||||
|
cancel() {
|
||||||
|
this.open = false;
|
||||||
|
this.reset();
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form.erpOrderId = null
|
||||||
|
this.form.orderNum = null
|
||||||
|
this.form.orderTime = null
|
||||||
|
this.form.itemList = []
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.pageNum = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
this.resetForm("queryForm");
|
||||||
|
this.handleQuery();
|
||||||
|
},
|
||||||
|
// 多选框选中数据
|
||||||
|
handleSelectionChange(selection) {
|
||||||
|
this.ids = selection.map(item => item.id)
|
||||||
|
this.single = selection.length!==1
|
||||||
|
this.multiple = !selection.length
|
||||||
|
},
|
||||||
|
/** 发货按钮操作 */
|
||||||
|
handleShip(row) {
|
||||||
|
this.reset();
|
||||||
|
const id = row.id || this.ids
|
||||||
|
getShipOrderItemList(id).then(response => {
|
||||||
|
if(response.rows){
|
||||||
|
this.itemList = response.rows
|
||||||
|
this.form.orderNum = response.rows[0].orderNum;
|
||||||
|
this.form.erpOrderId = response.rows[0].erpOrderId;
|
||||||
|
this.form.orderTime = response.rows[0].orderTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.open = true;
|
||||||
|
this.title = "发货";
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 提交按钮 */
|
||||||
|
submitForm() {
|
||||||
|
// console.log("=============提交===",this.ids)
|
||||||
|
this.$refs["form"].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
this.form.itemList = this.itemList
|
||||||
|
wmsShipOrder(this.form).then(response => {
|
||||||
|
this.$modal.msgSuccess("发货成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
@ -0,0 +1,578 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
|
<el-form-item label="店铺" prop="shopId">
|
||||||
|
<el-select v-model="queryParams.shopId" filterable placeholder="搜索店铺" >
|
||||||
|
<el-option v-for="item in shopList" :key="item.id" :label="item.name" :value="item.id">
|
||||||
|
<span style="float: left">{{ item.name }}</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 1">1688</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 2">视频号小店</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 3">京东</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 4">淘宝天猫</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 5">拼多多</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 6">抖店</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 7">小红书</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 8">快手小店</span>
|
||||||
|
<span style="float: right; color: #8492a6; font-size: 13px" v-if="item.type === 99">其他</span>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<!-- <el-form-item label="商品ID" prop="goodsId">-->
|
||||||
|
<!-- <el-input-->
|
||||||
|
<!-- v-model="queryParams.goodsId"-->
|
||||||
|
<!-- placeholder="请输入erp系统商品id"-->
|
||||||
|
<!-- clearable-->
|
||||||
|
<!-- @keyup.enter.native="handleQuery"-->
|
||||||
|
<!-- />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- <el-form-item label="商品编码" prop="goodsNum">-->
|
||||||
|
<!-- <el-input-->
|
||||||
|
<!-- v-model="queryParams.goodsNum"-->
|
||||||
|
<!-- placeholder="请输入商品编码"-->
|
||||||
|
<!-- clearable-->
|
||||||
|
<!-- @keyup.enter.native="handleQuery"-->
|
||||||
|
<!-- />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- <el-form-item label="规格ID" prop="specId">-->
|
||||||
|
<!-- <el-input-->
|
||||||
|
<!-- v-model="queryParams.specId"-->
|
||||||
|
<!-- placeholder="请输入erp系统商品规格id"-->
|
||||||
|
<!-- clearable-->
|
||||||
|
<!-- @keyup.enter.native="handleQuery"-->
|
||||||
|
<!-- />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<el-form-item label="规格编码" prop="specNum">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.specNum"
|
||||||
|
placeholder="请输入商品规格编码"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="备货状态" prop="status">
|
||||||
|
<el-select v-model="queryParams.status" placeholder="请选择">
|
||||||
|
<el-option
|
||||||
|
v-for="item in statusList"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
icon="el-icon-document-copy"
|
||||||
|
size="mini"
|
||||||
|
:disabled="multiple"
|
||||||
|
@click="handleSelection"
|
||||||
|
v-hasPermi="['xhs:orderReceiver:remove']"
|
||||||
|
>仓库发货</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="success"
|
||||||
|
plain
|
||||||
|
icon="el-icon-data-analysis"
|
||||||
|
size="mini"
|
||||||
|
:disabled="multiple"
|
||||||
|
@click="handleSupplierShip"
|
||||||
|
>分配供应商发货</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
plain
|
||||||
|
icon="el-icon-data-analysis"
|
||||||
|
size="mini"
|
||||||
|
:disabled="multiple"
|
||||||
|
@click="handleStatistics"
|
||||||
|
v-hasPermi="['xhs:orderReceiver:remove']"
|
||||||
|
>统计</el-button>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
plain
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
@click="handleExport"
|
||||||
|
v-hasPermi="['wms:shipping:export']"
|
||||||
|
>导出</el-button>
|
||||||
|
</el-col>
|
||||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-table v-loading="loading" :data="shippingList" @selection-change="handleSelectionChange">
|
||||||
|
<el-table-column type="selection" width="55" v-if="queryParams.status==='0'" align="center" />
|
||||||
|
<!-- <el-table-column label="主键" align="center" prop="id" /> -->
|
||||||
|
<el-table-column label="订单编号" align="center" prop="originalOrderId" />
|
||||||
|
<el-table-column label="店铺" align="center" prop="shopId" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ shopList.find(x=>x.id === scope.row.shopId).name }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column label="子订单编号" align="center" prop="orderItemId" /> -->
|
||||||
|
<!-- <el-table-column label="订单日期" align="center" prop="orderDate" width="180">-->
|
||||||
|
<!-- <template slot-scope="scope">-->
|
||||||
|
<!-- <span>{{ parseTime(scope.row.orderDate, '{y}-{m}-{d}') }}</span>-->
|
||||||
|
<!-- </template>-->
|
||||||
|
<!-- </el-table-column>-->
|
||||||
|
<el-table-column label="商品图片" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-image style="width: 70px; height: 70px;" :src="scope.row.goodsImg"></el-image>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="商品标题" align="center" prop="goodsTitle" />
|
||||||
|
<el-table-column label="规格" align="center" prop="goodsSpec" />
|
||||||
|
<el-table-column label="规格编码" align="center" prop="specNum" />
|
||||||
|
<el-table-column label="erp商品id" align="center" prop="goodsId" />
|
||||||
|
<el-table-column label="erp商品SkuId" align="center" prop="specId" />
|
||||||
|
<el-table-column label="商品Sku编码" align="center" prop="specNum" />
|
||||||
|
<el-table-column label="商品数量" align="center" prop="quantity" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag size="small">{{scope.row.quantity}}</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column label="仓库库存" align="center" prop="inventory" />-->
|
||||||
|
<el-table-column label="状态" align="center" prop="status" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag size="small" v-if="scope.row.shipStatus === 0">待备货</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.shipStatus === 1">备货中</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.shipStatus === 2">已出库</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" align="center" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
v-if="!scope.row.specId||scope.row.specId === 0"
|
||||||
|
size="mini"
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-edit"
|
||||||
|
@click="handleUpdateLink(scope.row)"
|
||||||
|
>修改商品关联</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<pagination
|
||||||
|
v-show="total>0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="queryParams.pageNum"
|
||||||
|
:limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<!-- 添加或修改仓库订单发货对话框 -->
|
||||||
|
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px" inline>
|
||||||
|
<el-form-item label="单号" prop="stockOutNum" v-if="isGen">
|
||||||
|
<el-input v-model="form.stockOutNum" disabled placeholder="请输入单号" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="生成时间" prop="createTime" v-if="isGen">
|
||||||
|
<el-date-picker clearable
|
||||||
|
v-model="form.createTime"
|
||||||
|
type="datetime" disabled
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
placeholder="请选择生成时间">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-divider content-position="center" v-if="isGen">拣货商品</el-divider>
|
||||||
|
<el-table :data="skuList" :row-class-name="rowItemIndex" ref="skuItem">
|
||||||
|
<!-- <el-table-column type="selection" width="50" align="center" />-->
|
||||||
|
<el-table-column label="序号" align="center" prop="index" width="50"/>
|
||||||
|
<el-table-column label="商品图片" prop="goodsImg" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-image style="width: 70px; height: 70px" :src="scope.row.goodsImg"></el-image>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="商品标题" prop="goodsTitle" ></el-table-column>
|
||||||
|
<el-table-column label="规格" prop="goodsSpec" ></el-table-column>
|
||||||
|
<el-table-column label="sku编码" prop="specNum" ></el-table-column>
|
||||||
|
<el-table-column label="数量" prop="quantity"></el-table-column>
|
||||||
|
<el-table-column label="仓库库存" prop="inventory"></el-table-column>
|
||||||
|
|
||||||
|
</el-table>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer" v-if="isGen">
|
||||||
|
<el-button type="primary" @click="submitForm">生成拣货单</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
<!-- 分配供应商发货对话框 -->
|
||||||
|
<el-dialog title="分配供应商发货" :visible.sync="supplierShipOpen" width="800px" append-to-body>
|
||||||
|
<el-form ref="form1" :model="form1" :rules="rules1" label-width="80px" inline>
|
||||||
|
<!-- <el-form-item label="供应商" prop="supplierId" >-->
|
||||||
|
<!-- <el-select-->
|
||||||
|
<!-- v-model="form1.supplierId"-->
|
||||||
|
<!-- filterable-->
|
||||||
|
<!-- placeholder="请选择供应商">-->
|
||||||
|
<!-- <el-option-->
|
||||||
|
<!-- v-for="item in supplierList"-->
|
||||||
|
<!-- :key="item.id"-->
|
||||||
|
<!-- :label="item.name"-->
|
||||||
|
<!-- :value="item.id">-->
|
||||||
|
<!-- </el-option>-->
|
||||||
|
<!-- </el-select>-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
|
||||||
|
<el-divider content-position="center" >待发货商品清单</el-divider>
|
||||||
|
<el-table :data="skuList" :row-class-name="rowItemIndex" ref="skuItem">
|
||||||
|
<el-table-column label="序号" align="center" prop="index" width="50"/>
|
||||||
|
<el-table-column label="商品图片" prop="goodsImg" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-image style="width: 70px; height: 70px" :src="scope.row.goodsImg"></el-image>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="商品标题" prop="goodsTitle" ></el-table-column>
|
||||||
|
<el-table-column label="规格" prop="goodsSpec" ></el-table-column>
|
||||||
|
<el-table-column label="sku编码" prop="specNum" ></el-table-column>
|
||||||
|
<el-table-column label="数量" prop="quantity"></el-table-column>
|
||||||
|
<el-table-column label="供应商" prop="supplierId">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span v-if="scope.row.supplierId">{{ supplierList.find(x=>x.id === scope.row.supplierId).name }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitSupplierShipForm">分配供应商发货</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- 修改skuid对话框 -->
|
||||||
|
<el-dialog title="修改SkuId" :visible.sync="skuIdUpdateOpen" width="500px" append-to-body>
|
||||||
|
<el-form ref="form2" :model="form2" :rules="rules2" label-width="120px" inline>
|
||||||
|
<!-- <el-form-item label="ERP商品ID" prop="erpGoodsId" >-->
|
||||||
|
<!-- <el-input v-model="form2.erpGoodsId" disabled placeholder="请输入ERP商品ID" />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<el-form-item label="ERP商品SkuId" prop="erpGoodsSpecId" >
|
||||||
|
<el-input type="number" v-model="form2.erpGoodsSpecId" placeholder="请输入ERP商品SkuId" />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitSkuIdUpdateForm">分配供应商发货</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {listShipping, distributeSupplierShip, generateStockOutEntry, orderItemSpecIdUpdate} from "@/api/wms/shipping";
|
||||||
|
import { listShop } from "@/api/shop/shop";
|
||||||
|
import {listSupplier} from "@/api/scm/supplier";
|
||||||
|
export default {
|
||||||
|
name: "ShippingStocking",
|
||||||
|
computed: {
|
||||||
|
supplier() {
|
||||||
|
return supplier
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: true,
|
||||||
|
// 选中数组
|
||||||
|
ids: [],
|
||||||
|
// 非单个禁用
|
||||||
|
single: true,
|
||||||
|
// 非多个禁用
|
||||||
|
multiple: true,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
// 仓库订单发货表格数据
|
||||||
|
shippingList: [],
|
||||||
|
// 弹出层标题
|
||||||
|
title: "",
|
||||||
|
// 是否显示弹出层
|
||||||
|
open: false,
|
||||||
|
supplierShipOpen: false,
|
||||||
|
skuIdUpdateOpen: false,
|
||||||
|
isGen:true,
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 100,
|
||||||
|
shopId: null,
|
||||||
|
goodsId: null,
|
||||||
|
specId: null,
|
||||||
|
goodsNum: null,
|
||||||
|
goodsSpec: null,
|
||||||
|
specNum: null,
|
||||||
|
status: null,
|
||||||
|
},
|
||||||
|
// 表单参数
|
||||||
|
form: {
|
||||||
|
orderItemIds:[]
|
||||||
|
},
|
||||||
|
form1: {
|
||||||
|
orderItemIds:[]
|
||||||
|
},
|
||||||
|
form2: {
|
||||||
|
orderItemId:null
|
||||||
|
},
|
||||||
|
shopList: [],
|
||||||
|
skuList:[],
|
||||||
|
supplierList:[],
|
||||||
|
statusList: [
|
||||||
|
{
|
||||||
|
value: '0',
|
||||||
|
label: '待备货'
|
||||||
|
}, {
|
||||||
|
value: '1',
|
||||||
|
label: '备货中'
|
||||||
|
}, {
|
||||||
|
value: '2',
|
||||||
|
label: '已出库'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// 表单校验
|
||||||
|
rules: {
|
||||||
|
stockOutNum: [{ required: true, message: "单号不能为空", trigger: "blur" }],
|
||||||
|
createTime: [{ required: true, message: "生成时间不能为空", trigger: "blur" }],
|
||||||
|
goodsId: [{ required: true, message: "erp系统商品id不能为空", trigger: "blur" }],
|
||||||
|
specId: [{ required: true, message: "erp系统商品规格id不能为空", trigger: "blur" }],
|
||||||
|
quantity: [{ required: true, message: "商品数量不能为空", trigger: "blur" }],
|
||||||
|
},
|
||||||
|
rules1: {
|
||||||
|
supplierId: [{ required: true, message: "请选择供应商", trigger: "blur" }],
|
||||||
|
},
|
||||||
|
rules2: {
|
||||||
|
erpGoodsSpecId: [{ required: true, message: "请选择填写ERP商品SkuId", trigger: "blur" }],
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
listShop({}).then(response => {
|
||||||
|
this.shopList = response.rows;
|
||||||
|
});
|
||||||
|
if(this.$route.query.status){
|
||||||
|
this.queryParams.status = this.$route.query.status
|
||||||
|
}else {
|
||||||
|
this.queryParams.status = '0'
|
||||||
|
}
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
rowItemIndex({ row, rowIndex }) {
|
||||||
|
row.index = rowIndex + 1;
|
||||||
|
},
|
||||||
|
/** 查询仓库订单发货列表 */
|
||||||
|
getList() {
|
||||||
|
this.loading = true;
|
||||||
|
listShipping(this.queryParams).then(response => {
|
||||||
|
this.shippingList = response.rows;
|
||||||
|
this.total = response.total;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 取消按钮
|
||||||
|
cancel() {
|
||||||
|
this.skuList = []
|
||||||
|
this.open = false;
|
||||||
|
this.supplierShipOpen = false;
|
||||||
|
this.skuIdUpdateOpen = false;
|
||||||
|
},
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.pageNum = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
this.resetForm("queryForm");
|
||||||
|
this.handleQuery();
|
||||||
|
},
|
||||||
|
// 多选框选中数据
|
||||||
|
handleSelectionChange(selection) {
|
||||||
|
this.ids = selection.map(item => item.id)
|
||||||
|
this.single = selection.length!==1
|
||||||
|
this.multiple = !selection.length
|
||||||
|
},
|
||||||
|
/** 提交按钮 */
|
||||||
|
submitForm() {
|
||||||
|
// console.log("=============提交===",this.ids)
|
||||||
|
this.$refs["form"].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if(!this.skuList || this.skuList.length === 0){
|
||||||
|
this.$modal.msgError("请选择备货商品");
|
||||||
|
}
|
||||||
|
this.form.orderItemIds = this.ids;
|
||||||
|
generateStockOutEntry(this.form).then(response => {
|
||||||
|
this.$modal.msgSuccess("拣货单生成成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
handleStatistics(row){
|
||||||
|
this.handleSelection(row,false)
|
||||||
|
},
|
||||||
|
/** 按钮操作 */
|
||||||
|
handleSelection(row,isGen) {
|
||||||
|
const ids = row.id || this.ids;
|
||||||
|
// console.log("=====生成出库单=====",ids)
|
||||||
|
if(!ids && ids.length===0){
|
||||||
|
this.$modal.msgError("请选选择要备货的商品");
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(isGen===undefined) this.isGen = true
|
||||||
|
else this.isGen = isGen
|
||||||
|
if(this.isGen === false)this.title = "备货统计";
|
||||||
|
else this.title = "生成拣货单";
|
||||||
|
|
||||||
|
// 创建一个包含年月日小时分钟秒的字符串作为基本编号
|
||||||
|
var date = new Date();
|
||||||
|
var year = date.getFullYear().toString(); // 四位数表示的年份
|
||||||
|
var month = (date.getMonth() + 1).toString().padStart(2, '0'); // 两位数表示的月份(注意要加上补零)
|
||||||
|
var day = date.getDate().toString().padStart(2, '0'); // 两位数表示的天数(同样需要补零)
|
||||||
|
var hours = date.getHours().toString().padStart(2, '0'); // 两位数表示的小时数(同样需要补零)
|
||||||
|
var minutes = date.getMinutes().toString().padStart(2, '0'); // 两位数表示的分钟数(同样需要补零)
|
||||||
|
var seconds = date.getSeconds().toString().padStart(2, '0'); // 两位数表示的秒数(同样需要补零)
|
||||||
|
// 生成随机数部分
|
||||||
|
var randomNum = Math.floor((Math.random() * 9) + 1); // 生成1到9之间的随机整数
|
||||||
|
// 将所有部分组合起来形成最终的编号
|
||||||
|
var code = `${year}${month}${day}${hours}${minutes}${seconds}${randomNum}`;
|
||||||
|
// console.log("生成的编号为:" + code);
|
||||||
|
|
||||||
|
this.form.stockOutNum = code
|
||||||
|
this.form.createTime = new Date()
|
||||||
|
this.skuList=[]
|
||||||
|
|
||||||
|
ids.forEach(id=>{
|
||||||
|
const obj = this.shippingList.find(y=>y.id === id)
|
||||||
|
const has = this.skuList.find(y=>y.specId === obj.specId)
|
||||||
|
if(has){
|
||||||
|
// 增加数量即可
|
||||||
|
has.quantity = has.quantity + obj.quantity
|
||||||
|
has.ids.push(id)
|
||||||
|
}else{
|
||||||
|
// 新增数据
|
||||||
|
const ids1 =[]
|
||||||
|
ids1.push(id);
|
||||||
|
this.skuList.push({
|
||||||
|
ids:ids1,
|
||||||
|
specId:obj.specId,
|
||||||
|
goodsImg:obj.goodsImg,
|
||||||
|
goodsNum:obj.goodsNum,
|
||||||
|
goodsTitle:obj.goodsTitle,
|
||||||
|
goodsSpec:obj.goodsSpec,
|
||||||
|
specNum:obj.specNum,
|
||||||
|
quantity:obj.quantity,
|
||||||
|
inventory:obj.inventory
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
this.open = true;
|
||||||
|
// this.$modal.confirm('是否确认删除仓库订单发货编号为"' + ids + '"的数据项?').then(function() {
|
||||||
|
// return delShipping(ids);
|
||||||
|
// }).then(() => {
|
||||||
|
// this.getList();
|
||||||
|
// this.$modal.msgSuccess("删除成功");
|
||||||
|
// }).catch(() => {});
|
||||||
|
|
||||||
|
},
|
||||||
|
/** 导出按钮操作 */
|
||||||
|
handleExport() {
|
||||||
|
this.download('wms/shipping/export', {
|
||||||
|
...this.queryParams
|
||||||
|
}, `shipping_${new Date().getTime()}.xlsx`)
|
||||||
|
},
|
||||||
|
/** 分配供应商发货 */
|
||||||
|
handleSupplierShip(row){
|
||||||
|
const ids = row.id || this.ids;
|
||||||
|
// console.log("=====生成出库单=====",ids)
|
||||||
|
if(!ids && ids.length===0){
|
||||||
|
this.$modal.msgError("请选选择发货的商品");
|
||||||
|
return
|
||||||
|
}else{
|
||||||
|
listSupplier({}).then(response => {
|
||||||
|
this.supplierList = response.rows;
|
||||||
|
ids.forEach(id=>{
|
||||||
|
const obj = this.shippingList.find(y=>y.id === id)
|
||||||
|
const has = this.skuList.find(y=>y.specId === obj.specId)
|
||||||
|
if(has){
|
||||||
|
// 增加数量即可
|
||||||
|
has.quantity = has.quantity + obj.quantity
|
||||||
|
has.ids.push(id)
|
||||||
|
}else{
|
||||||
|
// 新增数据
|
||||||
|
const ids1 =[]
|
||||||
|
ids1.push(id);
|
||||||
|
this.skuList.push({
|
||||||
|
ids:ids1,
|
||||||
|
specId:obj.specId,
|
||||||
|
goodsImg:obj.goodsImg,
|
||||||
|
goodsNum:obj.goodsNum,
|
||||||
|
goodsTitle:obj.goodsTitle,
|
||||||
|
goodsSpec:obj.goodsSpec,
|
||||||
|
specNum:obj.specNum,
|
||||||
|
quantity:obj.quantity,
|
||||||
|
inventory:obj.inventory
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.supplierShipOpen = true
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
submitSupplierShipForm() {
|
||||||
|
this.$refs["form1"].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if(!this.skuList || this.skuList.length === 0){
|
||||||
|
this.$modal.msgError("请选择代发货商品");
|
||||||
|
}
|
||||||
|
this.form.orderItemIds = this.ids;
|
||||||
|
distributeSupplierShip(this.form).then(response => {
|
||||||
|
this.$modal.msgSuccess("分配成功");
|
||||||
|
this.supplierShipOpen = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
handleUpdateLink(row){
|
||||||
|
console.log("修改商品关联")
|
||||||
|
this.skuIdUpdateOpen = true
|
||||||
|
this.form2.orderItemId = row.id
|
||||||
|
// this.$modal.msgError("修改商品关联");
|
||||||
|
},
|
||||||
|
submitSkuIdUpdateForm(){
|
||||||
|
this.$refs["form2"].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
orderItemSpecIdUpdate(this.form2).then(response => {
|
||||||
|
this.$modal.msgSuccess("SkuId修改成功");
|
||||||
|
this.skuIdUpdateOpen = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||||
|
<el-tab-pane label="淘宝天猫" name="taoRefund">
|
||||||
|
<tao-refund></tao-refund>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="京东" name="jdRefund" lazy>
|
||||||
|
<refund-jd></refund-jd>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="视频号小店" name="weiRefund" lazy>
|
||||||
|
<refund-wei></refund-wei>
|
||||||
|
</el-tab-pane>
|
||||||
|
<!-- <el-tab-pane label="抖店" name="douOrder" lazy>-->
|
||||||
|
<!-- <dou-refund></dou-refund>-->
|
||||||
|
<!-- </el-tab-pane>-->
|
||||||
|
<!-- <el-tab-pane label="拼多多" name="pddOrder" lazy>-->
|
||||||
|
<!-- <pdd-refund></pdd-refund>-->
|
||||||
|
<!-- </el-tab-pane>-->
|
||||||
|
</el-tabs>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import TaoRefund from "@/views/tao/refund/index";
|
||||||
|
import RefundJd from "@/views/jd/refund/index";
|
||||||
|
import RefundWei from "@/views/wei/refund/index";
|
||||||
|
import DouRefund from "@/views/dou/refund/index.vue";
|
||||||
|
import PddRefund from "@/views/pdd/refund/index.vue";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "refund",
|
||||||
|
components:{PddRefund, DouRefund, TaoRefund,RefundJd,RefundWei},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
activeName: 'taoRefund'
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleClick(tab, event) {
|
||||||
|
console.log(tab, event);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
@ -0,0 +1,378 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
|
<el-form-item label="店铺" prop="shopId">
|
||||||
|
<el-select v-model="queryParams.shopId" placeholder="请选择店铺" clearable @change="handleQuery">
|
||||||
|
<el-option
|
||||||
|
v-for="item in shopList"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="退款单号" prop="refundId">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.refundId"
|
||||||
|
placeholder="请输入退款单号"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="订单号" prop="tid">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.tid"
|
||||||
|
placeholder="请输入订单号"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<!-- <el-form-item label="申请时间" prop="created">-->
|
||||||
|
<!-- <el-date-picker clearable-->
|
||||||
|
<!-- v-model="queryParams.created"-->
|
||||||
|
<!-- type="date"-->
|
||||||
|
<!-- value-format="yyyy-MM-dd"-->
|
||||||
|
<!-- placeholder="请选择退款申请时间">-->
|
||||||
|
<!-- </el-date-picker>-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
|
||||||
|
<!-- <el-form-item label="物流单号" prop="logisticsCode">-->
|
||||||
|
<!-- <el-input-->
|
||||||
|
<!-- v-model="queryParams.logisticsCode"-->
|
||||||
|
<!-- placeholder="请输入物流单号"-->
|
||||||
|
<!-- clearable-->
|
||||||
|
<!-- @keyup.enter.native="handleQuery"-->
|
||||||
|
<!-- />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
|
||||||
|
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
:loading="pullLoading"
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
@click="handlePull"
|
||||||
|
>API拉取新退款</el-button>
|
||||||
|
</el-col>
|
||||||
|
<!-- <el-col :span="1.5">-->
|
||||||
|
<!-- <el-button-->
|
||||||
|
<!-- type="primary"-->
|
||||||
|
<!-- plain-->
|
||||||
|
<!-- icon="el-icon-refresh"-->
|
||||||
|
<!-- size="mini"-->
|
||||||
|
<!-- :disabled="multiple"-->
|
||||||
|
<!-- @click="handlePushOms"-->
|
||||||
|
<!-- >同步到ERP</el-button>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-table v-loading="loading" :data="taoRefundList" @selection-change="handleSelectionChange">
|
||||||
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
|
<!-- <el-table-column label="${comment}" align="center" prop="id" /> -->
|
||||||
|
<el-table-column label="退款单号" align="center" prop="afterSaleOrderId" />
|
||||||
|
<el-table-column label="店铺" align="center" prop="shopId" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ shopList.find(x=>x.id === scope.row.shopId).name }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="类型" align="center" prop="type" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag size="small" v-if="scope.row.type === 'REFUND'"> 退款</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.type === 'RETURN'"> 退货退款</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="订单号" align="center" prop="orderId" />
|
||||||
|
<el-table-column label="退货数量" align="center" prop="count" />
|
||||||
|
<el-table-column label="商品skuId" align="center" prop="skuId" />
|
||||||
|
|
||||||
|
<el-table-column label="退款金额" align="center" prop="refundAmount" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.refundAmount/100 }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{m}:{s}') }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="退款原因" align="center" prop="reasonText" />
|
||||||
|
<!-- <el-table-column label="说明" align="center" prop="details" />-->
|
||||||
|
<el-table-column label="退货物流" align="center" prop="returnWaybillId" />
|
||||||
|
<el-table-column label="状态" align="center" prop="status" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 'MERCHANT_RETURN_SUCCESS'"> 退货退款完成</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 'MERCHANT_REFUND_SUCCESS'"> 退款完成</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 'USER_CANCELD'"> 用户取消申请</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 'MERCHANT_PROCESSING'"> 商家受理中</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 'MERCHANT_REJECT_REFUND'">商家拒绝退款</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 'MERCHANT_REJECT_RETURN'">商家拒绝退货退款</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 'USER_WAIT_RETURN'">待买家退货</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 'RETURN_CLOSED'">退货退款关闭</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 'MERCHANT_WAIT_RECEIPT'">待商家收货</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 'MERCHANT_OVERDUE_REFUND'">商家逾期未退款</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 'PLATFORM_REFUNDING'">平台退款中</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 'PLATFORM_REFUND_FAIL'">平台退款失败</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 'USER_WAIT_CONFIRM'">待用户确认</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 'MERCHANT_REFUND_RETRY_FAIL'">商家打款失败,客服关闭售后</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 'MERCHANT_FAIL'">售后关闭</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 'USER_WAIT_CONFIRM_UPDATE'">待用户处理商家协商</el-tag>
|
||||||
|
<el-tag size="small" v-if="scope.row.status === 'USER_WAIT_HANDLE_MERCHANT_AFTER_SALE'">待用户处理商家代发起的售后申请</el-tag>
|
||||||
|
<br/>
|
||||||
|
<el-tag size="small" style="margin-top: 5px" v-if="scope.row.type === 'RETURN' && scope.row.confirmStatus === 9">已签收</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
|
||||||
|
<el-button
|
||||||
|
v-if="scope.row.type === 'RETURN' && !scope.row.confirmStatus"
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-document-checked"
|
||||||
|
@click="handleReturnedConfirm(scope.row) "
|
||||||
|
>退货签收</el-button>
|
||||||
|
<el-button
|
||||||
|
v-if="scope.row.type === 'REFUND' && !scope.row.confirmStatus"
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-connection"
|
||||||
|
@click="handleOrderIntercept(scope.row) "
|
||||||
|
>订单拦截</el-button>
|
||||||
|
|
||||||
|
<el-row>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-refresh"
|
||||||
|
@click="handleConfirm(scope.row)"
|
||||||
|
v-hasPermi="['tao:taoRefund:edit']"
|
||||||
|
>更新</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-view"
|
||||||
|
@click="handleDelete(scope.row)"
|
||||||
|
>详情</el-button>
|
||||||
|
</el-row>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<pagination
|
||||||
|
v-show="total>0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="queryParams.pageNum"
|
||||||
|
:limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<!-- 添加或修改淘宝退款订单对话框 -->
|
||||||
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
|
<el-form-item label="退款ID" prop="refundId">
|
||||||
|
<el-input v-model="form.refundId" placeholder="请输入退款id" disabled/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="订单单号" prop="tid">
|
||||||
|
<el-input v-model="form.tid" placeholder="请输入淘宝交易单号" disabled/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="退还金额" prop="refundFee">
|
||||||
|
<el-input v-model="form.refundFee" placeholder="请输入退还金额(退还给买家的金额)。精确到2位小数;单位:元。如:200.07,表示:200元7分" disabled/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="sku编号" prop="specNumber">
|
||||||
|
<el-input v-model="form.specNumber" placeholder="请输入sku编号" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="退货数量" prop="num">
|
||||||
|
<el-input v-model="form.num" placeholder="请输入退货数量" disabled/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="物流公司" prop="logisticsCompany">
|
||||||
|
<el-input v-model="form.logisticsCompany" placeholder="请输入物流公司" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="物流单号" prop="logisticsCode">
|
||||||
|
<el-input v-model="form.logisticsCode" placeholder="请输入物流单号" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="发货时间" prop="sendTime">
|
||||||
|
<el-date-picker clearable
|
||||||
|
v-model="form.sendTime"
|
||||||
|
type="date"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
placeholder="请选择发货时间">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { listShop } from "@/api/shop/shop";
|
||||||
|
import {MessageBox} from "element-ui";
|
||||||
|
import {isRelogin} from "@/utils/request";
|
||||||
|
import {listShopRefund, orderIntercept, pullRefund, returnedConfirm} from "@/api/wei/refund";
|
||||||
|
export default {
|
||||||
|
name: "RefundWei",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: true,
|
||||||
|
pullLoading: false,
|
||||||
|
// 选中数组
|
||||||
|
ids: [],
|
||||||
|
// 非单个禁用
|
||||||
|
single: true,
|
||||||
|
// 非多个禁用
|
||||||
|
multiple: true,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
// 淘宝退款订单表格数据
|
||||||
|
taoRefundList: [],
|
||||||
|
shopList:[],
|
||||||
|
// 弹出层标题
|
||||||
|
title: "",
|
||||||
|
// 是否显示弹出层
|
||||||
|
open: false,
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
refundId: null,
|
||||||
|
afterSalesType: null,
|
||||||
|
tid: null,
|
||||||
|
oid: null
|
||||||
|
},
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
// 表单校验
|
||||||
|
rules: {
|
||||||
|
num: [
|
||||||
|
{ required: true, message: "退货数量不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
logisticsCompany: [
|
||||||
|
{ required: true, message: "不能为空", trigger: "change" }
|
||||||
|
],
|
||||||
|
logisticsCode: [
|
||||||
|
{ required: true, message: "不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
sendTime: [
|
||||||
|
{ required: true, message: "不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
listShop({type:2}).then(response => {
|
||||||
|
this.shopList = response.rows;
|
||||||
|
});
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 查询淘宝退款订单列表 */
|
||||||
|
getList() {
|
||||||
|
this.loading = true;
|
||||||
|
listShopRefund(this.queryParams).then(response => {
|
||||||
|
this.taoRefundList = response.rows;
|
||||||
|
this.total = response.total;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 取消按钮
|
||||||
|
cancel() {
|
||||||
|
this.open = false;
|
||||||
|
this.reset();
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {
|
||||||
|
id: null,
|
||||||
|
refundId: null
|
||||||
|
};
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.pageNum = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
this.resetForm("queryForm");
|
||||||
|
this.handleQuery();
|
||||||
|
},
|
||||||
|
// 多选框选中数据
|
||||||
|
handleSelectionChange(selection) {
|
||||||
|
this.ids = selection.map(item => item.refundId)
|
||||||
|
this.single = selection.length!==1
|
||||||
|
this.multiple = !selection.length
|
||||||
|
},
|
||||||
|
handlePull() {
|
||||||
|
if(this.queryParams.shopId){
|
||||||
|
this.pullLoading = true
|
||||||
|
pullRefund({shopId:this.queryParams.shopId,updType:0}).then(response => {
|
||||||
|
console.log('拉取退款接口返回=====',response)
|
||||||
|
if(response.code === 1401) {
|
||||||
|
MessageBox.confirm('Token已过期,需要重新授权', '系统提示', { confirmButtonText: '重新授权', cancelButtonText: '取消', type: 'warning' }).then(() => {
|
||||||
|
isRelogin.show = false;
|
||||||
|
// store.dispatch('LogOut').then(() => {
|
||||||
|
location.href = response.data.tokenRequestUrl+'?shopId='+this.queryParams.shopId
|
||||||
|
// })
|
||||||
|
}).catch(() => {
|
||||||
|
isRelogin.show = false;
|
||||||
|
});
|
||||||
|
|
||||||
|
// return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
|
||||||
|
}else{
|
||||||
|
this.getList()
|
||||||
|
this.$modal.msgSuccess(JSON.stringify(response));
|
||||||
|
this.pullLoading = false
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
this.$modal.msgSuccess("请先选择店铺");
|
||||||
|
}
|
||||||
|
|
||||||
|
// this.$modal.msgSuccess("请先配置API");
|
||||||
|
},
|
||||||
|
handleReturnedConfirm(row){
|
||||||
|
returnedConfirm(row.id).then(response => {
|
||||||
|
this.$modal.msgSuccess("签收完成");
|
||||||
|
this.getList()
|
||||||
|
});
|
||||||
|
},
|
||||||
|
handleOrderIntercept(row){
|
||||||
|
orderIntercept(row.id).then(response => {
|
||||||
|
this.$modal.msgSuccess("拦截成功");
|
||||||
|
this.getList()
|
||||||
|
});
|
||||||
|
},
|
||||||
|
submitForm(){
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
</script>
|
||||||
Loading…
Reference in New Issue