Browse Source

打印状态、查看状态标记

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@1053 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
suntg 11 years ago
parent
commit
19348bf8fc

+ 61 - 1
src/main/webapp/resources/js/index/app.js

@@ -586,7 +586,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
 		}
 		return fn;
 	};
-	app.controller('SaleOrderCtrl', function($scope, $filter, PurcOrderItem, ngTableParams, 
+	app.controller('SaleOrderCtrl', function($scope, $filter, PurcOrderItem, PurcOrder, ngTableParams, 
 		toaster, ReportService, BaseService, PurcOrderItemHis){
 		$scope.active = 'todo';
 		$scope.dateZoneText = '一个月内';
@@ -612,6 +612,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
 			page : 1,
 			count : 5,
 			sorting: {
+				display: 'desc',
                 date: 'desc'
             }
 		}, {
@@ -678,7 +679,10 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
 			}
 		};
 		
+		//打印
 		$scope.print = function(order) {
+			PurcOrder.printCount({id: order.id},{});//增加打印此次
+			if(order.display == 1) $scope.setDisplay('setRead', order.id);//设置为已查看状态
 			ReportService.print(order.enUU, 'purchase', '{purc_orders.pu_id}=' + order.id, '销售订单-' + order.code);
 		};
 		
@@ -743,6 +747,31 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
 		$scope.onSearch = function() {
 			$scope.tableParams.reload();
 		};
+		//设置为已查看
+		$scope.setDisplay = function(state, orderId) {
+			if(orderId) {//设置单个
+				PurcOrder[state].call({}, {ids: '' + orderId}, function(){
+					$scope.tableParams.reload();
+				}, function() {
+					toaster.pop('error', '错误', "设置失败");
+				});
+			} else {//设置已勾选的
+				var str = null;
+				angular.forEach($scope.tableParams.data, function(order) {
+					if(order.$selected == true) {
+						if(str != null && str != '') str += ',';
+						str += order.id;
+					}
+				});
+				if(str != null && str != '') {
+					PurcOrder[state].call({}, {ids: '' + str}, function(){
+						$scope.tableParams.reload();
+					}, function() {
+						toaster.pop('error', '错误', "设置失败");
+					});
+				}
+			}
+		};
 	});
 	app.controller('SaleOrderDetailCtrl', function($scope, $stateParams, PurcOrder, PurcOrderItem, toaster, ReportService){
 		var loadData = function() {
@@ -753,6 +782,9 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
 					sum += item.qty * item.price;
 				});
 				$scope.order.total = sum;
+				if($scope.order.display == 1) {//未查看的设为已查看
+					$scope.setDisplay('setRead', $scope.order.id);
+				}
 			});
 		};
 		loadData();
@@ -790,8 +822,36 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
 		};
 				
 		$scope.print = function(order) {
+			PurcOrder.printCount({id: order.id},{});//增加打印此次
 			ReportService.print(order.enUU, 'purchase', '{purc_orders.pu_id}=' + order.id, '销售订单-' + order.code);
 		};
+		
+		//设置为已查看
+		$scope.setDisplay = function(state, orderId) {
+			console.log(PurcOrder);
+			if(orderId) {//设置单个
+				PurcOrder[state].call({}, {ids: '' + orderId}, function(){
+					$scope.tableParams.reload();
+				}, function() {
+					toaster.pop('error', '错误', "设置失败");
+				});
+			} else {//设置已勾选的
+				var str = null;
+				angular.forEach($scope.tableParams.data, function(order) {
+					if(order.$selected == true) {
+						if(str != null && str != '') str += ',';
+						str += order.id;
+					}
+				});
+				if(str != null && str != '') {
+					PurcOrder[state].call({}, {ids: '' + str}, function(){
+						$scope.tableParams.reload();
+					}, function() {
+						toaster.pop('error', '错误', "设置失败");
+					});
+				}
+			}
+		};
 	});
 	app.controller('SaleChangeCtrl', function($scope, $filter, PurcChange, ngTableParams, toaster, BaseService, PurcChangeHis){
 		$scope.active = 'todo';

+ 27 - 1
src/main/webapp/resources/js/index/services/Purc.js

@@ -1,7 +1,33 @@
 define([ 'ngResource'], function() {
 	angular.module('PurcServices', [ 'ngResource'
 	]).factory('PurcOrder', function($resource) {
-		return $resource('sale/orders/:id', {});
+		return $resource('sale/orders/:id', {}, {
+			setRead: {
+				url: 'sale/orders/display',
+				method: 'POST',
+				params: {
+					_state: 'read'
+				}
+			},
+			setUnRead: {
+				url: 'sale/orders/display',
+				method: 'POST',
+				params: {
+					_state: 'unread'
+				}
+			},
+			setTop: {
+				url: 'sale/orders/display',
+				method: 'POST',
+				params: {
+					_state: 'top'
+				}
+			},
+			printCount: {
+				url: 'sale/orders/printCount/:id',
+				method: 'POST'
+			}
+		});
 	}).factory('PurcOrderItem', function($resource) {
 		return $resource('sale/orders/items', {}, {
 			getTodo: {

+ 29 - 5
src/main/webapp/resources/tpl/index/sale/order.html

@@ -92,6 +92,10 @@
 	padding-left: 20px;
 }
 
+.unPrinted {
+	color: #56a022;
+}
+
 </style>
 <div class="block">
 <div class="loading in" ng-class="{'in': loading}">
@@ -187,7 +191,7 @@
 			<th width="80">单价</th>
 			<th width="100">数量</th>
 			<th width="120">交货日期</th>
-			<th width="180">回复状态</th>
+			<th width="180">单据状态</th>
 			<th width="60">操作</th>
 		</tr>
 		<tr class="sep-row">
@@ -198,7 +202,17 @@
 				<div>
 					<label><input type="checkbox" class="selector select_all"
 						ng-model="checkboxes.checked" ng-click="checkAll()">全选</label> <a ng-if="active=='todo'" href="javascript:void(0)"
-						class="btn btn-default btn-xs" ng-click="replyByBatch()">批量回复</a>
+						class="btn btn-default btn-xs" ng-click="replyByBatch()">&nbsp;批量回复&nbsp;</a>
+						<div class="btn-group dropdown">
+  							<button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown" aria-expanded="true">
+    							&nbsp;&nbsp;标记为&nbsp;&nbsp;<span class="caret"></span>&nbsp;
+  							</button>
+  							<ul class="dropdown-menu" role="menu">
+    							<li><a href="javascript:void(0)" ng-click="setDisplay('setRead')">已查看</a></li>
+    							<li><a href="javascript:void(0)" ng-click="setDisplay('setUnRead')">未查看</a></li>
+    							<li><a href="javascript:void(0)" ng-click="setDisplay('setTop')">置顶</a></li>
+  							</ul>
+						</div>
 				</div> <!-- 分页 -->
 			</td>
 			<td class="text-center">
@@ -210,12 +224,22 @@
 		</tr>
 	</thead>
 	<tbody ng-repeat="order in $data track by order.id">
-		<tr class="order-hd" ng-dbclick="order.$collapsed=!order.$collapsed">
+		<tr class="order-hd" ng-dbclick="order.$collapsed=!order.$collapsed" ng-class="{'text-bold': order.display>0}">
 			<td class="first">
 				<div class="order-main">
 					<span> <input type="checkbox" class="selector"
 						ng-model="order.$selected" ng-click="checkOne(order)">
-					</span> <span class="text-num text-bold"
+					</span> 
+					<a href="javascript:void(0)" ng-if="!order.display" title="标记为未查看" ng-click="setDisplay('setUnRead', order.id)">
+						<i class="fa fa-circle-thin"></i>
+					</a>
+					<a href="javascript:void(0)" ng-if="order.display==1" title="标记为已查看" ng-click="setDisplay('setRead', order.id)">
+						<i class="fa fa-circle" style="color: #f40;"></i>
+					</a>
+					<a href="javascript:void(0)" ng-if="order.display>1" title="标记为已查看" ng-click="setDisplay('setRead', order.id)">
+						<i class="fa fa-tags" style="color: #f40;"></i>
+					</a>
+					&nbsp;&nbsp;<span class="text-num text-bold"
 						ng-bind="::order.date | date:'yyyy-MM-dd'"></span> <span>订单号:<a
 						class="text-num" ng-bind="::order.code" ui-sref="sale.order_detail({id:order.id})" target="_self"></a></span>
 				</div>
@@ -227,7 +251,7 @@
 			</td>
 			<td colspan="1" class="text-center">
 				<div class="operates">
-					<a ng-click="print(order)" class="text-muted" title="打印"><i
+					<a ng-click="print(order)" title="打印{{order.print? '(已打印)':'(未打印)'}}" ng-class="{'unPrinted' : !order.print, 'text-muted': order.print}"><i
 						class="fa fa-print fa-lg"></i></a> <a
 						ng-click="order.$collapsed=!order.$collapsed" class="text-muted"
 						title="收拢"><i class="fa fa-toggle-down fa-lg"></i></a>