yangc 8 лет назад
Родитель
Сommit
11e5b000f2

+ 158 - 2
src/main/webapp/resources/js/vendor/controllers/forstore/show_rate_ctrl.js

@@ -1,6 +1,162 @@
 define(['app/app'], function(app) {
-    app.register.controller('showRateCtrl', ['$scope', '$rootScope', '$stateParams', function ($scope, $rootScope, $stateParams) {
+    app.register.controller('showRateCtrl', ['$scope', '$rootScope', '$stateParams','$state', 'toaster','Rate','Order', function ($scope, $rootScope, $stateParams, $state, toaster, Rate, Order) {
 
-        $scope.showRateBoxFlag = true;
+        /***********卖家回复评论模块 *** start *****************************/
+
+        //初始化
+        var init = function () {
+            //买家评价商品
+                Order.get({orderid : $stateParams.orderId}, function (data) {
+                    if(data.length != 1) {
+                        toaster.pop('warning', '获取订单信息失败');
+                        return ;
+                    }
+                    $scope.order = data[0];
+                    Rate.getRateGoodsByOrderId({orderId: $scope.order.orderid},{},function (data) {
+                        $scope.buyerRateGoods = data.data;
+                        angular.forEach($scope.buyerRateGoods, 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];
+                                }
+                            }
+                        });
+                    });
+
+                    //卖家评价买家
+                    Rate.getRateBuyer({orderId: $scope.order.orderid},{},function (data) {
+                        $scope.sellerRateBuyer = data.data;
+                    },function (error) {
+                        toaster.pop('error', '获取卖家评价买家数据失败');
+                    })
+                    //买家评价卖家
+                    Rate.getRateVendor({orderId: $scope.order.orderid},{},function (data) {
+                        $scope.buyerRateSeller = data.data;
+                        // $scope.buyerRateSeller.describeLevel = $scope.range(buyerRateSeller.describeLevel);
+                        // $scope.buyerRateSeller.logisticsLevel = $scope.range(buyerRateSeller.logisticsLevel);
+                        // $scope.buyerRateSeller.vendorLevel = $scope.range(buyerRateSeller.vendorLevel);
+                    },function (error) {
+                        toaster.pop('error', '获取买家评价卖家数据失败');
+                    })
+                });
+        }
+            init();
+
+        // //数字->数组
+        // $scope.range = function(n) {
+        //     return new Array(n);
+        // }
+
+        $scope.modalData = [];
+
+        $scope.getModal = function (detail, type) {
+            // $scope.rateContent.storeid = purchase.storeid;
+            // $scope.rateContent.purchaseid = purchase.purchaseid;
+            // $scope.rateContent.orderid = purchase.orderid;
+            $scope.rateType = type;
+            $scope.goodsId = detail.goodsId;
+            Rate.getRateTemplate({storeuuid: detail.storeId},{},function (data) {
+                $scope.modalData = data.data;
+            },function (error) {
+                toaster.pop('error', '获取模板信息失败');
+            });
+            $scope.setShowRateBoxFlag(true);
+        }
+
+        //控制评论模态框的显示隐藏
+        $scope.showRateBoxFlag = false;
+
+        $scope.setShowRateBoxFlag = function (flag) {
+            $scope.showRateBoxFlag = flag;
+        }
+
+        //评价类型:追评addRate/初次评价firstRate,默认初评
+        $scope.rateType = 'firstRate';
+
+        $scope.setRateType = function (type) {
+            $scope.rateType = type;
+        }
+
+        /***
+         * 评价模态框状态,默认为1
+         * 1:使用模板
+         * 2:不使用模板
+         * 3:新增模板
+         * 4:修改模板
+         * ***/
+        $scope.boxStatus = 1;
+
+        $scope.setBoxStatus = function (boxStatus) {
+            $scope.boxStatus = boxStatus;
+        }
+
+        //控制模板列表显示
+        $scope.showModalListFlag = false;
+
+        $scope.setShowModalListFlag = function (flag) {
+            if (!($scope.isInListFlag && !flag)) {
+                $scope.showModalListFlag = flag;
+            }
+        }
+
+        //鼠标是否在模板列表中
+        $scope.isInListFlag = false;
+        $scope.setIsInListFlag = function (flag) {
+            $scope.isInListFlag = flag;
+        }
+
+        $scope.addModal = function () {
+            $scope.showModalListFlag = false;
+            $scope.modalTempData = {};
+            $scope.setBoxStatus(3);
+        }
+
+        //选择模板
+        $scope.chooseModal = function (modal) {
+            $scope.modalTempData.rateContent = modal.rateTemplateContent;
+            $scope.modalTempData.modalTitle = modal.rateTemplateName;
+            $scope.showModalListFlag = false;
+        }
+
+        //保存模板
+        $scope.modalTempData = {};
+        $scope.saveModal = function () {
+            Rate.saveRateTemplate({storeuuid: $scope.order.storeid},{rateTemplateName: $scope.modalTempData.modalTitle, rateTemplateContent: $scope.modalTempData.rateContent}, function (data) {
+                toaster.pop('success', '保存成功');
+                $state.reload();
+            }, function (error) {
+                toaster.pop('error', '保存失败');
+            })
+        }
+
+        //提交评论
+        $scope.rateContent = {};
+
+        $scope.submitRate = function () {
+            var param = {
+                goodsId: $scope.goodsId,
+                returnMeg: $scope.modalTempData.rateContent
+            };
+            if ($scope.rateType == "firstRate") {
+                Rate.saveReply({orderId: $scope.order.orderid, goodsId: $scope.goodsId, returnMeg: $scope.modalTempData.rateContent},{},function (data) {
+                    toaster.pop('success', '回复成功');
+                    $state.reload();
+                },function (error) {
+                    toaster.pop('error', '回复失败');
+                });
+            } else if ($scope.rateType == "addRate") {
+                Rate.saveAfterReply({orderId: $scope.order.orderid, goodsId: $scope.goodsId, returnMeg: $scope.modalTempData.rateContent},{},function (data) {
+                    toaster.pop('success', '回复成功');
+                    $state.reload();
+                },function (error) {
+                    toaster.pop('error', '回复失败');
+                });
+            }
+        }
+
+
+        /***********卖家回复评论模块 *** end *****************************/
     }]);
 });

+ 1 - 0
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_order_ctrl.js

@@ -1084,6 +1084,7 @@ define(['app/app'], function (app) {
 
         $scope.addModal = function () {
             $scope.showModalListFlag = false;
+            $scope.modalTempData = {};
             $scope.setBoxStatus(3);
         }
 

+ 67 - 66
src/main/webapp/resources/view/vendor/forstore/showRate.html

@@ -34,7 +34,7 @@
     .add-rate table tbody tr {
         border-bottom: 1px dashed rgb( 232, 235, 252 );
     }
-    .add-rate table tbody tr td >img{
+    .add-rate table tbody tr td >a >img{
         width: 73px;
         height: 74px;
         float: left;
@@ -258,7 +258,7 @@
         padding-top: 10px;
         padding-left: 10px;
         overflow: scroll;
-        border: 1px solid #f9f9f9;
+        border: 1px solid rgb( 233, 233, 233 );
     }
     .add-rate .reply-box .reply-box-btn {
         text-align: center;
@@ -280,7 +280,10 @@
         background: #5079cb;
         margin: 0;
     }
-
+    .add-rate .reply-box .reply-box-text >textarea.active{
+        background: #fff;
+        color: #333;
+    }
 </style>
 
 <div class="add-rate">
@@ -301,14 +304,14 @@
         <thead>
         <tr class="line01">
             <td>
-                <span><img src="static/img/user/images/rate1.png" alt="">好评</span>
-                <div style="margin-left: 20px;">
-                    <span class="add-rate-item01">卖家初评:<span>很爽快的买家</span></span>
-                    <span class="add-rate-item02">2017-07-01</span>
+                <span ng-if="sellerRateBuyer.level"><img ng-src="static/img/user/images/rate{{sellerRateBuyer.level}}.png" alt="">{{sellerRateBuyer.level == 1?'好评':sellerRateBuyer.level == 2?'中评':'差评'}}</span>
+                <div style="margin-left: 20px;" ng-if="sellerRateBuyer.vendorRate">
+                    <span class="add-rate-item01">卖家初评:<span ng-bind="sellerRateBuyer.vendorRate"></span></span>
+                    <span class="add-rate-item02" ng-bind="sellerRateBuyer.vendorRateTime | date:'yyyy-mm-dd'"></span>
                 </div>
-                <div style="margin-left: 40px;">
-                    <span class="add-rate-item01">卖家追评:<span>很好的买家,感谢您的支持!</span></span>
-                    <span class="add-rate-item02">2017-07-01</span>
+                <div style="margin-left: 40px;" ng-if="sellerRateBuyer.vendorAfterRate">
+                    <span class="add-rate-item01">卖家追评:<span ng-bind="sellerRateBuyer.vendorAfterRate"></span></span>
+                    <span class="add-rate-item02" ng-bind="sellerRateBuyer.vendorRateTime | date:'yyyy-mm-dd'"></span>
                 </div>
             </td>
         </tr>
@@ -317,119 +320,117 @@
                 <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="">
-                    </span>
+                    <img ng-if="buyerRateSeller.describeLevel && buyerRateSeller.describeLevel > 0" src="static/img/user/images/rateGood.png" alt="">
+                    <img ng-if="buyerRateSeller.describeLevel && buyerRateSeller.describeLevel > 1" src="static/img/user/images/rateGood.png" alt="">
+                    <img ng-if="buyerRateSeller.describeLevel && buyerRateSeller.describeLevel > 2" src="static/img/user/images/rateGood.png" alt="">
+                    <img ng-if="buyerRateSeller.describeLevel && buyerRateSeller.describeLevel > 3" src="static/img/user/images/rateGood.png" alt="">
+                    <img ng-if="buyerRateSeller.describeLevel && buyerRateSeller.describeLevel > 4" src="static/img/user/images/rateGood.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="">
-                    </span>
+                    <img ng-if="buyerRateSeller.vendorLevel && buyerRateSeller.vendorLevel > 0" src="static/img/user/images/rateGood.png" alt="">
+                    <img ng-if="buyerRateSeller.vendorLevel && buyerRateSeller.vendorLevel > 1" src="static/img/user/images/rateGood.png" alt="">
+                    <img ng-if="buyerRateSeller.vendorLevel && buyerRateSeller.vendorLevel > 2" src="static/img/user/images/rateGood.png" alt="">
+                    <img ng-if="buyerRateSeller.vendorLevel && buyerRateSeller.vendorLevel > 3" src="static/img/user/images/rateGood.png" alt="">
+                    <img ng-if="buyerRateSeller.vendorLevel && buyerRateSeller.vendorLevel > 4" src="static/img/user/images/rateGood.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-if="buyerRateSeller.logisticsLevel && buyerRateSeller.logisticsLevel > 0" src="static/img/user/images/rateGood.png" alt="">
+                    <img ng-if="buyerRateSeller.logisticsLevel && buyerRateSeller.logisticsLevel > 1" src="static/img/user/images/rateGood.png" alt="">
+                    <img ng-if="buyerRateSeller.logisticsLevel && buyerRateSeller.logisticsLevel > 2" src="static/img/user/images/rateGood.png" alt="">
+                    <img ng-if="buyerRateSeller.logisticsLevel && buyerRateSeller.logisticsLevel > 3" src="static/img/user/images/rateGood.png" alt="">
+                    <img ng-if="buyerRateSeller.logisticsLevel && buyerRateSeller.logisticsLevel > 4" src="static/img/user/images/rateGood.png" alt="">
                 </span>
                 <span class="batch-reply">批量回复</span>
             </td>
         </tr>
         </thead>
         <tbody>
-        <tr>
+        <tr ng-repeat="detail in buyerRateGoods">
             <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>
+                            <span>买家初评</span>
+                            <span><img ng-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>谢谢亲阿双方打款付了哈咖啡韩哈见客户</span>
-                        </div>
-                        <span class="batch-reply single-reply">回复</span>
+                            <span ng-bind="detail.buyerRate"></span></div>
+                        <span class="batch-reply single-reply" ng-click="getModal(detail, 'firstRate')">回复</span>
                     </div>
-                    <div class="buyer-first-rate02">
+                    <div class="buyer-first-rate02" ng-if="detail.buyerAfterRate">
                         <div>
-                            <span>买家初评</span>
-                            <span><img src="static/img/user/images/rate2.png" alt=""><span>中评</span></span>
-                            <span class="rate-date">2017-06-05</span>
+                            <span>买家追评:</span>
+                            <span><img ng-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.buyerAfterRateTime | date:'yyyy-MM-dd'"></span>
                         </div>
                         <div class="comment">
-                            <span>谢谢亲阿双方打款付了哈咖啡韩哈见客户</span>
+                            <span ng-bind="detail.buyerAfterRate"></span>
                         </div>
-                        <span class="batch-reply single-reply">回复</span>
+                        <span class="batch-reply single-reply" ng-click="getModal(detail, 'addRate')">回复</span>
                     </div>
                 </div>
-                <div class="buyer-first-rate">
+                <div class="buyer-first-rate" ng-if="detail.returnMeg">
                     <div class="buyer-first-rate02" style="margin-left: 100px">
                         <div>
                             <span style="color:#6083ce;">卖家回复</span>
-                            <span class="rate-date">2017-06-05</span>
+                            <span class="rate-date" ng-bind="detail.returnMegTime | date: 'yyyy-mm-dd'"></span>
                         </div>
                         <div class="comment">
-                            <span>谢谢亲阿双方打款付了哈咖啡韩哈见客户</span></div>
+                            <span ng-bind="detail.returnMeg"></span></div>
                     </div>
-                    <div class="buyer-first-rate02">
+                    <div class="buyer-first-rate02" ng-if="detail.afterReturnMeg">
                         <div>
                             <span style="color:#6083ce;">卖家回复</span>
-                            <span class="rate-date">2017-06-05</span>
+                            <span class="rate-date" ng-bind="detail.afterReturnMegTime | date: 'yyyy-mm-dd'">2017-06-05</span>
                         </div>
                         <div class="comment">
-                            <span>谢谢亲阿双方打款付了哈咖啡韩哈见客户</span></div>
+                            <span ng-bind="detail.afterReturnMeg">谢谢亲阿双方打款付了哈咖啡韩哈见客户</span></div>
                     </div>
                 </div>
             </td>
         </tr>
         <tr class="record-num">
             <td colspan="6">
-                <span class="count-tip">{{showRateBoxFlag}}显示<span ng-bind="$$kdnData.start"></span>-<span ng-bind="$$kdnData.end"></span>,共:<span ng-bind="$$kdnData.totalElements" style="color: #5078cb;"></span>个</span>
+                <span class="count-tip">显示<span ng-bind="$$kdnData.start"></span>-<span ng-bind="$$kdnData.end"></span>,共:<span ng-bind="$$kdnData.totalElements" style="color: #5078cb;"></span>个</span>
             </td>
         </tr>
         </tbody>
     </table>
     <div class="reply-box" ng-if="showRateBoxFlag">
-        <img src="static/img/vendor/images/rate-box-del.png" alt="">
+        <img src="static/img/vendor/images/rate-box-del.png" ng-click="setShowRateBoxFlag(false)" alt="">
         <div style="position: relative;">
-            <label class="check-active">
-                <input ng-model="isSetTop" type="checkbox" id="check-act" class="ng-pristine ng-untouched ng-valid" checked="checked">
+            <label class="check-active" ng-show="boxStatus == 1 || boxStatus == 2">
+                <input type="checkbox" id="check-act" ng-click="setBoxStatus(boxStatus == 1?2:1)" ng-checked="boxStatus == 1" class="ng-pristine ng-untouched ng-valid">
                 <label for="check-act"></label>
                 <span style="font-size: 14px; color: black; font-weight: normal">使用模板</span>
             </label>
-            <input type="search" class="form-control modal-select" readonly>
-            <ul>
-                <li>aaa</li>
-                <li>bbb</li>
-                <li>ccc</li>
-                <li class="add-modal"><img src="static/img/vendor/images/rate-add.png" alt="">新增模板</li>
+            <input type="search" ng-model="modalTempData.modalTitle" ng-show="boxStatus == 1" class="form-control modal-select" ng-focus="setShowModalListFlag(true)" ng-blur="setShowModalListFlag(false)" readonly>
+            <ul ng-show="showModalListFlag" ng-mouseenter="setIsInListFlag(true)" ng-mouseleave="setIsInListFlag(false)">
+                <li ng-repeat="modal in modalData" ng-bind="modal.rateTemplateName" ng-click="chooseModal(modal)"></li>
+                <li ng-click="addModal()" class="add-modal"><img src="static/img/vendor/images/rate-add.png" alt="">新增模板</li>
             </ul>
         </div>
         <div>
-            <input type="text" class="modal-head" placeholder="请填写模板名称">
+            <input type="text" ng-model="modalTempData.modalTitle" ng-if="boxStatus == 3 || boxStatus == 4" class="modal-head" placeholder="请填写模板名称">
         </div>
         <div class="reply-box-text">
-            <textarea readonly>谢谢亲的好评</textarea>
+            <textarea ng-readonly="boxStatus == 1" ng-class="{'active': boxStatus != 1}" ng-model="modalTempData.rateContent"></textarea>
         </div>
         <div class="reply-box-btn">
-            <span class="modal-btn modify-modal">修改模板</span>
-            <span class="modal-btn cancel-modal">取消</span>
-            <span class="modal-btn cancel-modal">返回上一步</span>
-            <span class="modal-btn submit-modal">提交</span>
+            <span class="modal-btn modify-modal" ng-click="setBoxStatus(4)" ng-show="boxStatus == 1">修改模板</span>
+            <span class="modal-btn cancel-modal" ng-click="setShowRateBoxFlag(false)" ng-show="boxStatus == 1 || boxStatus == 2">取消</span>
+            <span class="modal-btn cancel-modal" ng-click="setBoxStatus(1)" ng-show="boxStatus == 3 || boxStatus == 4">返回上一步</span>
+            <span class="modal-btn submit-modal" ng-show="boxStatus == 3 || boxStatus == 4" ng-click="saveModal()">保存</span>
+            <span class="modal-btn submit-modal" ng-show="boxStatus == 1 || boxStatus == 2" ng-click="submitRate()">提交</span>
         </div>
     </div>
 </div>

+ 3 - 3
src/main/webapp/resources/view/vendor/forstore/vendor_order.html

@@ -954,7 +954,7 @@
                                 <a href="vendor#/purchase/detail/{{purchase.purchaseid | EncryptionFilter}}" class="oder_d action-link" target="_blank">订单详情</a><br/>
                                 <em ng-if="purchase.buyerNotifyShip && (purchase.status == 502 || purchase.status == 406)" style="display: block;">买家催促发货</em>
                                 <a class="oder_d action-link" href="vendor#/logistics/query/{{purchase.purchaseid | EncryptionFilter}}" ng-if="purchase.status == 404 || purchase.status == 520 || purchase.status == 405 || purchase.status == 503 || purchase.status == 514" target="_blank">查看物流</a>
-                           		<a class="oder_d action-link" target="_blank" href="vendor#/showRate/1" style="display: block;">双方已评</a>
+                           		<a class="oder_d action-link" target="_blank" href="vendor#/showRate/{{purchase.orderid | EncryptionFilter}}" style="display: block;">双方已评</a>
                             </div>
                         </span>
 						<span class="click_shop">
@@ -1061,9 +1061,9 @@
 						<label for="check-act"></label>
 						<span style="font-size: 14px; color: black; font-weight: normal" >使用模板</span>
 					</label>
-					<input type="search" ng-show="boxStatus == 1" class="form-control modal-select" ng-focus="setShowModalListFlag(true)" ng-blur="setShowModalListFlag(false)" readonly>
+					<input type="search" ng-model="modalTempData.modalTitle" ng-show="boxStatus == 1" class="form-control modal-select" ng-focus="setShowModalListFlag(true)" ng-blur="setShowModalListFlag(false)" readonly>
 					<ul ng-show="showModalListFlag" ng-mouseenter="setIsInListFlag(true)" ng-mouseleave="setIsInListFlag(false)">
-						<li ng-repeat="modal in modalData" ng-bind="modalData.rateTemplateName" ng-click="chooseModal(modal)"></li>
+						<li ng-repeat="modal in modalData" ng-bind="modal.rateTemplateName" ng-click="chooseModal(modal)"></li>
 						<li ng-click="addModal()" class="add-modal"><img src="static/img/vendor/images/rate-add.png" alt="">新增模板</li>
 					</ul>
 				</div>