提交 ffab217b authored 作者: luojie's avatar luojie

订单修改完成度90%

上级 7d127a91
......@@ -221,4 +221,14 @@ public class TbCfOrderController {
orderBasicVo.setDeliveryOrderList(tbCfOrderListService.queryOrderDeliveryList(orderId));
return R.ok().put("orderBasicVo", orderBasicVo);
}
/**
* 关闭订单
*/
@RequestMapping("/closeOrder")
@RequiresPermissions("tbcforder:closeOrder")
@ResponseBody
public R closeOrder(@RequestBody String orderId){
tbCfOrderListService.closeOrder(orderId);
return R.ok();
}
}
......@@ -34,4 +34,6 @@ public interface TbCfOrderListDao extends BaseDao<TbCfOrderListEntity> {
OrderBasicVo queryorderBasic(String orderId);
int queryTotal(Map<String, Object> map);
int closeOrder(String orderId);
}
......@@ -38,4 +38,6 @@ public interface TbCfOrderListService {
OrderBasicVo queryorderBasic(String orderId);
int queryTotal(Map<String, Object> map);
int closeOrder(String orderId);
}
......@@ -52,4 +52,9 @@ public class TbCfOrderListServiceImpl implements TbCfOrderListService {
public int queryTotal(Map<String, Object> map) {
return tbCfOrderListDao.queryTotal(map);
}
@Override
public int closeOrder(String orderId) {
return tbCfOrderListDao.closeOrder(orderId);
}
}
......@@ -19,6 +19,33 @@ public class DeliveryOrderVo implements Serializable {
private String sourceItemId;
private Integer deliveryFlag;
private String pExpressNumber;
private String deliveryName;
private String deliveryPhone;
private String deliveryAddress;
public String getDeliveryName() {
return deliveryName;
}
public void setDeliveryName(String deliveryName) {
this.deliveryName = deliveryName;
}
public String getDeliveryPhone() {
return deliveryPhone;
}
public void setDeliveryPhone(String deliveryPhone) {
this.deliveryPhone = deliveryPhone;
}
public String getDeliveryAddress() {
return deliveryAddress;
}
public void setDeliveryAddress(String deliveryAddress) {
this.deliveryAddress = deliveryAddress;
}
public String getOrdersId() {
return ordersId;
......
......@@ -112,7 +112,8 @@
<!--查询代购订单列表-->
<select id="queryOrderDeliveryList" resultType="com.platform.vo.DeliveryOrderVo">
select
select
r.order_item_id ordersId,
r.order_id,
i.item_id,
......@@ -124,7 +125,10 @@
i.item_sku,
i.source_item_id,
r.delivery_flag,
p.p_express_number
p.p_express_number,
o.delivery_name,
o.delivery_phone,
o.delivery_address
from tb_cf_item_order_r r
LEFT JOIN tb_cf_order o on o.order_id=r.order_id
LEFT JOIN tb_cf_item_detail i on i.item_id = r.item_id
......@@ -189,4 +193,9 @@
left join sys_user s on s.user_id=p.user_id
WHERE 1=1 and f.pay_way_code!='null'
</select>
<update id="closeOrder">
update tb_cf_order set order_status=60 where order_id=#{orderId}
</update>
</mapper>
\ No newline at end of file
......@@ -2,6 +2,7 @@
<html>
<!--element-ui-->
<link rel="stylesheet" href="${rc.contextPath}/statics/css/index.css">
<link rel="stylesheet" type="text/css" href="${rc.contextPath}/statics/css/table.css"/>
<!--<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">-->
<head>
<title></title>
......@@ -50,18 +51,27 @@
}
.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
border-top: 2px solid #e7eaec;
line-height: 0.85000;
padding: 13px;
line-height: 0.7700;
padding: 11px;
vertical-align: middle;
}
.table-responsive {
min-height: .01%;
overflow-x: hidden;
}
.table-bordered > thead > tr > th, .table-bordered > thead > tr > td {
background-color: moccasin;
border-bottom-width: 1px;
}
.ui-jqgrid .ui-jqgrid-htable .ui-th-div {
height: 17px;
margin-top: 5px;
display: contents;
}
</style>
</head>
<body>
<div id="rrapp" v-cloak style="width:1680px;
<div id="rrapp" v-cloak style="width:1700px;
height: -webkit-calc(100% - 15px);
height: -moz-calc(100% - 15px);
height: calc(100% - 15px);">
......@@ -133,8 +143,7 @@
</div>
<!--订单详情页 -->
<div v-show="showOrderDesc":model="orderBasicVo" style="height: 100%;">
<i-Button type="primary" @click="reloadOrder" style="margin-bottom: 10px;">返回</i-Button>
<br/>
<Steps :current="basicOrderStatus" >
<Step title="买家下单" ></Step>
<Step title="买家付款"></Step>
......@@ -143,21 +152,80 @@
<Step title="评论"></Step>
</Steps>
<section class="order-time">
<h5>下单时间</h5>
<p :data="basicData"> {{basicData}}</p>
<br/>
<h5 style="margin-left: 20px">下单时间:</h5>
<div style="margin-left: 80px;font-size: 18px">
<p :data="basicData"> {{basicData}}</p>
</div>
<div align="right" style="border: whitesmoke">
<i-Button type="primary" @click="reloadOrder" style="margin-bottom: 10px;">返回</i-Button>
</div>
<Col span="11">
<Card>
<!-- 等待付款-->
<Card v-show="waitPay">
<div slot="title">
<div class="card-title" >
<span>当前订单状态:买家已下单,等待付款</span>
<div >
<i-Button size="small" type="warning">关闭交易</i-Button>
<i-Button size="small" type="info">备注订单</i-Button>
</div>
</div>
</div>
<p>买家可以在24h之内支付订单,否则系统将自动关闭订单。如果商品被恶意拍下,您可以后台取消订单哟~ </p>
</Card>
<!--已付款等待发货 -->
<Card v-show="waitShip">
<div slot="title">
<div class="card-title">
<span>当前订单状态:商品已拍下,等待买家付款</span>
<div>
<div class="card-title" >
<span>当前订单状态:订单已付款,等待发货</span>
<div >
<i-Button size="small" type="primary" @click="showAgent(orderBasicVo.ordersId)">订单发货</i-Button>
<i-Button size="small" type="warning">关闭交易</i-Button>
<i-Button size="small" type="info">备注订单</i-Button>
</div>
</div>
</div>
<p>买家还有23小时59分00秒支付订单,否则系统将自动关闭订单。如果商品被恶意拍下,您可以后台取消订单哟~ </p>
<td><p>订单已付款,请尽快处理~</p></td>
<td><p>只有当订单中的子订单全部发货才会跳到下一步哦~</p></td>
</Card>
<!--订单已发货 -->
<Card v-show="sendShip">
<div slot="title">
<div class="card-title" >
<span>当前订单状态:订单已全部发货</span>
<div >
<i-Button size="small" type="warning">关闭交易</i-Button>
<i-Button size="small" type="info">备注订单</i-Button>
</div>
</div>
</div>
<p>订单已全部发货,工作人员记得跟踪一下哦~</p>
</Card>
<Card v-show="tranSuccessful">
<div slot="title">
<div class="card-title" >
<span>当前订单状态:订单交易成功!</span>
<div >
<i-Button size="small" type="warning">关闭交易</i-Button>
<i-Button size="small" type="info">备注订单</i-Button>
</div>
</div>
</div>
<p>订单已交易成功~</p>
</Card>
<Card v-show="orderClose">
<div slot="title">
<div class="card-title" >
<span>当前订单状态:订单交易关闭</span>
<div >
<i-Button size="small" type="warning">删除订单</i-Button>
<i-Button size="small" type="info">备注订单</i-Button>
</div>
</div>
</div>
<p>订单已关闭,仅可查看详情或删除订单~</p>
</Card>
</Col>
</section>
......@@ -184,9 +252,25 @@
</div>
<!--子订单列表(代购) -->
<div v-show="showLists" style="height: 100%;">
<table id="showLists" width="1680px" height="20px" border="2px">
<p style="margin-left: 10px;font-size: 15px">收件人信息:</p>
<table class="table" id ="tableId" style="align:center" >
<thread>
<tr style="background-color: mistyrose">
<th>收件人</th>
<th>收件人手机</th>
<th>收件人地址</th>
</tr>
</thread>
<tr align="center">
<td>{{deliveryName}}</td>
<td>{{deliveryPhone}}</td>
<td>{{deliveryAddress}}</td>
</tr>
</table>
<p style="margin-left: 10px;font-size: 15px">子订单信息:</p>
<table class="table" id="showLists" width="1680px" >
<thread>
<tr >
<tr style="background-color: mistyrose">
<th>订单唯一ID</th>
<th>订单编号</th>
<th>商品名称</th>
......@@ -211,7 +295,7 @@
<td>$ {{item.itemPrice}}</td>
<td>{{item.itemNum}}</td>
<td>
<span style="color:green;cursor: pointer;" @click="toProductLink(item.sourceItemId)">商品链接</span>
<span style="color:blue;cursor: pointer;" @click="toProductLink(item.sourceItemId)">商品链接</span>
</td>
<td>{{item.deliveryFlag}}</td>
<td>{{item.pExpressNumber}}</td>
......
......@@ -139,11 +139,7 @@ function eyeImages(data) {
* @param name
*/
function handleResetForm(vue, name) {
if( vue.$refs[name].resetFields()=='undefined'){
console.log(error)
}else{
vue.$refs[name].resetFields();
}
};
......
......@@ -20,26 +20,41 @@ $(function () {
{label: '手续费', name: 'fee', index: 'fee', hidden: true},
{label: '优惠券ID', name: 'couponId', index: 'coupon_id', hidden: true},
{label: '优惠券名称', name: 'couponTitle', index: 'coupon_title', hidden: true},
{name: '操作', index: 'operate',
{name: '操作', index: 'operate', width:'160px',
formatter: function (value, grid, rows) {
if(grid.colModel.formatter.arguments[2].orderStatus==10){
return '<button style="color: black;background-color: lightskyblue" class="orderdescbutton">&nbsp;查看订单</button>&nbsp;&nbsp;|&nbsp;&nbsp;<button style="color: red" οnclick="showAgent">关闭订单</button>';
return '<button style="display: inline-block;height: 30px; line-height: 25px; padding: 1px 18px; background-color: #49C8F2;font-size: 10px; ' +
'-webkit-border-radius: 2px; border-radius: 6px; color: #fff; cursor: pointer; border: 0;margin: 1px 6px;" class="orderdescbutton">查看订单' +
'</button><button style="display: inline-block;height: 30px; line-height: 25px; padding: 1px 18px; background-color: #999c9e;font-size: 10px; ' +
'-webkit-border-radius: 2px; border-radius: 6px; color: #fff; cursor: pointer; border: 0;margin: 1px 6px;" class="closeOrder">订单关闭</button>';
}else if(grid.colModel.formatter.arguments[2].orderStatus==20){
return '<button style="color: black;background-color: lightskyblue" class="orderdescbutton">&nbsp;查看订单</button>&nbsp;&nbsp;|&nbsp;&nbsp;<button class="diybutton" style="color: blue ">订单发货</button>';
return '<button style="display: inline-block;height: 30px; line-height: 25px; padding: 1px 18px; background-color: #49C8F2;font-size: 10px; ' +
'-webkit-border-radius: 2px; border-radius: 6px; color: #fff; cursor: pointer; border: 0;margin: 1px 6px;" class="orderdescbutton">查看订单' +
'</button><button style="display: inline-block;height: 30px; line-height: 25px; padding: 1px 18px; background-color: magenta;font-size: 10px; ' +
'-webkit-border-radius: 2px; border-radius: 6px; color: #fff; cursor: pointer; border: 0;margin: 1px 6px;" class="diybutton">订单发货</button>';
}else if(grid.colModel.formatter.arguments[2].orderStatus==40){
return '<button style="color: black;background-color: lightskyblue" class="orderdescbutton">&nbsp;查看订单</button>&nbsp;&nbsp;|&nbsp;&nbsp;<button @click="showAgent" style="color: forestgreen" οnclick="modify(\''+ grid.colModel.formatter.arguments[2].ordersId+ '\');">订单追踪</button>';
return '<button style="display: inline-block;height: 30px; line-height: 25px; padding: 1px 18px; background-color: #49C8F2;font-size: 10px; ' +
'-webkit-border-radius: 2px; border-radius: 6px; color: #fff; cursor: pointer; border: 0;margin: 1px 6px;" class="orderdescbutton">查看订单' +
'</button><button @click="showAgent" style="display: inline-block;height: 30px; line-height: 25px; padding: 1px 18px; background-color: lightgreen;font-size: 10px; ' +
'-webkit-border-radius: 2px; border-radius: 6px; color: #fff; cursor: pointer; border: 0;margin: 1px 6px;" class="orderdescbutton">查看订单</button>';
}else if(grid.colModel.formatter.arguments[2].orderStatus==50){
return '<button style="color: black;background-color: lightskyblue" class="orderdescbutton">&nbsp;查看订单</button>&nbsp;&nbsp;|&nbsp;&nbsp;<button @click="showAgent" style="color:forestgreen οnclick="modify(\''+ rows.id+ '\');">订单追踪</button>';
return '<button style="display: inline-block;height: 30px; line-height: 25px; padding: 1px 18px; background-color: #49C8F2;font-size: 10px; ' +
'-webkit-border-radius: 2px; border-radius: 6px; color: #fff; cursor: pointer; border: 0;margin: 1px 6px;" class="orderdescbutton">查看订单' +
'</button><button @click="showAgent" style="display: inline-block;height: 30px; line-height: 25px; padding: 1px 18px; background-color: gold;font-size: 10px; ' +
'-webkit-border-radius: 2px; border-radius: 6px; color: #fff; cursor: pointer; border: 0;margin: 1px 6px;" >交易成功</button>';
}else if(grid.colModel.formatter.arguments[2].orderStatus==60){
return '<button style="color: black;background-color: lightskyblue" class="orderdescbutton">&nbsp;查看订单</button>&nbsp;&nbsp;|&nbsp;&nbsp;<button class="delbutton" style="color: red" >删除订单</button>';
return '<button style="display: inline-block;height: 30px; line-height: 25px; padding: 1px 18px; background-color: #49C8F2;font-size: 10px; ' +
'-webkit-border-radius: 2px; border-radius: 6px; color: #fff; cursor: pointer; border: 0;margin: 1px 6px;" class="orderdescbutton">查看订单' +
'</button><button class="delbutton" style="display: inline-block;height: 30px; line-height: 25px; padding: 1px 18px; background-color: #ea394c;font-size: 10px; ' +
'-webkit-border-radius: 2px; border-radius: 6px; color: #fff; cursor: pointer; border: 0;margin: 1px 6px;">删除订单</button>';
}
}
}
],
shrinkToFit: true,
datatype : "json",
rowNum:15,
rowList:[15,30,45],
rowNum:12,
rowList:[12,24,36],
rownumbers: true,
rownumWidth: 40,
gridview: true,
......@@ -47,6 +62,7 @@ $(function () {
sortname: 'order_time',
viewrecords: true,
sortorder: "desc",
align:"center"
});
//查询所有支付方式
$.get('../tbcffinance/queryPayWayCodeAll',function (res) {
......@@ -84,6 +100,11 @@ $(function () {
})
return false
})
//'closeOrder' 关闭订单(修改订单状态)
$('#jqGrid').on('click','.closeOrder',e=>{
vm.closeOrder($(e.target).parent().parent().attr('id'))
return false
})
})())
});
let vm = new Vue({
......@@ -97,6 +118,16 @@ let vm = new Vue({
showOrderDesc: false,
//代购信息
agentVisible: false,
//待付款
waitPay:false,
//待发货
waitShip:false,
//已发货
sendShip:false,
//交易成功
tranSuccessful:false,
//订单关闭
orderClose: false,
title: null,
//子订单列表(代购)
......@@ -184,6 +215,11 @@ let vm = new Vue({
orderStatus:'',
//代购状态
deliveryFlag:'',
deliveryName:[],
deliveryPhone:[],
deliveryAddress:[],
currentStatus:[],
//日期选择
pickerOptions: {
shortcuts: [{
......@@ -277,10 +313,6 @@ let vm = new Vue({
title: '手机号码',
key: 'phone'
},
{
title: '邮箱',
key: 'email'
},
{
title: '收货地址',
key: 'address'
......@@ -290,7 +322,6 @@ let vm = new Vue({
{
recipients: '12345',
phone: '12314',
email: '123124',
address: '124124'
}
],
......@@ -351,7 +382,7 @@ let vm = new Vue({
key: 'costtype'
},
{
title: '数值',
title: '数值:$',
key: 'constnum'
}
],
......@@ -444,6 +475,9 @@ let vm = new Vue({
successCallback: function (r) {
console.log(r.page.list)
vm.tbCfOrderLists = r.page.list;
vm.deliveryName=r.page.list[0].deliveryName;
vm.deliveryPhone=r.page.list[0].deliveryPhone;
vm.deliveryAddress=r.page.list[0].deliveryAddress;
vm.tbCfOrderLists.map(item=>{
if(item.deliveryFlag===0){
vm.$set(item,'deliveryFlag','未发货(未代购)')
......@@ -556,6 +590,25 @@ let vm = new Vue({
params: JSON.stringify(orderId),
type: "POST",
contentType: "application/json",
successCallback: function (r) {
alert('操作成功', function (index) {
vm.reload();
});
}
});
});
},
closeOrder: function(e){
let orderId = e;
if (orderId == null) {
return;
}
confirm('确定要关闭选中的订单?', function () {
Ajax.request({
url: "../tbcforder/closeOrder",
params: JSON.stringify(orderId),
type: "POST",
contentType: "application/json",
successCallback: function () {
alert('操作成功', function (index) {
vm.reload();
......@@ -577,17 +630,47 @@ let vm = new Vue({
successCallback: function (r) {
console.log(r.orderBasicVo)
vm.basicData=r.orderBasicVo.orderTime;
vm.deliveryPeople=r.orderBasicVo.deliveryName;
vm.deliveryPhone=r.orderBasicVo.deliveryPhone;
vm.deliveryAddress=r.orderBasicVo.deliveryAddress;
vm.basicOrderStatus=[];
if(r.orderBasicVo.orderStatus==10){
vm.basicOrderStatus=0;
vm.waitPay=true;
vm.waitShip=false;
vm.sendShip=false;
vm.tranSuccessful=false;
vm.orderClose=false;
} else if(r.orderBasicVo.orderStatus==20){
vm.basicOrderStatus=1;
vm.waitPay=false;
vm.waitShip=true;
vm.sendShip=false;
vm.tranSuccessful=false;
vm.orderClose=false;
}else if(r.orderBasicVo.orderStatus==40){
vm.basicOrderStatus=2;
vm.waitPay=false;
vm.waitShip=false;
vm.sendShip=true;
vm.tranSuccessful=false;
vm.orderClose=false;
}else if(r.orderBasicVo.orderStatus==50){
vm.basicOrderStatus=3;
vm.waitPay=false;
vm.waitShip=false;
vm.sendShip=false;
vm.tranSuccessful=true;
vm.orderClose=false;
}else if(r.orderBasicVo.orderStatus==60){
vm.basicOrderStatus=4;
vm.basicOrderStatus=0;
vm.waitPay=false;
vm.waitShip=false;
vm.sendShip=false;
vm.tranSuccessful=false;
vm.orderClose=true;
}
vm.basicInfoData[0].data=r.orderBasicVo.orderNo;
vm.basicInfoData[1].data=r.orderBasicVo.userName;
vm.basicInfoData[2].data=r.orderBasicVo.atcTime;
......@@ -634,6 +717,8 @@ let vm = new Vue({
vm.showOrderDesc=false;
vm.agentVisible=false;
vm.showLists=false;
vm.waitPay=false;
vm.waitShip=false;
let start = vm.value[0] || null;
let end = vm.value[1] || null;
let payWayCode = vm.payWayCode;
......
/*表格样式。*/
.table {
width:100%;
padding: 0px;
margin: 0px;
font-family:Arial, Tahoma, Verdana, Sans-Serif,宋体;
border-left:1px solid #ADD8E6;
border-collapse:collapse;
}
/*表头样式。*/
.table th {
font-size:15px;
font-weight:600;
color: #303030;
border-right: 1px solid #ADD8E6;
border-bottom: 1px solid #ADD8E6;
border-top: 1px solid #ADD8E6;
letter-spacing: 2px;
text-align: left;
padding: 10px 0px 10px 0px;
white-space:nowrap;
text-align:center;
overflow: hidden;
}
/*单元格样式。*/
.table td {
border-right: 1px solid #ADD8E6;
border-bottom: 1px solid #ADD8E6;
background: #fff;
font-size:15px;
padding: 3px 3px 3px 6px;
color: #303030;
word-break:break-all;
word-wrap:break-word;
white-space:normal;
}
/*蓝色单元格样式,主要用于隔行变色。*/
.table td.color{
background:#edf7f9;
}
/*表格中超级链接样式。*/
.table td a:link{
font-weight:400 ;
color:#2259D7 ;
text-decoration:none ;
word-break:break-all;
word-wrap:break-word;
white-space:normal;
}
.table td a:visited {
font-weight:400 ;
color:#2259D7 ;
text-decoration:none ;
word-break:break-all;
word-wrap:break-word;
white-space:normal;
}
.table td a:hover {
font-weight:400 ;
text-decoration:underline ;
color: #303030;
word-break:break-all;
word-wrap:break-word;
white-space:normal;
}
.table td a:active {
font-weight:400 ;
text-decoration:none ;
color:#2259D7 ;
word-break:break-all;
word-wrap:break-word;
white-space:normal;
}
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论