Просмотр исходного кода

单个发货单详情页

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@1357 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
suntg 10 лет назад
Родитель
Сommit
a7df19f8b7

+ 25 - 2
src/main/webapp/resources/js/index/app.js

@@ -125,6 +125,10 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
 			url : "/send",
 			templateUrl : "static/tpl/index/sale/send.html",
 			controller: 'SaleSendCtrl'
+		}).state('sale.send_detail', {
+			url : "/send/:id",
+			templateUrl : "static/tpl/index/sale/send_detail.html",
+			controller: 'SaleSendDetailCtrl'
 		}).state('sale.forecast', {
 			url : "/forecast",
 			templateUrl : "static/tpl/index/sale/forecast.html",
@@ -1652,7 +1656,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
 			count : 5,
 			sorting: {
                 'delivery': 'asc',
-                'orderItemOrderCode': 'asc',
+				'orderItemOrderCode': 'asc',
                 'orderItemNumber': 'asc'
             }
 		}, {
@@ -1964,6 +1968,25 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
 		
 	}]);
 	
+	app.controller('SaleSendDetailCtrl', ['$scope', '$stateParams', 'SaleSend', 'toaster', 'ReportService', function($scope, $stateParams, SaleSend, toaster, ReportService){
+		var loading = true;
+		var loadData = function() {
+			SaleSend.get({id: $stateParams.id}, function(data){
+				$scope.order = data;
+				var sum = 0;
+				angular.forEach(data.sendItems, function(value, key){
+					sum += value.price * value.qty;
+				});
+				data.total = sum;
+				$scope.loading = false;
+			}, function(response){
+				loading = false;
+				toaster.pop('error', '获取数据失败', response.data);
+			});
+		};
+		loadData();
+	}]);
+	
 	/**
 	 * 客户打样申请
 	 */
@@ -2907,7 +2930,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
 			var modalInstance = $modal.open({
 				animation :true,
 				templateUrl : 'static/tpl/index/account/addExistUser.html',
-				controller : 'AddExistUserCtrl',
+				controller : 'AddExistUserCtrl'
 			});
 			
 			modalInstance.result.then(function(){

+ 15 - 15
src/main/webapp/resources/tpl/index/sale/left.html

@@ -24,41 +24,41 @@
 </div> -->
 <div class="left-nav">
 	<div class="nav-label">
-		<i></i>销售管理
+		<i></i>报价管理
 	</div>
 	<ul class="list-unstyled">
-		<li ui-sref-active="active"><a ui-sref="sale.order">客户采购订单</a></li>
-		<li ui-sref-active="active"><a ui-sref="sale.change">客户采购变更单</a></li>
-		<li ui-sref-active="active"><a ui-sref="sale.forecast">客户采购预测单</a></li>
-		<li ui-sref-active="active"><a ui-sref="sale.notice">发货提醒</a></li>
+		<li ui-sref-active="active"><a ui-sref="sale.inquiry">客户询价管理</a></li>
+		<li ui-sref-active="active"><a ui-sref="sale.quotation.list">主动报价</a></li>
 	</ul>
 </div>
 <div class="left-nav">
 	<div class="nav-label">
-		<i></i>样品管理
+		<i></i>销售管理
 	</div>
 	<ul class="list-unstyled">
-		<li ui-sref-active="active"><a ui-sref="sale.sample">客户打样申请</a></li>
-		<li ui-sref-active="active"><a ui-sref="sale.approval">客户认定单</a></li>
+		<li ui-sref-active="active"><a ui-sref="sale.order">客户采购订单</a></li>
+		<li ui-sref-active="active"><a ui-sref="sale.change">客户采购变更单</a></li>
+		<li ui-sref-active="active"><a ui-sref="sale.forecast">客户采购预测单</a></li>
 	</ul>
 </div>
 <div class="left-nav">
 	<div class="nav-label">
-		<i></i>报价管理
+		<i></i>出货管理
 	</div>
 	<ul class="list-unstyled">
-		<li ui-sref-active="active"><a ui-sref="sale.inquiry">客户询价管理</a></li>
-		<li ui-sref-active="active"><a ui-sref="sale.quotation.list">主动报价</a></li>
+		<li ui-sref-active="active"><a ui-sref="sale.notice">发货提醒</a></li>
+		<li ui-sref-active="active"><a ui-sref="sale.send">发货单</a></li>
+		<li ui-sref-active="active"><a ui-sref="sale.accept">客户验收单</a></li>
+		<li ui-sref-active="active"><a ui-sref="sale.returns">客户退货单</a></li>
 	</ul>
 </div>
 <div class="left-nav">
 	<div class="nav-label">
-		<i></i>出货管理
+		<i></i>样品管理
 	</div>
 	<ul class="list-unstyled">
-		<li ui-sref-active="active"><a ui-sref="sale.send">发货单</a></li>
-		<li ui-sref-active="active"><a ui-sref="sale.accept">客户验收单</a></li>
-		<li ui-sref-active="active"><a ui-sref="sale.returns">客户退货单</a></li>
+		<li ui-sref-active="active"><a ui-sref="sale.sample">客户打样申请</a></li>
+		<li ui-sref-active="active"><a ui-sref="sale.approval">客户认定单</a></li>
 	</ul>
 </div>
 <!-- <div class="left-nav">

+ 20 - 0
src/main/webapp/resources/tpl/index/sale/order.html

@@ -92,6 +92,25 @@
 	padding-left: 20px;
 }
 
+.order-table .order-bd .order-number {
+	position: absolute;
+	top: -1px;
+	left: -1px;
+	width: 20px;
+	height: 20px;
+	line-height: 20px;
+	text-align: center;
+	background: #f5f5f5;
+	font-weight: 500;
+	border: solid 1px #d5d5d5;
+	border-radius: 0 0 10px 0;
+}
+
+.order-table .order-bd .order-number.key {
+	background: #56a022;
+	color: #ffffff;
+}
+
 .unPrinted {
 	color: #56a022;
 }
@@ -316,6 +335,7 @@
 		<tr class="order-bd" ng-repeat="item in order.orderItems track by item.id"
 			ng-if="!order.$collapsed && (!keywordXls || item.key || order.$showAll)">
 			<td class="product">
+				<div class="text-num order-number" ng-class="{'key': item.key&&order.$showAll}" title="第{{::item.number}}行">{{::item.number}}</div>
 				<div class="text-num text-bold">
 					<span ng-bind="::item.product.code"></span>
 				</div>

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

@@ -2,7 +2,7 @@
 	<i></i>
 </div>
 <div class="pane base-info">
-	<div class="pane-header">
+	<div class="pane-header f16">
 		客户采购单<a ng-click="print(order)" class="pull-right text-simple"><i
 			class="fa fa-print fa-fw"></i>打印</a>
 	</div>

+ 9 - 9
src/main/webapp/resources/tpl/index/sale/send.html

@@ -206,16 +206,16 @@
 	<thead>
 		<tr class="header">
 			<th>商品</th>
-			<th colspan="2">商品价格</th>
+			<th width="170px">商品价格</th>
 			<th width="120">发货数量</th>
 			<th width="140">单据信息</th>
 			<th width="70">操作</th>
 		</tr>
 		<tr class="sep-row">
-			<td colspan="6"></td>
+			<td colspan="5"></td>
 		</tr>
 		<tr class="toolbar toolbar-top">
-			<td colspan="5">
+			<td colspan="4">
 				<div>
 					<label><input ng-disabled="true" type="checkbox" class="selector select_all"
 						ng-model="selectAll">全选</label> <a ng-disabled="true" href="javascript:void(0)"
@@ -227,7 +227,7 @@
 			</td>
 		</tr>
 		<tr class="sep-row">
-			<td colspan="6"></td>
+			<td colspan="5"></td>
 		</tr>
 	</thead>
 	<tbody ng-repeat="send in $data">
@@ -237,11 +237,11 @@
 					<span> <input type="checkbox" class="selector"
 						ng-model="send.$selected">
 					</span> <span class="text-num text-bold" title="{{::send.date | date: 'yyyy年MM月dd日 hh:mm'}}"
-						ng-bind="send.date | date:'yyyy-MM-dd'"></span> <span>发货单号:<span
-						class="text-num" ng-bind="::send.code"></span></span>
+						ng-bind="send.date | date:'yyyy-MM-dd'"></span> <span>发货单号:<a
+						class="text-num" ng-bind="::send.code" ui-sref="sale.send_detail({id:send.id})"></a></span>
 				</div>
 			</td>
-			<td colspan="3"><span title="客户名称"
+			<td colspan="2"><span title="客户名称"
 				ng-bind="::send.sendItems[0].orderItem.order.enterprise.enName"></span></td>
 			<td colspan="1" class="order-sum">
 				<span ng-if="send.recorder != null" title="录入人"> <i style="color: #339999;" class="fa fa-user"></i> <span ng-bind="::send.recorder"></span></span>
@@ -255,7 +255,7 @@
 			</td>
 		</tr>
 		<tr class="order-hd" ng-if="send.sendItems[0].orderItem.order.shipAddress">
-			<td colspan="6" class="order-info">
+			<td colspan="5" class="order-info">
 				 <span><span class="text-bold">收货地址:</span>
 				 	<span ng-bind="::send.sendItems[0].orderItem.order.shipAddress"></span>
 				 </span>
@@ -275,7 +275,7 @@
 				<div class="text-muted" title="{{::item.orderItem.product.spec}}"
 					ng-bind="::item.orderItem.product.spec"></div>
 			</td>
-			<td class="text-right" colspan="2">
+			<td class="text-right">
 				<div class="text-num">
 					<span ng-bind="::currency(send.currency)"></span>
 					<span ng-bind="::item.price | number:6"></span>

+ 142 - 0
src/main/webapp/resources/tpl/index/sale/send_detail.html

@@ -0,0 +1,142 @@
+<div class="loading" ng-class="{'in': loading}">
+	<i></i>
+</div>
+<div class="pane base-info">
+	<div class="pane-header f16">
+		发货单<a ng-click="print(order)" class="pull-right text-simple"><i
+			class="fa fa-print fa-fw"></i>打印</a>
+	</div>
+	<div class="pane-body">
+		<div class="headerline">
+			<span class="index">1</span> <span class="content">单据资料</span>
+		</div>
+		<div class="row row-sm item">
+			<div class="col-xs-3">
+				<span class="title">发货单号</span>
+				<div class="content" ng-bind="::order.code"></div>
+			</div>
+			<div class="col-xs-3">
+				<span class="title">发货日期</span>
+				<div class="content" ng-bind="::order.date | date:'yyyy-MM-dd HH:mm:ss'"></div>
+			</div>
+		</div>
+		<div class="row row-sm item">
+			<div class="col-xs-3">
+				<span class="title">录单人</span>
+				<div class="content" ng-bind="::order.recorder"></div>
+			</div>
+			<div class="col-xs-6">
+				<span class="title">客户</span>
+				<div class="content" ng-bind="::order.sendItems[0].orderItem.order.enterprise.enName"></div>
+			</div>
+		</div>
+		<div class="headerline">
+			<span class="index">2</span> <span class="content">交易信息</span>
+		</div>
+		<div class="row row-sm item">
+			<div class="col-xs-3">
+				<span class="title">币别</span>
+				<div class="content" ng-bind="::order.currency"></div>
+			</div>
+			<div class="col-xs-3">
+				<span class="title">汇率</span>
+				<div class="content" ng-bind="::order.rate"></div>
+			</div>
+			<div class="col-xs-6">
+				<span class="title">付款方式</span>
+				<div class="content" ng-bind="::order.payments"></div>
+			</div>
+		</div>
+		<div class="row row-sm item">
+			<div class="col-xs-3">
+				<span class="title">金额</span>
+				<div class="content" ng-bind="::order.total | number:6"></div>
+			</div>
+			<div class="col-xs-9">
+				<span class="title">交货地址</span>
+				<div class="content" ng-bind="::order.sendItems[0].orderItem.order.shipAddress"></div>
+			</div>
+		</div>
+		<div class="row row-sm item" ng-if="order.remark">
+			<div class="col-xs-12">
+				<span class="title">备注</span>
+				<div class="content" ng-bind="::order.remark"></div>
+			</div>
+		</div>
+		<div class="headerline">
+			<span class="index">3</span> <span class="content">商品清单</span>
+		</div>
+		<div class="block">
+			<table class="block table table-default table-striped table-hover">
+				<thead>
+					<tr class="header">
+						<th width="50" class="br-r">行号</th>
+						<th>商品</th>
+						<th width="80">单价</th>
+						<th width="140">发货数量</th>
+						<th width="150">收料信息</th>
+						<th width="180">订单信息</th>
+					</tr>
+				</thead>
+				<tbody>
+					<tr ng-repeat="item in order.sendItems track by item.id">
+						<td class="text-center text-num text-bold f-16 text-success br-r">
+							<span ng-bind="::item.number"></span>
+						</td>
+						<td>
+							<div class="text-num text-bold">
+								<span ng-bind="::item.orderItem.product.code"></span>
+							</div>
+							<div>
+								<span ng-bind="::item.orderItem.product.title"></span>
+							</div>
+							<div class="text-muted" ng-bind="::item.orderItem.product.spec"></div>
+						</td>
+						<td class="text-center">
+							<div class="text-num f14" ng-bind="::item.orderItem.price | number:6"></div>
+							<div class="text-muted">税率:{{::item.orderItem.taxrate || 0}}%</div>
+						</td>
+						<td class="text-center">
+							<div class="text-num f14" ng-bind="::item.qty"></div>
+							<div class="text-muted" ng-bind="::item.orderItem.product.unit"></div>
+							<div><code ng-if="item.replyRemark"><i class="fa fa-fw fa-warning"></i><span ng-bind="::item.replyRemark"></span></code></div>
+						</td>
+						<td class="text-center">
+							<div ng-if="!item.verifyQty" class="text-muted">客户还未收料</div>
+							<div ng-if="item.verifyQty" class="dropdown text-center">
+								<a href="javascript:void(0);" class="dropdown-toggle text-default">客户已收料{{::item.verifyQty}}{{::item.orderItem.product.unit}}<i class="fa fa-fw fa-angle-down"></i></a>
+								<div class="dropdown-menu pane" style="width: 300px;">
+									<div class="pane-body">
+										<ul class="list-unstyled list-menu">
+											<li ng-repeat="verify in item.verifies">
+												<div class="row row-sm">
+													<div class="col-xs-6">{{::verify.code}}</div>
+													<div class="col-xs-6">检验员:{{::verify.testman}}</div>
+												</div>
+												<div class="row row-sm">
+													<div class="col-xs-4">检验:{{::verify.qty}}</div>
+													<div class="col-xs-4">合格:{{::verify.okQty || 0}}</div>
+													<div class="col-xs-4">不合格:{{::verify.notokQty || 0}}</div>
+												</div>
+												<div class="text-right text-muted">
+													{{::verify.date | date:'MM月dd日 HH:mm:ss'}}
+												</div>
+											</li>
+										</ul>
+									</div>
+								</div>
+							</div>
+						</td>
+						<td class="text-muted">
+							<div>单据编号:<a href="#/sale/order/{{::item.orderItem.order.id}}" ng-bind="::item.orderItem.order.code"></a></div>
+							<div>
+								第 <span ng-bind="::item.orderItem.number"></span> 行
+								&nbsp;&nbsp;&nbsp;&nbsp;数量:<span ng-bind="::item.orderItem.qty"></span>
+							</div>
+						</td>
+					</tr>
+				</tbody>
+			</table>
+		</div>
+	</div>
+</div>