Browse Source

评价:完成买家追评价功能

wangdy 8 years ago
parent
commit
7596f7ead9

+ 1 - 1
src/main/java/com/uas/platform/b2c/trade/order/status/OrderStatus.java

@@ -39,7 +39,7 @@ public enum OrderStatus {
 	/**
 	 * {@code unavailable 待评价}
 	 */
-	TOBECOMMENT("tobecomment", "522-523");
+	TOBECOMMENT("tobecomment", "520-523");
 
 	/**
 	 * 状态名称

+ 1 - 1
src/main/java/com/uas/platform/b2c/trade/rate/controller/RateController.java

@@ -107,7 +107,7 @@ public class RateController {
             throw new IllegalOperatorException("当前订单未完成初评,不能追评!");
         }
         order.setStatusReviewed(SystemSession.getUser().getUserUU());
-
+        orderDao.save(order);
         return new ResultMap(CodeType.OK.code(), "追评成功");
 
     }

+ 1 - 0
src/main/java/com/uas/platform/b2c/trade/rate/service/impl/RateServiceImpl.java

@@ -71,6 +71,7 @@ public class RateServiceImpl implements RateService{
             throw new IllegalOperatorException("当前订单不在已完成状态,不能收货!");
         }
         order.setStatusToBeAfterReviewed(SystemSession.getUser().getUserUU());
+        orderDao.save(order);
     }
 
     @Override

+ 1 - 1
src/main/webapp/resources/js/common/query/rate.js

@@ -37,7 +37,7 @@ define([ 'ngResource' ], function() {
                 url : 'rate/rateGoods/:orderId',
                 method : 'POST'
             },
-            // 买家评价商品
+            // 买家评价商品(合)
             saveBuyerRate : {
                 url : 'rate/buyerRate/:orderId',
                 method : 'POST'

+ 2 - 2
src/main/webapp/resources/js/usercenter/app.js

@@ -385,13 +385,13 @@ define([ 'angularAMD', 'ui.router', 'ui-bootstrap', 'ngLocal', 'ngTable', 'commo
 			controllerUrl : 'app/controllers/forstore/first_rate_ctrl'
 		})).state('addRate', angularAMD.route({
 			// 追加评价
-			url : '/rate/addRate:orderid',
+			url : '/rate/addRate/:orderid',
 			templateUrl : 'static/view/usercenter/forstore/add_rate.html',
 			controller : 'addRateCtrl',
 			controllerUrl : 'app/controllers/forstore/add_rate_ctrl'
 		})).state('showRate', angularAMD.route({
 			// 查看评价
-			url : '/rate/showRate:orderid',
+			url : '/rate/showRate/:orderid',
 			templateUrl : 'static/view/usercenter/forstore/show_rate.html',
 			controller : 'showRateCtrl',
 			controllerUrl : 'app/controllers/forstore/show_rate_ctrl'

+ 84 - 2
src/main/webapp/resources/js/usercenter/controllers/forstore/add_rate_ctrl.js

@@ -1,6 +1,88 @@
 define(['app/app'], function(app) {
-    app.register.controller('addRateCtrl', ['$scope', '$rootScope', '$stateParams', function ($scope, $rootScope, $stateParams) {
+    'use strict';
+    app.register.controller('addRateCtrl', ['$scope', '$rootScope', '$stateParams','$filter','Order', 'toaster', 'Rate', function ($scope, $rootScope, $stateParams , $filter , Order , toaster , Rate) {
+        $scope.isAnony = 1;
+        $scope.goodsRate =[];
+        $scope.vendorRate = {};
+        if ($stateParams.orderid && $stateParams.orderid != '') {
+            $scope.orderid = $stateParams.orderid;
+            if(!$scope.orderid) {
+                toaster.pop('warning', '没有传入有效的订单信息');
+            }
+            Order.get({orderid : $scope.orderid}, function (data) {
+                if(data.length != 1) {
+                    toaster.pop('warning', '获取订单信息失败');
+                    return ;
+                }
+                $scope.order = data[0];
+                Rate.getRateVendor({orderId : $scope.order.orderid},function (data) {
+                    $scope.vendorRate = data.data;
+                });
+                Rate.getRateGoodsByOrderId({orderId : $scope.order.orderid},function (data) {
+                    $scope.buyerRate = data.data;
+                    angular.forEach($scope.buyerRate, function (item, index) {
+                        for (var i = 0 ;i < $scope.order.orderDetails.length ; i++){
+
+                            if (item.goodsId == $scope.order.orderDetails[i].id){
+
+                                item.goodsDetail = $scope.order.orderDetails[i];
+                            }
+                        }
+                    });
+                    console.log($scope.buyerRate);
+                });
+
+
+            });
+        }
+
+        $scope.submit = function () {
+            $scope.count = 0;
+            for (var i = 0 ; i < $scope.buyerRate.length ; i++){
+                delete $scope.buyerRate[i].goodsDetail;
+                if($scope.buyerRate[i].buyerAfterRate){
+                    $scope.count ++;
+                }
+            }
+            if ($scope.count == 0){
+                toaster.pop('error', '您还没有填写追评内容');
+                return;
+            }
+            Rate.saveAfterRateGoods({orderId : $scope.order.orderid},$scope.buyerRate,function (data) {
+                if (data.success){
+                    window.location.href='user#/order';
+                }
+            },function (error) {
+                toaster.pop('error', '评价失败');
+            });
+
+        };
+
+        /**
+         * 获取买家评价店铺的信息
+         */
+
+        $scope.saveRateGoods = function () {
+            Rate.saveRateGoods({orderId : $scope.order.orderid},{}, function (data) {
+                if(data.length != 1) {
+                    toaster.pop('warning', '获取订单信息失败');
+                    return ;
+                }
+
+                console.log("$scope.order", $scope.order);
+            }, function() {
+                toaster.pop('warning', '评价失败。');
+            });
+        };
+
+        $scope.descObj = {};
+        $scope.descObj.a = 0;
+        $scope.descObj.b = 0;
+        $scope.descObj.c = 0;
+
+        $scope.setLevel = function (type, level) {
+            $scope.descObj[type] = level;
+        }
 
-        $scope.text = 'add rate page';
     }]);
 });

+ 46 - 34
src/main/webapp/resources/view/usercenter/forstore/add_rate.html

@@ -84,6 +84,7 @@
         padding: 4px 17px;
         background: #5078cb;
         color: #fff;
+        cursor: pointer;
     }
     .add-rate table thead tr.line02 {
         background: #f5f8fe;
@@ -179,7 +180,7 @@
         <span style="width: 27%;">
             <a target="_blank" class="add-rate-company">
                 <img src="static/img/user/images/shop_home.png"/>
-                <em>深圳市优软科技有限公司</em>
+                <em>{{order.sellername}}</em>
             </a>
         </span>
         <span style="position: relative; width: 10%; margin-left: 50px;">
@@ -208,54 +209,57 @@
                 <span class="describe-title describe-option">店铺评价:</span>
                 <span>描述相符:</span>
                 <span class="rate-level describe-option">
-                        <img src="static/img/user/images/rateGood.png" alt="">
-                        <img src="static/img/user/images/rateGood.png" alt="">
-                        <img src="static/img/user/images/rateGood.png" alt="">
-                        <img src="static/img/user/images/rateGood.png" alt="">
-                        <img src="static/img/user/images/rateGood.png" alt="">
+                    <img ng-src="static/img/user/images/{{vendorRate.describeLevel - 0 > 0? 'rateGood':'rateBad'}}.png" alt="">
+                    <img ng-src="static/img/user/images/{{vendorRate.describeLevel - 1 > 0? 'rateGood':'rateBad'}}.png" alt="">
+                    <img ng-src="static/img/user/images/{{vendorRate.describeLevel - 2 > 0? 'rateGood':'rateBad'}}.png" alt="">
+                    <img ng-src="static/img/user/images/{{vendorRate.describeLevel - 3 > 0? 'rateGood':'rateBad'}}.png" alt="">
+                    <img ng-src="static/img/user/images/{{vendorRate.describeLevel - 4 > 0? 'rateGood':'rateBad'}}.png" alt="">
                     </span>
                 <span>卖家服务:</span>
                 <span class="rate-level describe-option">
-                        <img src="static/img/user/images/rateGood.png" alt="">
-                        <img src="static/img/user/images/rateGood.png" alt="">
-                        <img src="static/img/user/images/rateGood.png" alt="">
-                        <img src="static/img/user/images/rateGood.png" alt="">
-                        <img src="static/img/user/images/rateGood.png" alt="">
+                    <img ng-src="static/img/user/images/{{vendorRate.vendorLevel - 0 > 0? 'rateGood':'rateBad'}}.png" alt="">
+                    <img ng-src="static/img/user/images/{{vendorRate.vendorLevel - 1 > 0? 'rateGood':'rateBad'}}.png" alt="">
+                    <img ng-src="static/img/user/images/{{vendorRate.vendorLevel - 2 > 0? 'rateGood':'rateBad'}}.png" alt="">
+                    <img ng-src="static/img/user/images/{{vendorRate.vendorLevel - 3 > 0? 'rateGood':'rateBad'}}.png" alt="">
+                    <img ng-src="static/img/user/images/{{vendorRate.vendorLevel - 4 > 0? 'rateGood':'rateBad'}}.png" alt="">
                     </span>
                 <span>物流服务:</span>
                 <span class="rate-level describe-option">
-                        <img src="static/img/user/images/rateGood.png" alt="">
-                        <img src="static/img/user/images/rateGood.png" alt="">
-                        <img src="static/img/user/images/rateGood.png" alt="">
-                        <img src="static/img/user/images/rateGood.png" alt="">
-                        <img src="static/img/user/images/rateGood.png" alt="">
+                    <img ng-src="static/img/user/images/{{vendorRate.logisticsLevel - 0 > 0? 'rateGood':'rateBad'}}.png" alt="">
+                    <img ng-src="static/img/user/images/{{vendorRate.logisticsLevel - 1 > 0? 'rateGood':'rateBad'}}.png" alt="">
+                    <img ng-src="static/img/user/images/{{vendorRate.logisticsLevel - 2 > 0? 'rateGood':'rateBad'}}.png" alt="">
+                    <img ng-src="static/img/user/images/{{vendorRate.logisticsLevel - 3 > 0? 'rateGood':'rateBad'}}.png" alt="">
+                    <img ng-src="static/img/user/images/{{vendorRate.logisticsLevel - 4 > 0? 'rateGood':'rateBad'}}.png" alt="">
                     </span>
             </td>
         </tr>
         </thead>
         <tbody>
-        <tr>
+
+        <tr ng-repeat="detail in buyerRate track by $index">
             <td>
-                <img src="static/img/user/images/default.png" alt="">
+                <a href="store/{{::order.storeid}}/{{::detail.goodsDetail.batchCode}}" target="_blank"><img ng-src="{{detail.goodsDetail.img || 'static/img/store/common/default.png'}}" width="55" height="55"/></a>
+
                 <div class="add-rate-item-info">
-                    <span class="add-rate-item-introduce"><span class="add-rate-item-link">类目:专用处理器</span></span>
-                    <span class="add-rate-item-introduce"><span class="add-rate-item-link">型号:445NNSJASDASKDJA</span></span>
-                    <span class="add-rate-item-introduce"><span class="add-rate-item-link">品牌:mnnnnnk</span></span>
+                    <span class="add-rate-item-introduce"><span class="add-rate-item-link">类目:<a href="product/kind/{{::detail.goodsDetail.kindUuid}}" target="_blank"><em ng-bind="::detail.goodsDetail.kiName" title="{{::detail.goodsDetail.kiName}}"></em></a><br/></span></span>
+                    <span class="add-rate-item-introduce"><span class="add-rate-item-link">型号:<a href="store/{{::order.storeid}}/{{::detail.goodsDetail.batchCode}}" target="_blank"><em ng-bind="::detail.goodsDetail.cmpCode" title="{{::detail.goodsDetail.cmpCode}}"></em></a><br/></span></span>
+                    <span class="add-rate-item-introduce"><span class="add-rate-item-link">品牌:<a href="product/brand/{{::detail.goodsDetail.branduuid}}/" target="_blank"><em ng-bind="::detail.goodsDetail.brName" title="{{::detail.goodsDetail.brName}}"></em></a></span></span>
                 </div>
-                <div class="buyer-first-rate">
-                    <div class="buyer-first-rate02" style="margin-left: 100px">
-                        <div>
-                            <span>买家初评:</span>
-                            <span><img src="static/img/user/images/rate1.png" alt=""><span>好评</span></span>
-                            <span class="rate-date">2017-06-05</span>
+                    <div class="buyer-first-rate">
+                        <div class="buyer-first-rate02" style="margin-left: 100px">
+                            <div>
+                                <span>买家初评:</span>
+                                <span><img src="static/img/user/images/{{detail.level == 1?'rate1.png':detail.level == 2?'rate2.png':'rate3.png'}}" alt=""><span ng-bind="detail.level == 1?'好评':detail.level == 2?'中评':'差评'"></span></span>
+                                <span class="rate-date" ng-bind="detail.buyerRateTime | date:'yyyy-MM-dd'"></span>
+                            </div>
+                            <div class="comment">
+                                <span ng-bind="detail.buyerRate"></span></div>
                         </div>
-                        <div class="comment">
-                            <span>谢谢亲阿双方打款付了哈咖啡韩哈见客户</span></div>
-                    </div>
-                    <div class="buyer-first-rate02" style="background: #fff">
-                        <div style="margin-top: 10px;">买家追评:</div>
-                        <div class="first-rate-item-textBox">
-                            <textarea placeholder="请输入您对产品的评价" name="" id="" cols="30" rows="10"></textarea>
+                        <div class="buyer-first-rate02" style="background: #fff">
+                            <div style="margin-top: 10px;">买家追评:</div>
+                            <div class="first-rate-item-textBox">
+                                <textarea placeholder="请输入您对产品的评价" name="" id="" cols="30" rows="10" ng-model="detail.buyerAfterRate"></textarea>
+                            </div>
                         </div>
                     </div>
                 </div>
@@ -268,4 +272,12 @@
         </tr>
         </tbody>
     </table>
+    <div class="submitBox">
+     <label class="check-active">
+         <input ng-model="isSetTop" type="checkbox" id="check-act" class="ng-pristine ng-untouched ng-valid" disabled ng-checked="isAnony" >
+         <label for="check-act"></label>
+         <span style="font-size: 14px; color: black">匿名评价</span>
+     </label>
+        <span class="submit-btn" ng-click="submit()">提交</span>
+    </div>
 </div>