完善菜单
This commit is contained in:
parent
e982f8453a
commit
fa643ef681
File diff suppressed because one or more lines are too long
|
|
@ -1,73 +0,0 @@
|
|||
/*
|
||||
Navicat Premium Data Transfer
|
||||
|
||||
Source Server : localhost
|
||||
Source Server Type : MySQL
|
||||
Source Server Version : 80200
|
||||
Source Host : localhost:3306
|
||||
Source Schema : qihang-oms
|
||||
|
||||
Target Server Type : MySQL
|
||||
Target Server Version : 80200
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 31/03/2024 20:26:51
|
||||
*/
|
||||
|
||||
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 '菜单名称',
|
||||
`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 = 2079 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '菜单权限表' ROW_FORMAT = DYNAMIC;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of sys_menu
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_menu` VALUES (1, '订单管理', 0, 1, '/order', 'Layout', '', 1, 0, 'M', '0', '0', '', 'system', 'admin', '2023-12-27 15:00:27', 'admin', '2024-03-17 15:03:46', '系统管理目录');
|
||||
INSERT INTO `sys_menu` VALUES (2, '售后管理', 0, 2, '/jd', 'Layout', '', 1, 0, 'M', '0', '0', '', 'monitor', 'admin', '2023-12-27 15:00:27', 'admin', '2024-03-17 15:00:03', '至简官网地址');
|
||||
INSERT INTO `sys_menu` VALUES (3, '店铺设置', 0, 9, '/dou', 'Layout', '', 1, 0, 'M', '0', '0', '', 'dict', 'admin', '2023-12-29 13:29:44', '', '', '');
|
||||
INSERT INTO `sys_menu` VALUES (4, '商品管理', 0, 5, '/goods', 'Layout', '', 1, 0, 'M', '0', '0', '', 'build', 'admin', '2023-12-29 16:53:03', 'admin', '2024-03-31 20:23:51', '');
|
||||
INSERT INTO `sys_menu` VALUES (5, '系统设置', 0, 99, '/system', 'Layout', '', 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 (100, '订单查询', 1, 1, 'order_list', 'order/index', '', 1, 0, 'C', '0', '0', '', 'user', 'admin', '2023-12-27 15:00:27', 'admin', '2024-03-17 15:03:59', '用户管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (101, '订单更新日志', 1, 4, 'tao/goods/list', 'system/role/index', '', 1, 0, 'C', '0', '0', '', 'peoples', 'admin', '2023-12-27 15:00:27', 'admin', '2024-03-29 09:30:42', '角色管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (102, '店铺订单管理', 1, 2, 'tao/refund/list', 'system/menu/index', '', 1, 0, 'C', '0', '0', '', 'monitor', 'admin', '2023-12-27 15:00:27', 'admin', '2024-03-29 09:30:09', '菜单管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (104, '退款查询', 2, 1, 'post', 'system/post/index', '', 1, 0, 'C', '0', '0', '', 'tree', 'admin', '2023-12-27 15:00:27', 'admin', '2024-03-29 09:31:24', '岗位管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (105, '退款更新日志', 2, 6, 'jd/goods/list', 'system/dict/index', '', 1, 0, 'C', '0', '0', '', 'dict', 'admin', '2023-12-27 15:00:27', '', '', '字典管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (106, '店铺退款管理', 2, 2, 'jd/refund/list', 'system/config/index', '', 1, 0, 'C', '0', '0', '', 'edit', 'admin', '2023-12-27 15:00:27', 'admin', '2024-03-29 09:31:17', '参数设置菜单');
|
||||
INSERT INTO `sys_menu` VALUES (108, '店铺管理', 3, 9, 'dou/order/list', 'scm/supplier/index', '', 1, 0, 'C', '0', '0', '', 'tree', 'admin', '2023-12-29 09:14:02', 'admin', '2023-12-29 09:17:27.514466', '');
|
||||
INSERT INTO `sys_menu` VALUES (109, '店铺商品管理', 4, 10, 'dou/goods/list', 'goods/index', '', 1, 0, 'C', '0', '0', '', 'peoples', 'admin', '2023-12-29 13:31:01', 'admin', '2024-03-29 09:31:44', '');
|
||||
INSERT INTO `sys_menu` VALUES (110, '开放平台设置', 3, 88, 'dou/refund/list', 'goods/category/index', '', 1, 0, 'C', '0', '0', '', 'peoples', 'admin', '2023-12-29 13:32:41', 'admin', '2023-12-29 15:02:22.220534', '');
|
||||
INSERT INTO `sys_menu` VALUES (112, 'ERP商品管理', 4, 1, 'list', 'goods/index', '', 1, 0, 'C', '0', '0', '', 'tree', 'admin', '2023-12-29 16:35:55', 'admin', '2024-03-18 07:45:13', '');
|
||||
INSERT INTO `sys_menu` VALUES (116, '用户管理', 5, 1, 'user', 'system/user/index', '', 1, 0, 'C', '0', '0', '', 'user', 'admin', '2023-12-27 15:00:27', '', '', '用户管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (117, '菜单管理', 5, 1, 'menu', 'system/menu/index', '', 1, 0, 'C', '0', '0', '', 'user', 'admin', '2023-12-27 15:00:27', '', '', '用户管理菜单');
|
||||
INSERT INTO `sys_menu` VALUES (2078, '添加ERP商品', 4, 9, 'goods_add', 'goods/create', NULL, 1, 0, 'C', '0', '0', NULL, 'checkbox', 'admin', '2024-03-18 07:59:57', '', NULL, '');
|
||||
INSERT INTO `sys_menu` VALUES (2079, '字典管理', 5, 9, 'dict', 'system/dict/index', NULL, 1, 0, 'C', '0', '0', '', 'dict', 'admin', '2024-03-18 08:43:55', 'admin', '2024-03-18 08:44:08', '');
|
||||
INSERT INTO `sys_menu` VALUES (2080, '发货管理', 0, 3, 'shipping', NULL, NULL, 1, 0, 'M', '0', '0', NULL, 'guide', 'admin', '2024-03-31 20:24:17', '', NULL, '');
|
||||
INSERT INTO `sys_menu` VALUES (2081, '发货管理', 2080, 1, 'ship', NULL, NULL, 1, 0, 'C', '0', '0', NULL, 'button', 'admin', '2024-03-31 20:24:49', '', NULL, '');
|
||||
INSERT INTO `sys_menu` VALUES (2082, '快递公司库', 2080, 2, 'logistics_company', NULL, NULL, 1, 0, 'C', '0', '0', NULL, 'cascader', 'admin', '2024-03-31 20:25:47', '', NULL, '');
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 查询列表
|
||||
export function list(query) {
|
||||
return request({
|
||||
url: '/api/oms-api/afterSale/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 新增补发
|
||||
export function addShipAgain(data) {
|
||||
return request({
|
||||
url: '/afterSale/shipAgain',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 完成
|
||||
export function shipAgainComplete(id) {
|
||||
return request({
|
||||
url: '/afterSale/shipAgain/complete/'+id,
|
||||
method: 'put'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 查询
|
||||
export function listShipping(query) {
|
||||
return request({
|
||||
url: '/api/oms-api/shipping/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getLogistics(id) {
|
||||
return request({
|
||||
url: '/api/logistics/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增
|
||||
export function handShip(data) {
|
||||
return request({
|
||||
url: '/api/oms-api/shipping/handShip',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -12,7 +12,7 @@ export function listGoodsSpec(query) {
|
|||
// 查询商品规格库存管理详细
|
||||
export function getGoodsSpec(id) {
|
||||
return request({
|
||||
url: '/goods/goodsSpec/' + id,
|
||||
url: '/api/oms-api/goods/sku/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
|
@ -29,7 +29,7 @@ export function addGoodsSpec(data) {
|
|||
// 修改商品规格库存管理
|
||||
export function updateGoodsSpec(data) {
|
||||
return request({
|
||||
url: '/goods/goodsSpec',
|
||||
url: '/api/oms-api/goods/sku',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
|
|
|
|||
|
|
@ -27,6 +27,16 @@ export function pullOrder(data) {
|
|||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function pullOrderDetail(data) {
|
||||
return request({
|
||||
url: '/api/jd-api/order/pull_order_detail',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
export function pushOms(data) {
|
||||
return request({
|
||||
url: '/api/jd-api/order/push_oms',
|
||||
|
|
|
|||
|
|
@ -12,15 +12,23 @@ export function listOrder(query) {
|
|||
// 查询店铺订单详细
|
||||
export function getOrder(id) {
|
||||
return request({
|
||||
url: '/api/order/' + id,
|
||||
url: '/api/oms-api/order/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增店铺订单
|
||||
export function addOrder(data) {
|
||||
// 订单明细list
|
||||
export function listOrderItem(query) {
|
||||
return request({
|
||||
url: '/api/order',
|
||||
url: '/api/oms-api/order/item_list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function updateErpSkuId(data) {
|
||||
return request({
|
||||
url: '/api/oms-api/order/updateErpSkuId',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
|
|
@ -34,21 +42,3 @@ export function shipOrder(data) {
|
|||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 修改店铺订单
|
||||
export function updateOrder(data) {
|
||||
return request({
|
||||
url: '/api/order',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除店铺订单
|
||||
export function delOrder(id) {
|
||||
return request({
|
||||
url: '/api/order/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -76,6 +76,15 @@ export function listLogistics(query) {
|
|||
params: query
|
||||
})
|
||||
}
|
||||
export function listLogisticsStatus(query) {
|
||||
return request({
|
||||
url: '/api/oms-api/shop/logistics_status',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
export function listShopPullLogs(query) {
|
||||
return request({
|
||||
|
|
@ -84,3 +93,11 @@ export function listShopPullLogs(query) {
|
|||
params: query
|
||||
})
|
||||
}
|
||||
// 修改物流状态
|
||||
export function updateStatus(data) {
|
||||
return request({
|
||||
url: '/api/oms-api/shop/logistics/updateStatus',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import request from '@/utils/request'
|
|||
// 查询部门列表
|
||||
export function listDept(query) {
|
||||
return request({
|
||||
url: '/system/dept/list',
|
||||
url: '/api/sys-api/system/dept/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
|
|
@ -12,7 +12,7 @@ export function listDept(query) {
|
|||
// 查询部门列表(排除节点)
|
||||
export function listDeptExcludeChild(deptId) {
|
||||
return request({
|
||||
url: '/system/dept/list/exclude/' + deptId,
|
||||
url: '/api/sys-api/system/dept/list/exclude/' + deptId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
|
@ -20,7 +20,7 @@ export function listDeptExcludeChild(deptId) {
|
|||
// 查询部门详细
|
||||
export function getDept(deptId) {
|
||||
return request({
|
||||
url: '/system/dept/' + deptId,
|
||||
url: '/api/sys-api/system/dept/' + deptId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
|
@ -28,7 +28,7 @@ export function getDept(deptId) {
|
|||
// 新增部门
|
||||
export function addDept(data) {
|
||||
return request({
|
||||
url: '/system/dept',
|
||||
url: '/api/sys-api/system/dept',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
|
|
@ -37,7 +37,7 @@ export function addDept(data) {
|
|||
// 修改部门
|
||||
export function updateDept(data) {
|
||||
return request({
|
||||
url: '/system/dept',
|
||||
url: '/api/sys-api/system/dept',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
|
|
@ -46,7 +46,7 @@ export function updateDept(data) {
|
|||
// 删除部门
|
||||
export function delDept(deptId) {
|
||||
return request({
|
||||
url: '/system/dept/' + deptId,
|
||||
url: '/api/sys-api/system/dept/' + deptId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
|
@ -28,7 +28,7 @@ export function treeselect() {
|
|||
// 根据角色ID查询菜单下拉树结构
|
||||
export function roleMenuTreeselect(roleId) {
|
||||
return request({
|
||||
url: '/system/menu/roleMenuTreeselect/' + roleId,
|
||||
url: '/api/sys-api/system/menu/roleMenuTreeselect/' + roleId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import request from '@/utils/request'
|
|||
// 查询角色列表
|
||||
export function listRole(query) {
|
||||
return request({
|
||||
url: '/system/role/list',
|
||||
url: '/api/sys-api/system/role/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
|
|
@ -12,7 +12,7 @@ export function listRole(query) {
|
|||
// 查询角色详细
|
||||
export function getRole(roleId) {
|
||||
return request({
|
||||
url: '/system/role/' + roleId,
|
||||
url: '/api/sys-api/system/role/' + roleId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
|
@ -20,7 +20,7 @@ export function getRole(roleId) {
|
|||
// 新增角色
|
||||
export function addRole(data) {
|
||||
return request({
|
||||
url: '/system/role',
|
||||
url: '/api/sys-api/system/role',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
|
|
@ -29,7 +29,7 @@ export function addRole(data) {
|
|||
// 修改角色
|
||||
export function updateRole(data) {
|
||||
return request({
|
||||
url: '/system/role',
|
||||
url: '/api/sys-api/system/role',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@ export function updateAuthRole(data) {
|
|||
// 查询部门下拉树结构
|
||||
export function deptTreeSelect() {
|
||||
return request({
|
||||
url: '/system/user/deptTree',
|
||||
url: '/api/sys-api/system/user/deptTree',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,6 +27,14 @@ export function pullOrder(data) {
|
|||
})
|
||||
}
|
||||
|
||||
export function pullOrderDetail(data) {
|
||||
return request({
|
||||
url: '/api/tao-api/order/pull_order_detail',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function pushOms(data) {
|
||||
return request({
|
||||
url: '/api/tao-api/order/push_oms',
|
||||
|
|
|
|||
|
|
@ -16,6 +16,15 @@ export function pullRefund(data) {
|
|||
})
|
||||
}
|
||||
|
||||
|
||||
export function pullRefundDetail(data) {
|
||||
return request({
|
||||
url: '/api/tao-api/refund/pull_refund_detail',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function pushOms(data) {
|
||||
return request({
|
||||
url: '/api/tao-api/refund/push_oms',
|
||||
|
|
|
|||
|
|
@ -0,0 +1,351 @@
|
|||
<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="afterSaleOrderId">
|
||||
<el-input
|
||||
v-model="queryParams.afterSaleOrderId"
|
||||
placeholder="请输入退货单号"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="源订单号" prop="orderId">
|
||||
<el-input
|
||||
v-model="queryParams.orderId"
|
||||
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">淘宝天猫</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>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="商品id" prop="goodsId">
|
||||
<el-input
|
||||
v-model="queryParams.goodsId"
|
||||
placeholder="请输入商品id"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="sku编码" prop="skuCode">
|
||||
<el-input
|
||||
v-model="queryParams.skuCode"
|
||||
placeholder="请输入sku编码"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</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
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
>手动处理售后</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleShippingLog"
|
||||
>ERP售后处理推送记录</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="dataList" @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="afterSaleOrderId" />
|
||||
<el-table-column label="退货类型" align="center" prop="type" >
|
||||
<template slot-scope="scope">
|
||||
<el-tag size="small" v-if="scope.row.type === 10"> 退货</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.type === 20"> 换货</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.type === 80"> 补发</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.type === 99"> 订单拦截</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="源订单号" align="center" prop="orderId" />
|
||||
<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="订单id" align="center" prop="orderId" />
|
||||
<el-table-column label="子订单id" align="center" prop="subOrderId" />
|
||||
<el-table-column label="商品" align="center" prop="title" />
|
||||
<el-table-column label="sku" align="center" prop="skuInfo" />
|
||||
<el-table-column label="SKU编码" align="center" prop="skuCode" />
|
||||
<el-table-column label="数量" align="center" prop="count" />
|
||||
<el-table-column label="物流公司" align="center" prop="shipCompany" />
|
||||
<el-table-column label="物流单号" align="center" prop="shipWaybillCode" />
|
||||
<el-table-column label="收货人" align="center" prop="receiverName" />
|
||||
<el-table-column label="手机号" align="center" prop="receiverTel" />
|
||||
<el-table-column label="收货地址" align="center" prop="receiverAddress" />
|
||||
<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 === 1"> 已发出</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.status === 2"> 已完成</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>
|
||||
</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="120px">
|
||||
<el-form-item label="店铺" prop="shopId">
|
||||
<el-select v-model="form.shopId" filterable r 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">淘宝天猫</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>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="退货单号" prop="afterSaleOrderId">
|
||||
<el-input v-model="form.afterSaleOrderId" placeholder="请输入退货单号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="源订单号" prop="orderId">
|
||||
<el-input v-model="form.orderId" placeholder="请输入源订单号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="子订单id" prop="subOrderId">
|
||||
<el-input v-model="form.subOrderId" placeholder="请输入订单id" />
|
||||
</el-form-item>
|
||||
<el-form-item label="平台商品id" prop="productId">
|
||||
<el-input v-model="form.productId" placeholder="请输入平台商品id" />
|
||||
</el-form-item>
|
||||
<el-form-item label="平台skuId" prop="skuId">
|
||||
<el-input v-model="form.skuId" placeholder="请输入平台skuId" />
|
||||
</el-form-item>
|
||||
<el-form-item label="Sku编码" prop="skuCode">
|
||||
<el-input v-model="form.skuCode" placeholder="请输入Sku编码" />
|
||||
</el-form-item>
|
||||
<el-form-item label="ERP商品id" prop="erpGoodsId">
|
||||
<el-input v-model="form.erpGoodsId" placeholder="请输入ERP商品id" />
|
||||
</el-form-item>
|
||||
<el-form-item label="ERP商品skuId" prop="erpSkuId">
|
||||
<el-input v-model="form.erpSkuId" placeholder="请输入ERP商品skuId" />
|
||||
</el-form-item>
|
||||
<el-form-item label="商品名称" prop="title">
|
||||
<el-input v-model="form.title" placeholder="请输入商品名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="商品SKU信息" prop="skuInfo">
|
||||
<el-input v-model="form.skuInfo" placeholder="请输入商品SKU信息" />
|
||||
</el-form-item>
|
||||
<el-form-item label="数量" prop="count">
|
||||
<el-input v-model="form.count" placeholder="请输入数量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="发货物流公司" prop="shipCompany">
|
||||
<el-input v-model="form.shipCompany" placeholder="请输入发货物流公司" />
|
||||
</el-form-item>
|
||||
<el-form-item label="发货物流单号" prop="shipWaybillCode">
|
||||
<el-input v-model="form.shipWaybillCode" placeholder="请输入发货物流单号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="收货人" prop="receiverName">
|
||||
<el-input v-model="form.receiverName" placeholder="请输入收货人" />
|
||||
</el-form-item>
|
||||
<el-form-item label="收货人手机号" prop="receiverTel">
|
||||
<el-input v-model="form.receiverTel" placeholder="请输入收货人手机号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="收货地址" prop="receiverAddress">
|
||||
<el-input v-model="form.receiverAddress" placeholder="请输入收货地址" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="form.remark" 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 {list, addShipAgain, shipAgainComplete} from "@/api/afterSale/after_sale";
|
||||
import {listShop} from "@/api/shop/shop";
|
||||
|
||||
export default {
|
||||
name: "AfterSale",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 表格数据
|
||||
dataList: [],
|
||||
shopList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
afterSaleOrderId: null,
|
||||
shopId: null,
|
||||
orderId: null,
|
||||
status: null,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
shopId: [{ required: true, message: "请选择店铺", trigger: "change" }],
|
||||
afterSaleOrderId: [{ required: true, message: "不能为空", trigger: "blur" }],
|
||||
orderId: [{ required: true, message: "订单号不能为空", trigger: "blur" }],
|
||||
erpGoodsId: [{ required: true, message: "不能为空", trigger: "blur" }],
|
||||
erpSkuId: [{ required: true, message: "不能为空", trigger: "change" }],
|
||||
skuInfo: [{ required: true, message: "不能为空", trigger: "change" }],
|
||||
title: [{ required: true, message: "不能为空", trigger: "change" }],
|
||||
count: [{ required: true, message: "不能为空", trigger: "change" }],
|
||||
shipCompany: [{ required: true, message: "不能为空", trigger: "change" }],
|
||||
shipWaybillCode: [{ required: true, message: "不能为空", trigger: "change" }],
|
||||
receiverName: [{ required: true, message: "不能为空", trigger: "change" }],
|
||||
receiverTel: [{ required: true, message: "不能为空", trigger: "change" }],
|
||||
receiverAddress: [{ required: true, message: "不能为空", trigger: "change" }],
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
listShop({}).then(response => {
|
||||
this.shopList = response.rows;
|
||||
});
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询退换货列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
list(this.queryParams).then(response => {
|
||||
this.dataList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {};
|
||||
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
|
||||
},
|
||||
handleAdd(){
|
||||
this.reset()
|
||||
this.open=true
|
||||
this.title="手动添加补发信息"
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const id = row.id || this.ids
|
||||
shipAgainComplete(id).then(response => {
|
||||
this.$modal.msgSuccess("确认完成");
|
||||
this.getList()
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
addShipAgain(this.form).then(response => {
|
||||
this.$modal.msgSuccess("补发成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
@ -25,16 +25,16 @@
|
|||
@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">-->
|
||||
<!-- </el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </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">
|
||||
</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>
|
||||
|
|
@ -116,7 +116,7 @@ import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
|||
import {listShop} from "@/api/shop/shop";
|
||||
|
||||
export default {
|
||||
name: "Goods",
|
||||
name: "GoodsDou",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
|
|
@ -161,10 +161,10 @@ export default {
|
|||
};
|
||||
},
|
||||
created() {
|
||||
// listShop({type:3}).then(response => {
|
||||
// this.shopList = response.rows;
|
||||
// });
|
||||
// this.getList();
|
||||
listShop({type:3}).then(response => {
|
||||
this.shopList = response.rows;
|
||||
});
|
||||
this.getList();
|
||||
this.loading = false;
|
||||
},
|
||||
methods: {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||
<el-tab-pane label="天猫" name="taoGoods">
|
||||
<goods-tao></goods-tao>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="京东" name="jdGoods" lazy>
|
||||
<goods-jd></goods-jd>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="抖店" name="douOrder" lazy>
|
||||
<goods-dou></goods-dou>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="拼多多" name="pddOrder" lazy>
|
||||
<goods-pdd></goods-pdd>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import GoodsTao from "@/views/tao/goods/index";
|
||||
import GoodsJd from "@/views/jd/goods/index";
|
||||
import GoodsDou from "@/views/dou/goods/index";
|
||||
import GoodsPdd from "@/views/pdd/goods/index";
|
||||
export default {
|
||||
name: "Goods",
|
||||
components:{GoodsTao,GoodsJd,GoodsDou,GoodsPdd},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'taoGoods'
|
||||
};
|
||||
},
|
||||
created() {
|
||||
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
handleClick(tab, event) {
|
||||
console.log(tab, event);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
@ -65,13 +65,18 @@
|
|||
<el-table-column label="Sku名" align="center" prop="skuName" />
|
||||
<el-table-column label="Sku编码" align="center" prop="skuNum" />
|
||||
<!-- <el-table-column label="颜色" align="center" prop="colorValue" />-->
|
||||
<el-table-column label="颜色图片" align="center" prop="colorImage" width="100">
|
||||
<!-- <el-table-column label="颜色图片" align="center" prop="colorImage" width="100">-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- <image-preview :src="scope.row.colorImage" :width="50" :height="50"/>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<!-- <el-table-column label="尺码" align="center" prop="sizeValue" />-->
|
||||
<!-- <el-table-column label="款式" align="center" prop="styleValue" />-->
|
||||
<el-table-column label="Tag" align="center" prop="tag" >
|
||||
<template slot-scope="scope">
|
||||
<image-preview :src="scope.row.colorImage" :width="50" :height="50"/>
|
||||
<el-tag size="small" v-if="scope.row.tag">{{ scope.row.tag }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="尺码" align="center" prop="sizeValue" />
|
||||
<el-table-column label="款式" align="center" prop="styleValue" />
|
||||
<el-table-column label="备注" align="center" prop="remark" />
|
||||
<el-table-column label="状态" align="center" prop="status" >
|
||||
<template slot-scope="scope">
|
||||
|
|
|
|||
|
|
@ -25,16 +25,16 @@
|
|||
@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">-->
|
||||
<!-- </el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </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">
|
||||
</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>
|
||||
|
|
@ -128,7 +128,7 @@ import {MessageBox} from "element-ui";
|
|||
import {isRelogin} from "@/utils/request";
|
||||
|
||||
export default {
|
||||
name: "Goods",
|
||||
name: "GoodsJd",
|
||||
components: { Treeselect },
|
||||
data() {
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,17 @@
|
|||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="订单状态" prop="orderState">
|
||||
<el-select v-model="queryParams.orderState" placeholder="请选择状态" clearable @change="handleQuery">
|
||||
<el-option label="等待出库" value="WAIT_SELLER_STOCK_OUT" ></el-option>
|
||||
<el-option label="等待确认收货" value="WAIT_GOODS_RECEIVE_CONFIRM"></el-option>
|
||||
<el-option label="等待发货" value="WAIT_SELLER_DELIVERY"> </el-option>
|
||||
<el-option label="POP暂停" value="POP_ORDER_PAUSE"></el-option>
|
||||
<el-option label="完成" value="FINISHED_L"></el-option>
|
||||
<el-option label="取消" value="TRADE_CANCELED"></el-option>
|
||||
<el-option label="已锁定" value="LOCKED"></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>
|
||||
|
|
@ -88,19 +98,10 @@
|
|||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="success"
|
||||
icon="el-icon-success"
|
||||
:loading="pullLoading"
|
||||
icon="el-icon-refresh"
|
||||
@click="handlePullUpdate(scope.row)"
|
||||
>更新订单</el-button>
|
||||
<div>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-view"
|
||||
@click="handleDetail(scope.row)"
|
||||
v-hasPermi="['tao:order:remove']"
|
||||
>详情</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
@ -116,7 +117,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { listOrder, pullOrder,getOrder,pushOms } from "@/api/jd/order";
|
||||
import {listOrder, pullOrder, getOrder, pushOms, pullOrderDetail} from "@/api/jd/order";
|
||||
import { listShop } from "@/api/shop/shop";
|
||||
import {MessageBox} from "element-ui";
|
||||
import {isRelogin} from "@/utils/request";
|
||||
|
|
@ -238,6 +239,15 @@ export default {
|
|||
}else{
|
||||
this.$modal.msgSuccess("请先选择店铺");
|
||||
}
|
||||
},
|
||||
handlePullUpdate(row) {
|
||||
// 接口拉取订单并更新
|
||||
this.pullLoading = true
|
||||
pullOrderDetail({shopId:row.shopId,orderId:row.orderId}).then(response => {
|
||||
console.log('拉取JD订单接口返回=====',response)
|
||||
this.$modal.msgSuccess(JSON.stringify(response));
|
||||
this.pullLoading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="login">
|
||||
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
|
||||
<h3 class="title">启航电商OMS系统</h3>
|
||||
<h3 class="title">曲美电商OMS系统</h3>
|
||||
<el-form-item prop="username">
|
||||
<el-input
|
||||
v-model="loginForm.username"
|
||||
|
|
|
|||
|
|
@ -24,31 +24,38 @@
|
|||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="收件人" prop="receiverName">
|
||||
<el-input
|
||||
v-model="queryParams.receiverName"
|
||||
placeholder="请输入收件人"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
<!-- <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="receiverMobile">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="queryParams.receiverMobile"-->
|
||||
<!-- 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 label="订单状态" prop="orderStatus">
|
||||
<el-select v-model="queryParams.orderStatus" placeholder="请选择状态" clearable @change="handleQuery">
|
||||
<el-option label="待发货" value="1" ></el-option>
|
||||
<el-option label="已发货" value="2"></el-option>
|
||||
<el-option label="已完成" value="3"> </el-option>
|
||||
<el-option label="已取消" value="11"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号" prop="receiverMobile">
|
||||
<el-input
|
||||
v-model="queryParams.receiverMobile"
|
||||
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>
|
||||
|
|
@ -56,6 +63,16 @@
|
|||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<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>
|
||||
<!-- <el-col :span="1.5">-->
|
||||
<!-- <el-button-->
|
||||
<!-- type="warning"-->
|
||||
|
|
@ -70,7 +87,7 @@
|
|||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="orderList" @selection-change="handleSelectionChange">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" />-->
|
||||
<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="shopId" >
|
||||
|
|
@ -104,9 +121,13 @@
|
|||
<el-table-column label="状态" align="center" prop="orderStatus" >
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.orderStatus === 1" style="margin-bottom: 6px;">待发货</el-tag>
|
||||
<el-tag v-if="scope.row.orderStatus === 2" style="margin-bottom: 6px;">已出库</el-tag>
|
||||
<el-tag v-if="scope.row.orderStatus === 3" style="margin-bottom: 6px;">已发货</el-tag>
|
||||
<el-tag v-if="scope.row.orderStatus === 4" style="margin-bottom: 6px;">已完成</el-tag>
|
||||
<el-tag v-if="scope.row.orderStatus === 2" style="margin-bottom: 6px;">已发货</el-tag>
|
||||
<el-tag v-if="scope.row.orderStatus === 3" style="margin-bottom: 6px;">已完成</el-tag>
|
||||
<el-tag v-if="scope.row.orderStatus === 21" style="margin-bottom: 6px;">待付款</el-tag>
|
||||
<el-tag v-if="scope.row.orderStatus === 11" style="margin-bottom: 6px;">已取消</el-tag>
|
||||
<br />
|
||||
<el-tag style="margin-bottom: 6px;" v-if="scope.row.hasPushErp === 1">已推送到ERP</el-tag>
|
||||
<el-tag type="danger" style="margin-bottom: 6px;" v-if="scope.row.hasPushErp === 0">待推送到ERP</el-tag>
|
||||
<br />
|
||||
<!-- 1:无售后或售后关闭,2:售后处理中,3:退款中,4: 退款成功 -->
|
||||
<el-tag v-if="scope.row.refundStatus === 1">无售后或售后关闭</el-tag>
|
||||
|
|
@ -136,14 +157,14 @@
|
|||
icon="el-icon-view"
|
||||
@click="handleDetail(scope.row)"
|
||||
>详情</el-button>
|
||||
<div>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="success"
|
||||
icon="el-icon-share"
|
||||
@click="handleShip(scope.row)"
|
||||
>订单发货</el-button>
|
||||
</div>
|
||||
<!-- <div>-->
|
||||
<!-- <el-button-->
|
||||
<!-- size="mini"-->
|
||||
<!-- type="success"-->
|
||||
<!-- icon="el-icon-share"-->
|
||||
<!-- @click="handleShip(scope.row)"-->
|
||||
<!-- >订单发货</el-button>-->
|
||||
<!-- </div>-->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
@ -158,107 +179,116 @@
|
|||
|
||||
<!-- 订单详情对话框 -->
|
||||
<el-dialog :title="detailTitle" :visible.sync="detailOpen" width="1100px" append-to-body>
|
||||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||
<el-tab-pane label="订单详情" name="orderDetail">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px" inline>
|
||||
<el-descriptions title="订单信息">
|
||||
<el-descriptions-item label="ID">{{form.id}}</el-descriptions-item>
|
||||
<el-descriptions-item label="订单号">{{form.orderNum}}</el-descriptions-item>
|
||||
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px" inline>
|
||||
<el-descriptions title="订单信息">
|
||||
<el-descriptions-item label="ID">{{form.id}}</el-descriptions-item>
|
||||
<el-descriptions-item label="订单号">{{form.orderNum}}</el-descriptions-item>
|
||||
<el-descriptions-item label="店铺">
|
||||
{{ shopList.find(x=>x.id === form.shopId)?shopList.find(x=>x.id === form.shopId).name:'' }}
|
||||
<el-tag size="small" v-if="form.shopType === 1">天猫</el-tag>
|
||||
<el-tag size="small" v-if="form.shopType === 4">拼多多</el-tag>
|
||||
<el-tag size="small" v-if="form.shopType === 3">抖店</el-tag>
|
||||
<el-tag size="small" v-if="form.shopType === 2">京东</el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="买家留言">
|
||||
{{form.buyerMemo}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="卖家留言">
|
||||
{{form.sellerMemo}}
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="店铺">
|
||||
{{ shopList.find(x=>x.id === form.shopId)?shopList.find(x=>x.id === form.shopId).name:'' }}
|
||||
<el-tag size="small" v-if="form.shopType === 4">淘宝天猫</el-tag>
|
||||
<el-tag size="small" v-if="form.shopType === 5">拼多多</el-tag>
|
||||
<el-tag size="small" v-if="form.shopType === 6">抖店</el-tag>
|
||||
<el-tag size="small" v-if="form.shopType === 7">小红书</el-tag>
|
||||
<el-tag size="small" v-if="form.shopType === 13">快手小店</el-tag>
|
||||
<el-tag size="small" v-if="form.shopType === 99">其他</el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="备注">
|
||||
{{form.remark}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="创建时间">
|
||||
{{ parseTime(form.createTime, '{y}-{m}-{d} {h}:{m}:{s}') }}
|
||||
<!-- <el-date-picker
|
||||
disabled
|
||||
v-model="form.orderCreateTime"
|
||||
type="datetime"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
placeholder="请选择订单创建时间">
|
||||
</el-date-picker> -->
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="支付时间"> {{ form.payTime }}</el-descriptions-item>
|
||||
<el-descriptions-item label="最后更新时间"> {{ form.updateTime }}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="订单状态">
|
||||
<el-tag v-if="form.orderStatus === 1" style="margin-bottom: 6px;">待发货</el-tag>
|
||||
<el-tag v-if="form.orderStatus === 2" style="margin-bottom: 6px;">已出库</el-tag>
|
||||
<el-tag v-if="form.orderStatus === 3" style="margin-bottom: 6px;">已发货</el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="退款状态">
|
||||
<el-tag v-if="form.refundStatus === 1">无售后或售后关闭</el-tag>
|
||||
<el-tag v-if="form.refundStatus === 2">售后处理中</el-tag>
|
||||
<el-tag v-if="form.refundStatus === 3">退款中</el-tag>
|
||||
<el-tag v-if="form.refundStatus === 4">退款成功</el-tag>
|
||||
</el-descriptions-item>
|
||||
|
||||
</el-descriptions>
|
||||
<el-descriptions title="付款信息">
|
||||
<el-descriptions-item label="商品总额">{{form.goodsAmount}}</el-descriptions-item>
|
||||
<el-descriptions-item label="实际支付金额">{{form.amount}}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
|
||||
<el-descriptions-item label="标签">
|
||||
<el-tag size="small" v-if="form.tag ==='1' ">实售</el-tag>
|
||||
<el-tag size="small" v-if="form.tag ==='2' ">淘宝客</el-tag>
|
||||
<el-tag size="small" v-if="form.tag ==='3' ">刷单</el-tag>
|
||||
<el-tag size="small" v-if="form.tag ==='4' ">返现</el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="买家留言">
|
||||
{{form.buyerMemo}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="备注">
|
||||
{{form.remark}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="创建时间">
|
||||
{{ form.createTime }}
|
||||
<!-- <el-date-picker
|
||||
disabled
|
||||
v-model="form.orderCreateTime"
|
||||
type="datetime"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
placeholder="请选择订单创建时间">
|
||||
</el-date-picker> -->
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="支付时间"> {{ form.payTime }}</el-descriptions-item>
|
||||
<el-descriptions-item label="最后更新时间"> {{ form.updateTime }}</el-descriptions-item>
|
||||
<el-descriptions title="收货信息">
|
||||
<el-descriptions-item label="收件人姓名">{{form.receiverName}}</el-descriptions-item>
|
||||
<el-descriptions-item label="收件人手机号">{{form.receiverMobile}}</el-descriptions-item>
|
||||
<el-descriptions-item label="省市区">{{form.province}}{{form.city}}{{form.town}}</el-descriptions-item>
|
||||
<el-descriptions-item label="详细地址">{{form.address}}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-descriptions title="发货信息">
|
||||
|
||||
<el-descriptions-item label="订单状态">
|
||||
<el-tag v-if="form.orderStatus === 1" style="margin-bottom: 6px;">待发货</el-tag>
|
||||
<el-tag v-if="form.orderStatus === 2" style="margin-bottom: 6px;">已发货</el-tag>
|
||||
<el-tag v-if="form.orderStatus === 3" style="margin-bottom: 6px;">已签收</el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="退款状态">
|
||||
<el-tag v-if="form.refundStatus === 1">无售后或售后关闭</el-tag>
|
||||
<el-tag v-if="form.refundStatus === 2">售后处理中</el-tag>
|
||||
<el-tag v-if="form.refundStatus === 3">退款中</el-tag>
|
||||
<el-tag v-if="form.refundStatus === 4">退款成功</el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="物流公司">{{form.shippingCompany}}</el-descriptions-item>
|
||||
<el-descriptions-item label="物流单号">{{form.shippingNumber}}</el-descriptions-item>
|
||||
<el-descriptions-item label="发货时间">{{form.shippingTime}}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
</el-descriptions>
|
||||
<el-descriptions title="付款信息">
|
||||
<el-descriptions-item label="商品总额">{{form.goodsAmount}}</el-descriptions-item>
|
||||
<el-descriptions-item label="优惠金额">{{form.discountAmount}}</el-descriptions-item>
|
||||
<el-descriptions-item label="运费">{{form.postage}}</el-descriptions-item>
|
||||
<el-descriptions-item label="实际支付金额">{{form.amount}}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-form>
|
||||
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="商品列表" name="orderItems" lazy>
|
||||
<el-table :data="form.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-descriptions title="收货信息">
|
||||
<el-descriptions-item label="收件人姓名">{{form.receiverName}}</el-descriptions-item>
|
||||
<el-descriptions-item label="收件人手机号">{{form.receiverPhone}}</el-descriptions-item>
|
||||
<el-descriptions-item label="省市区">{{form.province}}{{form.city}}{{form.town}}</el-descriptions-item>
|
||||
<el-descriptions-item label="详细地址">{{form.address}}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-descriptions title="发货信息">
|
||||
<el-descriptions-item label="发货方式">
|
||||
<el-tag v-if="form.shipType === 1" type="danger">供应商代发</el-tag>
|
||||
<el-tag v-if="form.shipType === 0" type="danger">仓库发货</el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="物流公司">{{form.shippingCompany}}</el-descriptions-item>
|
||||
<el-descriptions-item label="物流单号">{{form.shippingNumber}}</el-descriptions-item>
|
||||
<el-descriptions-item label="发货时间">{{form.shippingTime}}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-table-column label="商品图片" prop="goodsImg" width="80">
|
||||
<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="SKU" prop="goodsSpec" width="150"></el-table-column>
|
||||
<el-table-column label="sku编码" prop="specNum"></el-table-column>
|
||||
<el-table-column label="单价" prop="goodsPrice"></el-table-column>
|
||||
<el-table-column label="数量" prop="quantity"></el-table-column>
|
||||
<el-table-column label="退款状态" prop="refundStatus">
|
||||
<template slot-scope="scope">
|
||||
<!-- 1:无售后或售后关闭,2:售后处理中,3:退款中,4: 退款成功 -->
|
||||
<el-tag v-if="scope.row.refundStatus === 1">无售后或售后关闭</el-tag>
|
||||
<el-tag v-if="scope.row.refundStatus === 2">售后处理中</el-tag>
|
||||
<el-tag v-if="scope.row.refundStatus === 3">退款中</el-tag>
|
||||
<el-tag v-if="scope.row.refundStatus === 4">退款成功</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="优惠明细" name="orderCou" lazy>
|
||||
<el-table :data="form.discounts" style="margin-bottom: 10px;">
|
||||
<el-table-column label="序号" align="center" type="index" width="50"/>
|
||||
<el-table-column label="优惠名称" prop="name" ></el-table-column>
|
||||
<el-table-column label="优惠金额" prop="discountAmount"></el-table-column>
|
||||
<el-table-column label="优惠描述" prop="description"></el-table-column>
|
||||
</el-table>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="物流单" name="orderLog" lazy>
|
||||
|
||||
<el-divider content-position="center">订单商品</el-divider>
|
||||
<el-table :data="form.erpOrderItemList" 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="goodsImg" width="80">
|
||||
<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="SKU" prop="goodsSpec" width="150"></el-table-column>
|
||||
<el-table-column label="sku编码" prop="specNum"></el-table-column>
|
||||
<el-table-column label="单价" prop="goodsPrice"></el-table-column>
|
||||
<el-table-column label="数量" prop="quantity"></el-table-column>
|
||||
<!-- <el-table-column label="商品金额" prop="itemAmount"></el-table-column> -->
|
||||
</el-table>
|
||||
</el-form>
|
||||
<!-- <div slot="footer" class="dialog-footer" v-if="isAudit">
|
||||
<el-button type="primary" @click="submitConfirmForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div> -->
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -266,6 +296,7 @@
|
|||
<script>
|
||||
import { listOrder, getOrder, delOrder, addOrder, updateOrder } from "@/api/order/order";
|
||||
import { listShop } from "@/api/shop/shop";
|
||||
|
||||
export default {
|
||||
name: "Order",
|
||||
data() {
|
||||
|
|
@ -293,6 +324,7 @@ export default {
|
|||
detailTitle:'订单详情',
|
||||
detailOpen:false,
|
||||
isAudit:false,
|
||||
activeName: 'orderDetail',
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,228 @@
|
|||
<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="subOrderNum">
|
||||
<el-input
|
||||
v-model="queryParams.subOrderNum"
|
||||
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">淘宝天猫</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>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="refundStatus">
|
||||
<el-select v-model="queryParams.refundStatus" placeholder="请选择状态" clearable @change="handleQuery">
|
||||
<el-option label="无售后或售后关闭" value="1" ></el-option>
|
||||
<el-option label="售后处理中" value="2"></el-option>
|
||||
<el-option label="退款中" value="3"> </el-option>
|
||||
<el-option label="退款成功" value="4"></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">
|
||||
<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="子订单编号" align="center" prop="subOrderNum" />
|
||||
<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="商品图片" 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="商品标题" align="center" prop="goodsTitle" />
|
||||
<el-table-column label="商品SKU" align="center" prop="goodsSpec" />
|
||||
<el-table-column label="平台SkuId" align="center" prop="skuId" />
|
||||
<el-table-column label="ERP SkuId" align="center" prop="erpSkuId" />
|
||||
<el-table-column label="子订单金额" align="center" prop="itemAmount" />
|
||||
<!-- <el-table-column label="备注" align="center" prop="remark" />-->
|
||||
<el-table-column label="退款状态" align="center" prop="refundStatus" >
|
||||
<template slot-scope="scope">
|
||||
<!-- 1:无售后或售后关闭,2:售后处理中,3:退款中,4: 退款成功 -->
|
||||
<el-tag v-if="scope.row.refundStatus === 1">无售后或售后关闭</el-tag>
|
||||
<el-tag v-if="scope.row.refundStatus === 2">售后处理中</el-tag>
|
||||
<el-tag v-if="scope.row.refundStatus === 3">退款中</el-tag>
|
||||
<el-tag v-if="scope.row.refundStatus === 4">退款成功</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleEditErpSku(scope.row)"
|
||||
>补充ERP SKU</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"
|
||||
/>
|
||||
<!-- 修改Erp Sku 对话框 -->
|
||||
<el-dialog title="修改ERP SKU ID" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
||||
<el-form-item label="ERP商品skuId" prop="erpSkuId">
|
||||
<el-input type="number" v-model="form.erpSkuId" placeholder="请输入ERP商品skuId" />
|
||||
</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 {listOrderItem, updateErpSkuId} from "@/api/order/order";
|
||||
import { listShop } from "@/api/shop/shop";
|
||||
|
||||
export default {
|
||||
name: "Order",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 子表选中数据
|
||||
checkedSShopOrderItem: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 店铺订单表格数据
|
||||
orderList: [],
|
||||
// ${subTable.functionName}表格数据
|
||||
sShopOrderItemList: [],
|
||||
shopList:[],
|
||||
// 弹出层标题
|
||||
open:false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
orderNum: null,
|
||||
shopId: null,
|
||||
subOrderNum: null,
|
||||
refundStatus: null
|
||||
},
|
||||
// 表单参数
|
||||
form: {
|
||||
id:null,
|
||||
erpSkuId:null
|
||||
},
|
||||
// 表单校验
|
||||
rules: {
|
||||
erpSkuId: [{ required: true, message: "请输入ERP系统商品SkuId", trigger: "change" }],
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
listShop({}).then(response => {
|
||||
this.shopList = response.rows;
|
||||
});
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询店铺订单列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listOrderItem(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
|
||||
},
|
||||
|
||||
reset(){
|
||||
|
||||
},
|
||||
cancel(){
|
||||
this.form.id = null
|
||||
this.form.erpSkuId = null
|
||||
this.open = false
|
||||
},
|
||||
handleEditErpSku(row){
|
||||
this.form.id = row.id
|
||||
if(this.form.erpSkuId && this.form.erpSkuId > 0) {
|
||||
this.form.erpSkuId = row.erpSkuId
|
||||
}
|
||||
this.open = true
|
||||
},
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
console.log('====修改参数====',this.form)
|
||||
updateErpSkuId(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||
<el-tab-pane label="天猫" name="taoOrder">
|
||||
<order-tao></order-tao>
|
||||
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="京东" name="jdOrder" lazy>
|
||||
<order-jd></order-jd>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="抖店" name="douOrder" lazy>
|
||||
<order-dou></order-dou>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="拼多多" name="pddOrder" lazy>
|
||||
<order-pdd></order-pdd>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import OrderTao from "@/views/tao/order/index";
|
||||
import OrderJd from "@/views/jd/order/index";
|
||||
import OrderDou from "@/views/dou/order/index";
|
||||
import OrderPdd from "@/views/pdd/order/index";
|
||||
export default {
|
||||
name: "Order",
|
||||
components:{OrderTao,OrderJd,OrderDou,OrderPdd},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'taoOrder'
|
||||
};
|
||||
},
|
||||
created() {
|
||||
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
handleClick(tab, event) {
|
||||
console.log(tab, event);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
@ -0,0 +1,143 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
|
||||
<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="pullType">
|
||||
<el-select v-model="queryParams.pullType" placeholder="请选择类型" clearable @change="handleQuery">
|
||||
<el-option label="拉取订单" value="ORDER"></el-option>
|
||||
<el-option label="拉取退款" value="REFUND"></el-option>
|
||||
<el-option label="拉取商品" value="GOODS"></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">
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="lists" >
|
||||
<!-- <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="shopId" />
|
||||
<el-table-column label="平台" align="center" prop="shopType" >
|
||||
<template slot-scope="scope">
|
||||
<el-tag size="small" v-if="scope.row.shopType === 1">天猫</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.shopType === 2">京东</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="类型" align="center" prop="pullType" >
|
||||
<template slot-scope="scope">
|
||||
<el-tag size="small" v-if="scope.row.pullType === 'GOODS'">拉取商品</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.pullType === 'ORDER'">拉取订单</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.pullType === 'REFUND'">拉取退款</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="方式" align="center" prop="pullWay" />
|
||||
|
||||
<el-table-column label="参数" align="center" prop="pullParams" />
|
||||
<el-table-column label="结果" align="center" prop="pullResult" />
|
||||
<el-table-column label="耗时(ms)" align="center" prop="duration" />
|
||||
<el-table-column label="时间" align="center" prop="pullTime" />
|
||||
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {listShop, listShopPullLogs} from "@/api/shop/shop";
|
||||
|
||||
export default {
|
||||
name: "Order",
|
||||
data() {
|
||||
return {
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
lists:[],
|
||||
shopList:[],
|
||||
skuList:[],
|
||||
// 是否显示弹出层
|
||||
detailOpen:false,
|
||||
skuListLoading:false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
pullType: 'ORDER'
|
||||
},
|
||||
// 表单参数
|
||||
form: {
|
||||
erpGoodsSkuId:null,
|
||||
id:null
|
||||
},
|
||||
rules: {
|
||||
id: [
|
||||
{ required: true, message: "不能为空", trigger: "blur" }
|
||||
],
|
||||
erpGoodsSkuId: [
|
||||
{ required: true, message: "不能为空", trigger: "blur" }
|
||||
],
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
listShop({}).then(response => {
|
||||
this.shopList = response.rows;
|
||||
});
|
||||
this.getList();
|
||||
},
|
||||
mounted() {
|
||||
if(this.$route.query.shopId){
|
||||
this.queryParams.shopId = this.$route.query.shopId
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
/** 查询淘宝订单列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listShopPullLogs(this.queryParams).then(response => {
|
||||
this.lists = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
@ -25,16 +25,16 @@
|
|||
@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">-->
|
||||
<!-- </el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </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">
|
||||
</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>
|
||||
|
|
@ -116,7 +116,7 @@ import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
|||
import {listShop} from "@/api/shop/shop";
|
||||
|
||||
export default {
|
||||
name: "Goods",
|
||||
name: "GoodsPdd",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
|
|
@ -161,10 +161,10 @@ export default {
|
|||
};
|
||||
},
|
||||
created() {
|
||||
// listShop({type:3}).then(response => {
|
||||
// this.shopList = response.rows;
|
||||
// });
|
||||
// this.getList();
|
||||
listShop({type:4}).then(response => {
|
||||
this.shopList = response.rows;
|
||||
});
|
||||
this.getList();
|
||||
this.loading = false;
|
||||
},
|
||||
methods: {
|
||||
|
|
|
|||
|
|
@ -142,6 +142,9 @@
|
|||
<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>
|
||||
<br />
|
||||
<el-tag style="margin-top: 5px" size="small" v-if="scope.row.hasGoodReturn === 1"> 买家需要退货</el-tag>
|
||||
<el-tag style="margin-top: 5px" size="small" v-if="scope.row.hasGoodReturn === 0"> 买家不需要退货</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
|
|
|
|||
|
|
@ -0,0 +1,47 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||
<el-tab-pane label="天猫" name="taoOrder">
|
||||
<tao-refund></tao-refund>
|
||||
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="京东" name="jdOrder" lazy>
|
||||
<jd-refund></jd-refund>
|
||||
</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 JdRefund from "@/views/jd/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,JdRefund},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'taoOrder'
|
||||
};
|
||||
},
|
||||
created() {
|
||||
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
handleClick(tab, event) {
|
||||
console.log(tab, event);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
@ -0,0 +1,143 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
|
||||
<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="pullType">
|
||||
<el-select v-model="queryParams.pullType" placeholder="请选择类型" clearable @change="handleQuery">
|
||||
<el-option label="拉取订单" value="ORDER"></el-option>
|
||||
<el-option label="拉取退款" value="REFUND"></el-option>
|
||||
<el-option label="拉取商品" value="GOODS"></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">
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="lists" >
|
||||
<!-- <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="shopId" />
|
||||
<el-table-column label="平台" align="center" prop="shopType" >
|
||||
<template slot-scope="scope">
|
||||
<el-tag size="small" v-if="scope.row.shopType === 1">天猫</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.shopType === 2">京东</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="类型" align="center" prop="pullType" >
|
||||
<template slot-scope="scope">
|
||||
<el-tag size="small" v-if="scope.row.pullType === 'GOODS'">拉取商品</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.pullType === 'ORDER'">拉取订单</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.pullType === 'REFUND'">拉取退款</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="方式" align="center" prop="pullWay" />
|
||||
|
||||
<el-table-column label="参数" align="center" prop="pullParams" />
|
||||
<el-table-column label="结果" align="center" prop="pullResult" />
|
||||
<el-table-column label="耗时(ms)" align="center" prop="duration" />
|
||||
<el-table-column label="时间" align="center" prop="pullTime" />
|
||||
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {listShop, listShopPullLogs} from "@/api/shop/shop";
|
||||
|
||||
export default {
|
||||
name: "Order",
|
||||
data() {
|
||||
return {
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
lists:[],
|
||||
shopList:[],
|
||||
skuList:[],
|
||||
// 是否显示弹出层
|
||||
detailOpen:false,
|
||||
skuListLoading:false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
pullType: 'REFUND'
|
||||
},
|
||||
// 表单参数
|
||||
form: {
|
||||
erpGoodsSkuId:null,
|
||||
id:null
|
||||
},
|
||||
rules: {
|
||||
id: [
|
||||
{ required: true, message: "不能为空", trigger: "blur" }
|
||||
],
|
||||
erpGoodsSkuId: [
|
||||
{ required: true, message: "不能为空", trigger: "blur" }
|
||||
],
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
listShop({}).then(response => {
|
||||
this.shopList = response.rows;
|
||||
});
|
||||
this.getList();
|
||||
},
|
||||
mounted() {
|
||||
if(this.$route.query.shopId){
|
||||
this.queryParams.shopId = this.$route.query.shopId
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
/** 查询淘宝订单列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listShopPullLogs(this.queryParams).then(response => {
|
||||
this.lists = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
@ -0,0 +1,270 @@
|
|||
<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="name">
|
||||
<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">淘宝天猫</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>
|
||||
</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="shipCode">
|
||||
<el-input
|
||||
v-model="queryParams.shipCode"
|
||||
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="primary"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleShipping"
|
||||
>手动发货</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleShippingLog"
|
||||
>ERP发货推送记录</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="dataList" >
|
||||
<!-- <el-table-column type="selection" width="55" align="center" />-->
|
||||
<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="shipType;" >
|
||||
<template slot-scope="scope">
|
||||
<el-tag size="small" v-if="scope.row.shipType === 1">订单发货</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.shipType === 2">商品补发</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.shipType === 3">商品换货</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="快递公司" align="center" prop="shipCompany" />
|
||||
<el-table-column label="快递单号" align="center" prop="shipCode" />
|
||||
<el-table-column label="备注" align="center" prop="remark" />
|
||||
<el-table-column label="发货时间" align="center" prop="createTime" >
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{m}:{s}') }}</span>
|
||||
</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="手动发货" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="店铺" prop="shopId">
|
||||
<el-select v-model="form.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">淘宝天猫</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>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="订单号" prop="orderNum">
|
||||
<el-input v-model="form.orderNum" placeholder="请输入订单号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="快递公司" prop="shipCompany">
|
||||
<el-select v-model="form.shipCompany" placeholder="请选择快递公司" clearable @change="handleQuery">
|
||||
<el-option
|
||||
v-for="item in logisticsList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.code">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="快递单号" prop="shipCode">
|
||||
<el-input v-model="form.shipCode" placeholder="请输入快递单号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="快递费用" prop="shipFee">
|
||||
<el-input v-model="form.shipFee" placeholder="请输入快递费用" />
|
||||
</el-form-item>
|
||||
<el-form-item label="发货人" prop="shipOperator">
|
||||
<el-input v-model="form.shipOperator" placeholder="请输入发货人" />
|
||||
</el-form-item>
|
||||
<el-form-item label="包裹重量" prop="packageWeight">
|
||||
<el-input v-model="form.packageWeight" placeholder="请输入包裹重量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="包裹长度" prop="packageLength">
|
||||
<el-input v-model="form.packageLength" placeholder="包裹长度" />
|
||||
</el-form-item>
|
||||
<el-form-item label="包裹宽度" prop="packageWidth">
|
||||
<el-input v-model="form.width" placeholder="请输入包裹宽度" />
|
||||
</el-form-item>
|
||||
<el-form-item label="包裹高度" prop="packageHeight">
|
||||
<el-input v-model="form.height" 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 {listLogistics, listLogisticsStatus, listShop} from "@/api/shop/shop";
|
||||
import {MessageBox} from "element-ui";
|
||||
import {handShip, listShipping} from "@/api/api/shipping";
|
||||
|
||||
export default {
|
||||
name: "Shop",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 店铺表格数据
|
||||
logisticsList: [],
|
||||
shopList: [],
|
||||
dataList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
apiOpen: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
orderNum:null,
|
||||
shipCode:null,
|
||||
shopId:null
|
||||
},
|
||||
// 表单参数
|
||||
form: {
|
||||
},
|
||||
// 表单校验
|
||||
rules: {
|
||||
shopId: [{ required: true, message: "不能为空", trigger: "blur" }],
|
||||
orderNum: [{ required: true, message: "不能为空", trigger: "blur" }],
|
||||
shipCompany: [{ required: true, message: "不能为空", trigger: "blur" }],
|
||||
shipCode: [{ required: true, message: "不能为空", trigger: "blur" }],
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
listShop({}).then(response => {
|
||||
this.shopList = response.rows;
|
||||
});
|
||||
listLogisticsStatus({status:1}).then(response => {
|
||||
this.logisticsList = response.rows;
|
||||
});
|
||||
this.getList();
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
/** 查询店铺列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listShipping(this.queryParams).then(response => {
|
||||
this.dataList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {};
|
||||
this.resetForm("form");
|
||||
},
|
||||
handleShipping() {
|
||||
this.open = true
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
handShip(this.form).then(response => {
|
||||
this.$modal.msgSuccess("发货成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
@ -0,0 +1,233 @@
|
|||
<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="name">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="queryParams.name"-->
|
||||
<!-- placeholder="请输入店铺名"-->
|
||||
<!-- clearable-->
|
||||
<!-- @keyup.enter.native="handleQuery"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="平台" prop="type">
|
||||
<el-select v-model="queryParams.id" placeholder="请选择平台" clearable>
|
||||
<el-option
|
||||
v-for="item in typeList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</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-download"
|
||||
size="mini"
|
||||
@click="handlePull"
|
||||
>API拉取快递公司数据</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="dataList" >
|
||||
<!-- <el-table-column type="selection" width="55" align="center" />-->
|
||||
<el-table-column label="id" align="center" prop="logisticsId" />
|
||||
<el-table-column label="快递公司" align="center" prop="name" />
|
||||
<el-table-column label="编码" align="center" prop="code" />
|
||||
<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 === 0 || !scope.row.status"> 未启用</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.status === 1"> 启用</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
v-if="scope.row.status === 0 || !scope.row.status"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdateStatus(scope.row)"
|
||||
>开启</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
v-if="scope.row.status === 1"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleUpdateStatus(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"
|
||||
/>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {listLogistics, updateStatus} from "@/api/shop/shop";
|
||||
import {MessageBox} from "element-ui";
|
||||
import {isRelogin} from "@/utils/request";
|
||||
import {pullLogisticsTao,pullLogisticsJd} from "@/api/tao/shop_api";
|
||||
|
||||
export default {
|
||||
name: "Shop",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 店铺表格数据
|
||||
dataList:[],
|
||||
typeList: [
|
||||
{name:"天猫", id:"1"},
|
||||
{name:"京东", id:"2"},
|
||||
{name:"抖店", id:"3"},
|
||||
{name:"拼多多", id:"4"},
|
||||
],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
apiOpen: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
id:null,
|
||||
shopId:null
|
||||
},
|
||||
// 表单参数
|
||||
form: {
|
||||
type:null
|
||||
},
|
||||
// 表单校验
|
||||
rules: {
|
||||
name: [{ required: true, message: "不能为空", trigger: "blur" }],
|
||||
code: [{ required: true, message: "不能为空", trigger: "blur" }],
|
||||
appKey: [{ required: true, message: "不能为空", trigger: "blur" }],
|
||||
appSecret: [{ required: true, message: "不能为空", trigger: "blur" }],
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
|
||||
},
|
||||
mounted() {
|
||||
if(this.$route.query.id){
|
||||
this.queryParams.id = this.$route.query.id+""
|
||||
}
|
||||
if(this.$route.query.shopId){
|
||||
this.queryParams.shopId = this.$route.query.shopId+""
|
||||
}
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询店铺列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
|
||||
listLogistics(this.queryParams).then(response => {
|
||||
this.dataList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
handlePull() {
|
||||
console.log('=====拉取快递公司=====',this.$route.query.id)
|
||||
if(this.$route.query.id === '1') {
|
||||
pullLogisticsTao({}).then(response => {
|
||||
console.log('拉取TAO接口返回=====', 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.$modal.msgSuccess(JSON.stringify(response));
|
||||
})
|
||||
} else if(this.$route.query.id === '2'){
|
||||
console.log('=====aaaaa=====')
|
||||
//jd
|
||||
pullLogisticsJd({shopId:this.$route.query.shopId}).then(response => {
|
||||
console.log('拉取JD接口返回=====', 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.$modal.msgSuccess(JSON.stringify(response));
|
||||
})
|
||||
}
|
||||
|
||||
// this.$modal.msgSuccess("请先配置API");
|
||||
},
|
||||
handleUpdateStatus(row){
|
||||
updateStatus({id:row.id,status:row.status}).then(response => {
|
||||
console.log('更新状态====',response)
|
||||
this.getList()
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
@ -323,8 +323,6 @@ export default {
|
|||
this.$router.push({path:'/shop/goods/dou_goods_list',query:{shopId:row.id}})
|
||||
}else if(row.type === 4){
|
||||
this.$router.push({path:'/shop/goods/pdd_goods_list',query:{shopId:row.id}})
|
||||
} else if(row.type === 5){
|
||||
this.$router.push({path:'/shop/goods/wei_goods_list',query:{shopId:row.id}})
|
||||
}
|
||||
},
|
||||
handleLogistics(row) {
|
||||
|
|
|
|||
|
|
@ -2,31 +2,31 @@
|
|||
<div class="app-container">
|
||||
<el-row :gutter="20">
|
||||
<!--部门数据-->
|
||||
<!-- <el-col :span="4" :xs="24">-->
|
||||
<!-- <div class="head-container">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="deptName"-->
|
||||
<!-- placeholder="请输入部门名称"-->
|
||||
<!-- clearable-->
|
||||
<!-- size="small"-->
|
||||
<!-- prefix-icon="el-icon-search"-->
|
||||
<!-- style="margin-bottom: 20px"-->
|
||||
<!-- />-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="head-container">-->
|
||||
<!-- <el-tree-->
|
||||
<!-- :data="deptOptions"-->
|
||||
<!-- :props="defaultProps"-->
|
||||
<!-- :expand-on-click-node="false"-->
|
||||
<!-- :filter-node-method="filterNode"-->
|
||||
<!-- ref="tree"-->
|
||||
<!-- node-key="id"-->
|
||||
<!-- default-expand-all-->
|
||||
<!-- highlight-current-->
|
||||
<!-- @node-click="handleNodeClick"-->
|
||||
<!-- />-->
|
||||
<!-- </div>-->
|
||||
<!-- </el-col>-->
|
||||
<el-col :span="4" :xs="24">
|
||||
<div class="head-container">
|
||||
<el-input
|
||||
v-model="deptName"
|
||||
placeholder="请输入部门名称"
|
||||
clearable
|
||||
size="small"
|
||||
prefix-icon="el-icon-search"
|
||||
style="margin-bottom: 20px"
|
||||
/>
|
||||
</div>
|
||||
<div class="head-container">
|
||||
<el-tree
|
||||
:data="deptOptions"
|
||||
:props="defaultProps"
|
||||
:expand-on-click-node="false"
|
||||
:filter-node-method="filterNode"
|
||||
ref="tree"
|
||||
node-key="id"
|
||||
default-expand-all
|
||||
highlight-current
|
||||
@node-click="handleNodeClick"
|
||||
/>
|
||||
</div>
|
||||
</el-col>
|
||||
<!--用户数据-->
|
||||
<el-col :span="20" :xs="24">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
|
|
@ -247,19 +247,19 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="岗位">
|
||||
<el-select v-model="form.postIds" multiple placeholder="请选择岗位">
|
||||
<el-option
|
||||
v-for="item in postOptions"
|
||||
:key="item.postId"
|
||||
:label="item.postName"
|
||||
:value="item.postId"
|
||||
:disabled="item.status == 1"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="12">-->
|
||||
<!-- <el-form-item label="岗位">-->
|
||||
<!-- <el-select v-model="form.postIds" multiple placeholder="请选择岗位">-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in postOptions"-->
|
||||
<!-- :key="item.postId"-->
|
||||
<!-- :label="item.postName"-->
|
||||
<!-- :value="item.postId"-->
|
||||
<!-- :disabled="item.status == 1"-->
|
||||
<!-- ></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<el-col :span="12">
|
||||
<el-form-item label="角色">
|
||||
<el-select v-model="form.roleIds" multiple placeholder="请选择角色">
|
||||
|
|
@ -413,9 +413,9 @@ export default {
|
|||
created() {
|
||||
this.getList();
|
||||
this.getDeptTree();
|
||||
this.getConfigKey("sys.user.initPassword").then(response => {
|
||||
this.initPassword = response.msg;
|
||||
});
|
||||
// this.getConfigKey("sys.user.initPassword").then(response => {
|
||||
// this.initPassword = response.msg;
|
||||
// });
|
||||
},
|
||||
methods: {
|
||||
/** 查询用户列表 */
|
||||
|
|
|
|||
|
|
@ -33,16 +33,16 @@
|
|||
@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">-->
|
||||
<!-- </el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </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">
|
||||
</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>
|
||||
|
|
@ -130,7 +130,7 @@ import {isRelogin} from "../../../utils/request";
|
|||
import {getGoodsSku, linkErpGoodsSkuId, listGoodsSku, pullGoodsList} from "@/api/tao/goods";
|
||||
|
||||
export default {
|
||||
name: "Order",
|
||||
name: "GoodsTao",
|
||||
data() {
|
||||
return {
|
||||
// 显示搜索条件
|
||||
|
|
|
|||
|
|
@ -28,14 +28,15 @@
|
|||
<!-- placeholder="请选择订单创建时间">-->
|
||||
<!-- </el-date-picker>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- <el-form-item label="订单状态" prop="statusStr">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="queryParams.statusStr"-->
|
||||
<!-- placeholder="请输入订单状态"-->
|
||||
<!-- clearable-->
|
||||
<!-- @keyup.enter.native="handleQuery"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="订单状态" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable @change="handleQuery">
|
||||
<el-option label="等待卖家发货" value="WAIT_SELLER_SEND_GOODS" ></el-option>
|
||||
<el-option label="等待买家确认收货" value="WAIT_BUYER_CONFIRM_GOODS"></el-option>
|
||||
<el-option label="交易成功" value="TRADE_FINISHED"> </el-option>
|
||||
<el-option label="交易自动关闭" value="TRADE_CLOSED"></el-option>
|
||||
<el-option label="卖家或买家主动关闭交易" value="TRADE_CLOSED_BY_TAOBAO"></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>
|
||||
|
|
@ -54,6 +55,16 @@
|
|||
@click="handlePull"
|
||||
>API拉取订单</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
:loading="pullLoading"
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handlePullDetailByTid"
|
||||
>API拉取单个订单</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
|
|
@ -95,7 +106,7 @@
|
|||
</el-row>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="总金额" align="center" prop="payment" />
|
||||
<el-table-column label="总金额" align="center" prop="payment" :formatter="amountFormatter" />
|
||||
<el-table-column label="订单创建时间" align="center" prop="orderCreateTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.created, '{y}-{m}-{d} {h}:{m}:{s}') }}</span>
|
||||
|
|
@ -103,25 +114,26 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="买家留言" align="center" prop="buyerMessage" />
|
||||
<el-table-column label="卖家备注" align="center" prop="sellerMemo" />
|
||||
<el-table-column label="订单状态" align="center" prop="status" />
|
||||
<el-table-column label="快递单号" align="center" prop="logisticsCode" />
|
||||
<el-table-column label="订单状态" align="center" prop="status" >
|
||||
<template slot-scope="scope">
|
||||
<el-tag size="small" v-if="scope.row.status === 'WAIT_BUYER_PAY'"> 等待买家付款</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.status === 'SELLER_CONSIGNED_PART'"> 卖家部分发货</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.status === 'WAIT_SELLER_SEND_GOODS'"> 等待卖家发货</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.status === 'WAIT_BUYER_CONFIRM_GOODS'"> 等待买家确认收货</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.status === 'TRADE_FINISHED'"> 交易成功</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.status === 'TRADE_CLOSED'"> 交易自动关闭</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.status === 'TRADE_CLOSED_BY_TAOBAO'"> 卖家或买家主动关闭交易</el-tag>
|
||||
<el-tag size="small" v-if="scope.row.status === 'PAID_FORBID_CONSIGN'"> 禁止发货</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
:loading="pullLoading"
|
||||
size="mini"
|
||||
type="success"
|
||||
icon="el-icon-success"
|
||||
icon="el-icon-refresh"
|
||||
@click="handlePullUpdate(scope.row)"
|
||||
>更新订单</el-button>
|
||||
<div>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-view"
|
||||
@click="handleDetail(scope.row)"
|
||||
v-hasPermi="['tao:order:remove']"
|
||||
>详情</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
@ -134,150 +146,12 @@
|
|||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 订单详情对话框 -->
|
||||
<el-dialog :title="detailTitle" :visible.sync="detailOpen" width="1100px" append-to-body>
|
||||
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px" inline>
|
||||
<el-descriptions title="订单信息">
|
||||
<el-descriptions-item label="订单号">{{form.id}}</el-descriptions-item>
|
||||
<el-descriptions-item label="来源">
|
||||
<el-tag size="small" v-if="form.orderSource ===1 ">淘宝</el-tag>
|
||||
<el-tag size="small" v-if="form.orderSource ===0 ">天猫</el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="店铺">
|
||||
<span v-if="form.shopId==6">梦小妮牛仔裤</span>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="下单日期">
|
||||
{{ parseTime(form.orderCreateTime, '{yyyy}-{m}-{dd}')}}
|
||||
<!-- <el-date-picker
|
||||
disabled
|
||||
v-model="form.orderCreateTime"
|
||||
type="datetime"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
placeholder="请选择订单创建时间">
|
||||
</el-date-picker> -->
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="标签">
|
||||
<el-tag size="small" v-if="form.tag ==='1' ">实售</el-tag>
|
||||
<el-tag size="small" v-if="form.tag ==='2' ">淘宝客</el-tag>
|
||||
<el-tag size="small" v-if="form.tag ==='3' ">刷单</el-tag>
|
||||
<el-tag size="small" v-if="form.tag ==='4' ">返现</el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="卖家备忘信息">
|
||||
{{form.sellerMemo}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="买家留言">
|
||||
{{form.buyerFeedback}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="备注">
|
||||
{{form.remark}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="关闭原因">{{form.closeReason}}</el-descriptions-item>
|
||||
<el-descriptions-item label="订单状态">{{form.statusStr}}</el-descriptions-item>
|
||||
|
||||
</el-descriptions>
|
||||
<el-descriptions title="付款信息">
|
||||
<el-descriptions-item label="应付总额">{{form.totalAmount}}</el-descriptions-item>
|
||||
<el-descriptions-item label="优惠金额">{{form.discountAmount}}</el-descriptions-item>
|
||||
<el-descriptions-item label="运费">{{form.shippingFee}}</el-descriptions-item>
|
||||
<el-descriptions-item label="实际支付金额">{{form.payAmount}}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
|
||||
<el-descriptions title="收货信息">
|
||||
<el-descriptions-item label="收件人姓名">{{form.receiver}}</el-descriptions-item>
|
||||
<el-descriptions-item label="收件人手机号">{{form.phone}}</el-descriptions-item>
|
||||
<el-descriptions-item label="省市区">{{form.province}}{{form.city}}{{form.town}}</el-descriptions-item>
|
||||
<el-descriptions-item label="详细地址">{{form.address}}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
<el-divider content-position="center">订单商品</el-divider>
|
||||
<el-table :data="goodsList" 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="productImgUrl" width="80">
|
||||
<template slot-scope="scope">
|
||||
<el-image style="width: 70px; height: 70px" :src="scope.row.productImgUrl"></el-image>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="商品标题" prop="goodsTitle" ></el-table-column>
|
||||
<el-table-column label="SKU" prop="skuInfo" width="150"></el-table-column>
|
||||
<el-table-column label="sku编码" prop="specNumber"></el-table-column>
|
||||
<el-table-column label="单价" prop="price"></el-table-column>
|
||||
<el-table-column label="数量" prop="quantity"></el-table-column>
|
||||
<el-table-column label="商品金额" prop="itemAmount"></el-table-column>
|
||||
</el-table>
|
||||
|
||||
<el-row :gutter="10" class="mb8" v-if="isAudit">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAddTaoOrderItem">添加赠品</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="danger" plain icon="el-icon-delete" size="mini" @click="handleDeleteTaoOrderItem">删除</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table v-if="isAudit" :data="taoOrderItemList" :row-class-name="rowTaoOrderItemIndex" @selection-change="handleTaoOrderItemSelectionChange" ref="taoOrderItem" style="margin-bottom: 10px;">
|
||||
<el-table-column type="selection" width="50" align="center" />
|
||||
<el-table-column label="序号" align="center" prop="index" width="50"/>
|
||||
<el-table-column label="商品" prop="erpGoodsId" width="350" >
|
||||
<template slot-scope="scope">
|
||||
<el-select v-model="scope.row.erpGoodsSpecId" filterable remote reserve-keyword placeholder="搜索商品" style="width: 330px;"
|
||||
:remote-method="searchSku" :loading="skuListLoading" @change="skuChanage(scope.row)">
|
||||
<el-option v-for="item in skuList" :key="item.id"
|
||||
:label="item.name + ' - ' + item.colorValue + ' ' + item.sizeValue + ' ' + item.styleValue"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="商品图片" prop="productImgUrl" >
|
||||
<template slot-scope="scope">
|
||||
<el-image style="width: 70px; height: 70px" :src="scope.row.productImgUrl"></el-image>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="sku编码" prop="specNumber" width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.specNumber" placeholder="请输入单品货号,对应系统sku编码" disabled/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="单价" prop="price">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.price" placeholder="请输入单价" disabled/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="数量" prop="quantity">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.quantity" placeholder="请输入数量" @input="qtyChange(scope.row)" :disabled="isAudit" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="总金额" prop="itemAmount">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.itemAmount" placeholder="请输入明细总金额" disabled/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
</el-table>
|
||||
<el-form-item label="发货方式" prop="shipType" v-if="isAudit">
|
||||
<!-- <el-input v-model="form.orderSource" placeholder="请输入订单来源0天猫1淘宝" /> -->
|
||||
<el-select v-model="form.shipType" placeholder="发货类型0仓库发货1供应商代发" style="width:250px">
|
||||
<el-option label="供应商代发" value="1"></el-option>
|
||||
<el-option label="仓库发货" value="0"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer" v-if="isAudit">
|
||||
<el-button type="primary" @click="submitConfirmForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listOrder, pullOrder,getOrder,pushOms } from "@/api/tao/order";
|
||||
import {listOrder, pullOrder, getOrder, pushOms, pullOrderDetail} from "@/api/tao/order";
|
||||
import { listShop } from "@/api/shop/shop";
|
||||
import { searchSku } from "@/api/goods/goods";
|
||||
import {MessageBox} from "element-ui";
|
||||
|
|
@ -296,6 +170,7 @@ export default {
|
|||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
detailOpen: false,
|
||||
multiple: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
|
|
@ -324,6 +199,9 @@ export default {
|
|||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
amountFormatter(row, column, cellValue, index) {
|
||||
return '¥' + cellValue.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
|
||||
},
|
||||
/** 查询淘宝订单列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
|
|
@ -364,6 +242,18 @@ export default {
|
|||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
handlePullDetailByTid(){
|
||||
if(this.queryParams.shopId && this.queryParams.tid) {
|
||||
this.pullLoading = true
|
||||
pullOrderDetail({shopId:this.queryParams.shopId,orderId:this.queryParams.tid}).then(response => {
|
||||
console.log('拉取淘宝订单接口返回=====',response)
|
||||
this.$modal.msgSuccess(JSON.stringify(response));
|
||||
this.pullLoading = false
|
||||
})
|
||||
}else{
|
||||
this.$modal.msgSuccess("请先输入订单号并且选择店铺");
|
||||
}
|
||||
},
|
||||
handlePull() {
|
||||
if(this.queryParams.shopId){
|
||||
this.pullLoading = true
|
||||
|
|
@ -382,9 +272,8 @@ export default {
|
|||
// return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
|
||||
}else{
|
||||
this.$modal.msgSuccess(JSON.stringify(response));
|
||||
this.pullLoading = false
|
||||
}
|
||||
|
||||
this.pullLoading = false
|
||||
})
|
||||
}else{
|
||||
this.$modal.msgSuccess("请先选择店铺");
|
||||
|
|
@ -394,6 +283,12 @@ export default {
|
|||
},
|
||||
handlePullUpdate(row) {
|
||||
// 接口拉取订单并更新
|
||||
this.pullLoading = true
|
||||
pullOrderDetail({shopId:row.shopId,orderId:row.tid}).then(response => {
|
||||
console.log('拉取淘宝订单接口返回=====',response)
|
||||
this.$modal.msgSuccess(JSON.stringify(response));
|
||||
this.pullLoading = false
|
||||
})
|
||||
},
|
||||
handleDetail(row) {
|
||||
this.reset();
|
||||
|
|
|
|||
|
|
@ -114,17 +114,7 @@
|
|||
<el-tag style="margin-top: 5px" size="small" v-if="scope.row.hasGoodReturn === 0"> 买家不需要退货</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="处理时间" align="center" prop="auditTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.auditTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="收货时间" align="center" prop="receivedTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.receivedTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<!-- <el-table-column label="${comment}" align="center" prop="address" /> -->
|
||||
|
||||
<!-- <el-table-column label="备注" align="center" prop="remark" />-->
|
||||
<!-- <el-table-column label="创建时间" align="center" prop="createOn" /> -->
|
||||
<el-table-column label="店铺" align="center" prop="shopId" >
|
||||
|
|
@ -140,18 +130,16 @@
|
|||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleConfirm(scope.row)"
|
||||
v-hasPermi="['tao:taoRefund:edit']"
|
||||
icon="el-icon-refresh"
|
||||
@click="handleUpdateRefund(scope.row)"
|
||||
>更新状态</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['tao:taoRefund:remove']"
|
||||
>详情</el-button>
|
||||
<!-- <el-button-->
|
||||
<!-- size="mini"-->
|
||||
<!-- type="text"-->
|
||||
<!-- icon="el-icon-delete"-->
|
||||
<!-- @click="handleDelete(scope.row)"-->
|
||||
<!-- v-hasPermi="['tao:taoRefund:remove']"-->
|
||||
<!-- >详情</el-button>-->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
@ -218,7 +206,7 @@ import {
|
|||
getTaoRefund,
|
||||
pushOms,
|
||||
updateTaoRefund,
|
||||
pullRefund
|
||||
pullRefund, pullRefundDetail
|
||||
} from "@/api/tao/taoRefund";
|
||||
import { listShop } from "@/api/shop/shop";
|
||||
import {pullOrder} from "@/api/tao/order";
|
||||
|
|
@ -348,15 +336,23 @@ export default {
|
|||
// return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
|
||||
}else{
|
||||
this.$modal.msgSuccess(JSON.stringify(response));
|
||||
this.pullLoading = false
|
||||
}
|
||||
|
||||
}
|
||||
this.pullLoading = false
|
||||
})
|
||||
}else{
|
||||
this.$modal.msgSuccess("请先选择店铺");
|
||||
}
|
||||
|
||||
// this.$modal.msgSuccess("请先配置API");
|
||||
},
|
||||
handleUpdateRefund(row){
|
||||
console.log("更新退款")
|
||||
this.pullLoading = true
|
||||
pullRefundDetail({shopId:row.shopId,refundId:row.refundId}).then(response => {
|
||||
this.pullLoading = false
|
||||
this.$modal.msgSuccess(JSON.stringify(response));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue