Browse Source

撤销回复功能

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@1184 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
suntg 10 years ago
parent
commit
630a0e0fa9

+ 19 - 10
src/main/webapp/resources/js/index/app.js

@@ -725,22 +725,24 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
 			return new Date();
 			return new Date();
 		};
 		};
 		
 		
-		$scope.onReplyClick = function(item) {
+		$scope.onReplyClick = function(item, inverse) {
 			if(item.reply) {
 			if(item.reply) {
-				if(!item.reply.qty) {
-					toaster.pop('warning', '提示', '请填写回复数量!');
+				if(!item.reply.qty || item.reply.qty < 0 || item.reply.qty > item.qty) {
+					toaster.pop('warning', '提示', '请填写有效的回复数量!');
 					return;
 					return;
 				}
 				}
 				var reply = angular.copy(item.reply);
 				var reply = angular.copy(item.reply);
 				if(reply.delivery) {
 				if(reply.delivery) {
 					if(typeof reply.delivery == 'object')
 					if(typeof reply.delivery == 'object')
 						reply.delivery = reply.delivery.getTime();
 						reply.delivery = reply.delivery.getTime();
-				} else
+				} else {
 					reply.delivery = item.delivery;
 					reply.delivery = item.delivery;
+				}
+				if(inverse && inverse == -1) reply.qty = -1 * reply.qty;// 取相反
 				$scope.loading = true;
 				$scope.loading = true;
 				PurcOrderItem.reply({orderItemId: item.id}, reply, function(){
 				PurcOrderItem.reply({orderItemId: item.id}, reply, function(){
 					$scope.loading = false;
 					$scope.loading = false;
-					toaster.pop('info', '提示', '回复成功');
+					toaster.pop('info', '提示', (inverse == -1 ? '撤销成功':'回复成功'));
 					$scope.tableParams.reload();
 					$scope.tableParams.reload();
 				}, function(response){
 				}, function(response){
 					$scope.loading = false;
 					$scope.loading = false;
@@ -859,6 +861,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
 				if($scope.order.display == 1) {//未查看的设为已查看
 				if($scope.order.display == 1) {//未查看的设为已查看
 					$scope.setDisplay('setRead', $scope.order.id);
 					$scope.setDisplay('setRead', $scope.order.id);
 				}
 				}
+				$scope.loading = false;
 			});
 			});
 		};
 		};
 		loadData();
 		loadData();
@@ -874,22 +877,28 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
 		    $event.stopPropagation();
 		    $event.stopPropagation();
 		    item[openParam] = !item[openParam];
 		    item[openParam] = !item[openParam];
 		};
 		};
-		$scope.onReplyClick = function(item) {
+		
+		$scope.onReplyClick = function(item, inverse) {
 			if(item.reply) {
 			if(item.reply) {
-				if(!item.reply.qty) {
-					toaster.pop('warning', '提示', '请填写回复数量!');
+				if(!item.reply.qty || item.reply.qty < 0 || item.reply.qty > item.qty) {
+					toaster.pop('warning', '提示', '请填写有效的回复数量!');
 					return;
 					return;
 				}
 				}
 				var reply = angular.copy(item.reply);
 				var reply = angular.copy(item.reply);
 				if(reply.delivery) {
 				if(reply.delivery) {
 					if(typeof reply.delivery == 'object')
 					if(typeof reply.delivery == 'object')
 						reply.delivery = reply.delivery.getTime();
 						reply.delivery = reply.delivery.getTime();
-				} else
+				} else {
 					reply.delivery = item.delivery;
 					reply.delivery = item.delivery;
+				}
+				if(inverse && inverse == -1) reply.qty = -1 * reply.qty;// 取相反
+				$scope.loading = true;
 				PurcOrderItem.reply({orderItemId: item.id}, reply, function(){
 				PurcOrderItem.reply({orderItemId: item.id}, reply, function(){
-					toaster.pop('info', '提示', '回复成功');
+					$scope.loading = false;
+					toaster.pop('info', '提示', (inverse == -1 ? '撤销成功':'回复成功'));
 					loadData();
 					loadData();
 				}, function(response){
 				}, function(response){
+					$scope.loading = false;
 					toaster.pop('error', '回复失败', response.data);
 					toaster.pop('error', '回复失败', response.data);
 				});
 				});
 			}
 			}

+ 14 - 6
src/main/webapp/resources/tpl/index/sale/order.html

@@ -198,7 +198,7 @@
 			<th width="100">数量</th>
 			<th width="100">数量</th>
 			<th width="120">交货日期</th>
 			<th width="120">交货日期</th>
 			<th width="180">单据状态</th>
 			<th width="180">单据状态</th>
-			<th width="60">操作</th>
+			<th width="80">操作</th>
 		</tr>
 		</tr>
 		<tr class="sep-row">
 		<tr class="sep-row">
 			<td colspan="6"></td>
 			<td colspan="6"></td>
@@ -285,9 +285,9 @@
 				<div class="text-num" ng-bind="::item.qty"></div>
 				<div class="text-num" ng-bind="::item.qty"></div>
 				<div class="text-muted" ng-bind="::item.product.unit"></div>
 				<div class="text-muted" ng-bind="::item.product.unit"></div>
 				<div style="margin: 0 auto" ng-if="item.$editing">
 				<div style="margin: 0 auto" ng-if="item.$editing">
-					<input type="text" ng-model="item.reply.qty"
+					<input type="number" ng-model="item.reply.qty" min="0" max="{{item.qty-item.replyQty}}"
 						ng-init="item.reply.qty=item.qty-item.replyQty"
 						ng-init="item.reply.qty=item.qty-item.replyQty"
-						class="form-control input-xs" placeholder="回复数量">
+						class="form-control input-xs" placeholder="0~{{item.qty-item.replyQty}}">
 				</div>
 				</div>
 			</td>
 			</td>
 			<td class="text-center br-l">
 			<td class="text-center br-l">
@@ -333,7 +333,10 @@
 									<li ng-repeat="reply in ::item.replies">
 									<li ng-repeat="reply in ::item.replies">
 										<div class="row row-sm"
 										<div class="row row-sm"
 											ng-class="{'text-inverse': $index==0}">
 											ng-class="{'text-inverse': $index==0}">
-											<div class="col-xs-6">数量{{::reply.qty}}</div>
+											<div class="col-xs-6">
+												<span ng-if="reply.qty < 0"> 撤销</span>
+												数量 {{::reply.qty}}
+											</div>
 											<div class="col-xs-6">交期{{::reply.delivery |
 											<div class="col-xs-6">交期{{::reply.delivery |
 												date:'yyyy-MM-dd'}}</div>
 												date:'yyyy-MM-dd'}}</div>
 										</div>
 										</div>
@@ -374,8 +377,13 @@
 							<a ng-click="item.$editing=false">取消</a>
 							<a ng-click="item.$editing=false">取消</a>
 						</div>
 						</div>
 						<br>
 						<br>
-						<div>
-							<a ng-click="onReplyClick(item)" class="text-inverse">确认回复</a>
+						<div class="text-left">
+							<a ng-click="onReplyClick(item)" class="text-inverse">
+								<i class="fa fa-arrow-up"></i> 确认回复
+							</a>
+							<br>
+							<a ng-click="onReplyClick(item, -1)" class="text-muted" title="减去已回复数量">
+								<i class="fa fa-arrow-down"></i> 撤销回复</a>
 						</div>
 						</div>
 					</div>
 					</div>
 				</div>
 				</div>

+ 14 - 4
src/main/webapp/resources/tpl/index/sale/order_detail.html

@@ -1,3 +1,6 @@
+<div class="loading" ng-class="{'in': loading}">
+	<i></i>
+</div>
 <div class="pane base-info">
 <div class="pane base-info">
 	<div class="pane-header">
 	<div class="pane-header">
 		客户采购单<a ng-click="print(order)" class="pull-right text-simple"><i
 		客户采购单<a ng-click="print(order)" class="pull-right text-simple"><i
@@ -79,7 +82,7 @@
 						<th width="100">数量</th>
 						<th width="100">数量</th>
 						<th width="120">交货日期</th>
 						<th width="120">交货日期</th>
 						<th width="180">回复状态</th>
 						<th width="180">回复状态</th>
-						<th width="60">操作</th>
+						<th width="100">操作</th>
 					</tr>
 					</tr>
 				</thead>
 				</thead>
 				<tbody>
 				<tbody>
@@ -155,7 +158,10 @@
 												<li ng-repeat="reply in ::item.replies">
 												<li ng-repeat="reply in ::item.replies">
 													<div class="row row-sm"
 													<div class="row row-sm"
 														ng-class="{'text-inverse': $index==0}">
 														ng-class="{'text-inverse': $index==0}">
-														<div class="col-xs-6">数量{{::reply.qty}}</div>
+														<div class="col-xs-6">
+															<span ng-if="reply.qty < 0"> 撤销</span>
+															数量 {{::reply.qty}}
+														</div>
 														<div class="col-xs-6">交期{{::reply.delivery |
 														<div class="col-xs-6">交期{{::reply.delivery |
 															date:'yyyy-MM-dd'}}</div>
 															date:'yyyy-MM-dd'}}</div>
 													</div>
 													</div>
@@ -196,9 +202,13 @@
 										<a ng-click="item.$editing=!item.$editing">取消</a>
 										<a ng-click="item.$editing=!item.$editing">取消</a>
 									</div>
 									</div>
 									<br>
 									<br>
-									<div>
-										<a ng-click="onReplyClick(item)" class="text-inverse">确认<br>回复
+									<div class="text-left">
+										<a ng-click="onReplyClick(item)" class="text-inverse">
+											<i class="fa fa-arrow-up"></i> 确认回复
 										</a>
 										</a>
+										<br>
+										<a ng-click="onReplyClick(item, -1)" class="text-muted" title="减去已回复数量">
+											<i class="fa fa-arrow-down"></i> 撤销回复</a>
 									</div>
 									</div>
 								</div>
 								</div>
 							</div>
 							</div>