Преглед изворни кода

采购变更增加详情,页面显示数据调整

hejq пре 7 година
родитељ
комит
b3db2873cd

+ 17 - 4
src/main/java/com/uas/platform/b2b/controller/PurcOrderChangeController.java

@@ -6,6 +6,7 @@ import com.uas.platform.b2b.model.PurchaseOrderChange;
 import com.uas.platform.b2b.model.SearchFilter;
 import com.uas.platform.b2b.model.SearchFilter;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.PurcOrderChangeService;
 import com.uas.platform.b2b.service.PurcOrderChangeService;
+import com.uas.platform.b2b.service.PurchaseOrderChangeService;
 import com.uas.platform.b2b.service.UserService;
 import com.uas.platform.b2b.service.UserService;
 import com.uas.platform.b2b.support.SPageUtils;
 import com.uas.platform.b2b.support.SPageUtils;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.SystemSession;
@@ -20,10 +21,7 @@ import com.uas.search.b2b.util.SearchConstants;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.ui.ModelMap;
 import org.springframework.ui.ModelMap;
 import org.springframework.util.StringUtils;
 import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
@@ -46,6 +44,9 @@ public class PurcOrderChangeController {
     @Autowired
     @Autowired
     private UserService userService;
     private UserService userService;
 
 
+    @Autowired
+    private PurchaseOrderChangeService purchaseOrderChangeService;
+
     /**
     /**
      * 查询可以做采购变更单的采购单
      * 查询可以做采购变更单的采购单
      *
      *
@@ -99,4 +100,16 @@ public class PurcOrderChangeController {
             return SPageUtils.covertSPage(orderChangeService.findByPageInfo(pageInfo, filter));
             return SPageUtils.covertSPage(orderChangeService.findByPageInfo(pageInfo, filter));
         }
         }
     }
     }
+
+    /**
+     * 作为买家,根据变更单ID查找采购变更单(含明细)
+     *
+     * @param id
+     * @return
+     */
+    @RequestMapping(value = "/{id}/info", method = RequestMethod.GET)
+    @ResponseBody
+    public PurchaseOrderChange findOrderChangeById(@PathVariable("id") Long id) {
+        return purchaseOrderChangeService.findById(id);
+    }
 }
 }

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

@@ -132,7 +132,11 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
             url: "/change",
             url: "/change",
             templateUrl: "static/tpl/index/purc/changeList.html",
             templateUrl: "static/tpl/index/purc/changeList.html",
             controller: 'PurcChangeListCtrl'
             controller: 'PurcChangeListCtrl'
-            /* 招标列表 */
+            /* 采购变更单详情 */
+        }).state('purc.change_detail', {
+            url: "/change/:id",
+            templateUrl: "static/tpl/index/purc/change_detail.html",
+            controller: 'PurcChangeDetailCtrl'
         }).state('purc.changeNew', {// 新增采购变更单
         }).state('purc.changeNew', {// 新增采购变更单
             url: "/change_new",
             url: "/change_new",
             templateUrl: "static/tpl/index/purc/change_new.html",
             templateUrl: "static/tpl/index/purc/change_new.html",
@@ -24054,6 +24058,10 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
             });
             });
         }
         }
 
 
+        $scope.getMinDate = function () {
+            return $filter('date')(new Date, 'yyyy-MM-dd');
+        };
+
         $scope.openDatePicker = function ($event, openParam, index) {
         $scope.openDatePicker = function ($event, openParam, index) {
             $event.preventDefault();
             $event.preventDefault();
             $event.stopPropagation();
             $event.stopPropagation();
@@ -24180,5 +24188,29 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
             };
             };
         }]);
         }]);
 
 
+    /**
+     * 采购变更单详情
+     */
+    app.controller('PurcChangeDetailCtrl', ['$scope', '$stateParams', 'change', 'toaster', 'CurrentRole',
+        function ($scope, $stateParams, change, toaster, CurrentRole) {
+        // 获取当前用户是否为普通用户
+        CurrentRole.isUser({}, {}, function (data) {
+            $scope.isUser = data.isUser;
+        });
+        var loadData = function () {
+            change.getItem({id: $stateParams.id}, function (data) {
+                $scope.change = data;
+            }, function (response) {
+                toaster.pop('error', '', response.data);
+            });
+        };
+        loadData();
+        $scope.openDatePicker = function ($event, item, openParam) {
+            $event.preventDefault();
+            $event.stopPropagation();
+            item[openParam] = !item[openParam];
+        };
+    }]);
+
     return app;
     return app;
 });
 });

+ 14 - 1
src/main/webapp/resources/js/index/services/PurcChange.js

@@ -37,9 +37,15 @@ define([ 'ngResource'], function() {
                     _state: 'unread'
                     _state: 'unread'
                 }
                 }
             },
             },
+            /**
+             * 查询符合条件的可以作为采购变更单的采购单信息
+             */
             getEnableOrderList: {
             getEnableOrderList: {
                 url: 'purc/change/enable/orderList'
                 url: 'purc/change/enable/orderList'
             },
             },
+            /**
+             * 保存采购变更单
+             */
             save: {
             save: {
                 method: 'POST',
                 method: 'POST',
                 url: 'purc/change/save',
                 url: 'purc/change/save',
@@ -47,7 +53,14 @@ define([ 'ngResource'], function() {
                 headers: {
                 headers: {
                     'Content-Type' : 'application/json;charset=UTF-8'
                     'Content-Type' : 'application/json;charset=UTF-8'
                 }
                 }
-            }
+            },
+            /**
+             * 查询采购变更单详情
+             */
+            getItem: {
+                url: 'purc/change/:id/info',
+                method: 'GET'
+            },
         })
         })
     }])
     }])
 });
 });

+ 4 - 9
src/main/webapp/resources/tpl/index/purc/changeList.html

@@ -108,7 +108,7 @@
 	<i></i>
 	<i></i>
 </div>
 </div>
 <div class="pub-com_head">
 <div class="pub-com_head">
-	<span>客户采购变更单</span>
+	<span>采购变更单</span>
 	<div class="p-right">
 	<div class="p-right">
 		<a ui-sref="purc.changeNew" type="button" title="新增采购变更单"><i class="fa fa-plus-square fa-fw"></i>新增</a>
 		<a ui-sref="purc.changeNew" type="button" title="新增采购变更单"><i class="fa fa-plus-square fa-fw"></i>新增</a>
 		<a href="#" ng-click="exportXls()" target="_self" class="text-simple" title="导出Excel表格"><i class="fa fa-file-text fa-fw"></i>导出</a>
 		<a href="#" ng-click="exportXls()" target="_self" class="text-simple" title="导出Excel表格"><i class="fa fa-file-text fa-fw"></i>导出</a>
@@ -239,14 +239,13 @@
 					</a>&nbsp;&nbsp;
 					</a>&nbsp;&nbsp;
 					<span class="text-num text-bold"
 					<span class="text-num text-bold"
 						ng-bind="::change.date | date:'yyyy-MM-dd'"></span>
 						ng-bind="::change.date | date:'yyyy-MM-dd'"></span>
-					<span
-							ng-bind="::change.enterprise.enName"></span>
+					<span ng-bind="::change.apVendorName"></span>
 					<span>流水号:<a title="查看变更单详情"
 					<span>流水号:<a title="查看变更单详情"
-						class="text-num order-detail" ng-bind="::change.code" ui-sref="sale.change_detail({id:change.id})" target="_self"
+						class="text-num order-detail" ng-bind="::change.code" ui-sref="purc.change_detail({id:change.id})" target="_self"
 						ng-click="setOrdersRead(change.id)"></a>
 						ng-click="setOrdersRead(change.id)"></a>
 					</span>
 					</span>
 					<span>订单:<a title="查看采购单详情"
 					<span>订单:<a title="查看采购单详情"
-						class="text-num text-bold order-detail" ng-bind="::change.orderCode" ui-sref="sale.order_detail({id:change.orderId})" target="_blank"></a></span>
+						class="text-num text-bold order-detail" ng-bind="::change.orderCode" ui-sref="purc.order_detail({id:change.orderId})" target="_blank"></a></span>
 				</div>
 				</div>
 			</td>
 			</td>
 			<td colspan="1" class="" style="line-height: 20px; padding-top: 5px;">
 			<td colspan="1" class="" style="line-height: 20px; padding-top: 5px;">
@@ -265,10 +264,6 @@
 				 	<span ng-class="{'text-inverse': change.newCurrency != change.oldCurrency}" ng-bind="::change.newCurrency"></span>&nbsp;
 				 	<span ng-class="{'text-inverse': change.newCurrency != change.oldCurrency}" ng-bind="::change.newCurrency"></span>&nbsp;
 				 	<s class="text-muted" ng-if="change.newCurrency != change.oldCurrency" ng-bind="::change.oldCurrency"></s>&nbsp;&nbsp;&nbsp;&nbsp;
 				 	<s class="text-muted" ng-if="change.newCurrency != change.oldCurrency" ng-bind="::change.oldCurrency"></s>&nbsp;&nbsp;&nbsp;&nbsp;
 				 </span>
 				 </span>
-				<!-- <span><span class="text-bold">汇率:</span>
-				 	<span ng-class="{'text-inverse': change.newRate != change.oldRate}" ng-bind="::change.newRate"></span>&nbsp;
-				 	<s class="text-muted" ng-if="change.newRate != change.oldRate" ng-bind="::change.order.rate"></s>&nbsp;&nbsp;&nbsp;&nbsp;
-				 </span>-->
 				 <span><span class="text-bold">支付方式:</span>
 				 <span><span class="text-bold">支付方式:</span>
 				 	<span ng-class="{'text-inverse': change.newPayments != change.oldPayments}" ng-bind="::change.newPayments"></span>&nbsp;
 				 	<span ng-class="{'text-inverse': change.newPayments != change.oldPayments}" ng-bind="::change.newPayments"></span>&nbsp;
 				 	<s class="text-muted" ng-if="change.newPayments != change.oldPayments" ng-bind="::change.oldPayments"></s>&nbsp;&nbsp;&nbsp;&nbsp;
 				 	<s class="text-muted" ng-if="change.newPayments != change.oldPayments" ng-bind="::change.oldPayments"></s>&nbsp;&nbsp;&nbsp;&nbsp;

+ 210 - 0
src/main/webapp/resources/tpl/index/purc/change_detail.html

@@ -0,0 +1,210 @@
+<style>
+	#order-detail-list .table-default .header th{
+		display: inline-block;
+	}
+</style>
+<div class="pane base-info" id="order-detail-list">
+	<div class="pub-com_head">
+		<span>客户采购变更单</span>
+		<div class="p-right">
+			<!-- <a href="#" class="pull-right text-simple"><i
+			class="fa fa-print fa-fw"></i>打印</a> -->
+		</div>
+	</div>
+	<div class="pane-body">
+		<div class="title-div" style="border-bottom: 1px dashed #3f84f6;">
+			<span class="f14">单据信息</span>&nbsp;
+		</div>
+		<div class="row row-sm item">
+			<div class="col-xs-3">
+				<span class="title">流水号</span>
+				<div class="content" ng-bind="::change.code"></div>
+			</div>
+			<div class="col-xs-3">
+				<span class="title">日期</span>
+				<div class="content" ng-bind="::change.date | date:'yyyy-MM-dd'"></div>
+			</div>
+			<div class="col-xs-6">
+				<span class="title">原供应商</span>
+				<div class="content" ng-bind="::change.apVendorName"></div>
+			</div>
+		</div>
+		<div class="row row-sm item">
+			<div class="col-xs-3">
+				<span class="title">录单人</span>
+				<div class="content" ng-bind="::change.recorder"></div>
+			</div>
+			<div class="col-xs-9">
+				<span class="title">备注</span>
+				<div class="content" ng-bind="::change.remark"></div>
+			</div>
+		</div>
+		<div class="title-div" style="border-bottom: 1px dashed #3f84f6;">
+			<span class="f14">原采购单</span>&nbsp;
+		</div>
+		<div class="row row-sm item">
+			<div class="col-xs-3">
+				<span class="title">采购单号</span>
+				<div class="content">
+					<a ng-bind="::change.orderCode"
+						ui-sref="purc.order_detail({id:change.orderId})" target="_blank"></a>
+				</div>
+			</div>
+		</div>
+		<div class="title-div" style="border-bottom: 1px dashed #3f84f6;">
+			<span class="f14">交易信息变更</span>&nbsp;
+		</div>
+		<div class="row row-sm item">
+			<div class="col-xs-3">
+				<span class="title">币别</span>
+				<div class="content">
+					<span ng-class="{'text-inverse': change.newCurrency != change.oldCurrency}"
+						ng-bind="::change.newCurrency"></span> 
+					<s ng-show="change.newCurrency != change.oldCurrency"
+						class="text-muted" ng-bind="::change.oldCurrency"></s>
+				</div>
+			</div>
+			<div class="col-xs-3">
+				<span class="title">汇率</span>
+				<div class="text-num content">
+					<span
+						ng-class="{'text-inverse': change.newRate != change.oldRate}"
+						ng-bind="::change.newRate"></span> <s
+						ng-show="change.newRate != change.oldRate" class="text-muted"
+						ng-bind="::change.oldRate"></s>
+				</div>
+			</div>
+			<div class="col-xs-6">
+				<span class="title">付款方式</span>
+				<div class="content">
+					<span ng-class="{'text-inverse': change.newPayments != change.oldPayments}"
+						ng-bind="::change.newPayments"></span> 
+					<s ng-show="change.newPayments != change.oldPayments"
+						class="text-muted" ng-bind="::change.oldPayments"></s>
+				</div>
+			</div>
+			<div class="col-xs-12">
+				<span class="title" ng-if="change.newApVendorName">应付供应商</span>
+				<div class="content">
+				 	<span ng-class="{'text-inverse': change.apVendorName != change.newApVendorName}" ng-bind="::change.newApVendorName"></span>&nbsp;
+				 	<s class="text-muted" ng-if="change.apVendorName != change.newApVendorName" ng-bind="::change.apVendorName"></s>
+				</div>
+			</div>
+		</div>
+		<div class="title-div" style="border-bottom: 1px dashed #3f84f6; position: relative;">
+			<span class="f14">产品变更详情</span>
+			<div class="end" ng-show="change.status == 200">
+				<a class="btn btn-sm btn-default"
+					ng-click="change.$editing=!change.$editing" ng-if="change.unNeedReply != 1"><i
+					class="fa fa-share fa-fw"></i>我要回复</a>
+			</div>
+		</div>
+		<div class="row row-sm item" ng-if="change.$editing" style="line-height: 20px; padding-top: 20px;">
+			<div class="col-xs-3">
+				<div class="form-group pull-right" ng-init="change.$agreed = 1">
+					<label class="radio-inline"> <input type="radio"
+						ng-model="change.$agreed" value="1"> 同意
+					</label> <label class="radio-inline"> <input type="radio"
+						ng-model="change.$agreed" value="0"> 不同意
+					</label>
+				</div>
+			</div>
+			<div class="col-xs-7">
+				<div class="form-group">
+					<input type="text" ng-model="change.replyRemark"
+						class="form-control input-xs" placeholder="回复备注">
+				</div>
+			</div>
+			<div class="col-xs-2">
+				<div class="btn-group btn-group-xs btn-group-justified">
+					<div class="btn-group btn-group-xs">
+						<button type="button" class="btn btn-info btn-line" ng-click="onReplyClick(change)">确认回复</button>
+					</div>
+					<div class="btn-group btn-group-xs">
+						<button type="button" class="btn btn-default btn-line" ng-click="change.$editing=!change.$editing">取消</button>
+					</div>
+				</div>
+			</div>
+		</div>
+		<div class="block">
+			<table class="block table table-default table-striped table-hover" style="margin-bottom: 0;">
+				<thead>
+				<tr class="header">
+					<th width="380">产品</th>
+					<th width="100">单价</th>
+					<th width="60">数量</th>
+					<th width="120">交货日期</th>
+					<th width="140">变更内容</th>
+					<th width="70">操作</th>
+				</tr>
+				</thead>
+			</table>
+			<table class="block table table-default table-striped table-hover" ng-class="{'scoroll':order.orderItems.length>10}">
+				<tbody>
+					<tr ng-repeat="item in change.orderChangeItems track by item.id">
+						<td width="380">
+							<div>
+								<span class="text-num text-bold" ng-class="{'text-inverse': item.oldProduct.code != item.newProduct.code}" ng-bind="::item.newProduct.code"></span><span class="text-muted">(型号)</span>
+								<span class="text-light">&nbsp;&nbsp;&nbsp;订单第 <span class="text-num">{{::item.orderItemNumber}}</span> 行</span>
+							</div>
+							<div ng-show="item.oldProduct.code != item.newProduct.code">
+								<s class="text-num text-bold"  ng-bind="::item.oldProduct.code"></s>
+							</div>
+							<div>
+								<span ng-class="{'text-inverse': item.oldProduct.title != item.newProduct.title}" ng-bind="::item.newProduct.title"></span><span class="text-muted">(名称)</span>
+							</div>
+							<div><s ng-show="item.oldProduct.title != item.newProduct.title" ng-bind="::item.oldProduct.title"></s></div>
+							<div>
+								<span ng-class="{'text-inverse': item.oldProduct.spec != item.newProduct.spec}" ng-bind="::item.newProduct.spec"></span><span class="text-muted">(规格)</span>
+							</div>
+							<div><s class="text-muted" ng-show="item.oldProduct.spec != item.newProduct.spec" ng-bind="::item.oldProduct.spec"></s></div>
+						</td>
+						<td class="text-center" width="100">
+							<div class="text-num" ng-if="!isUser"
+								ng-class="{'text-inverse': item.newPrice != item.oldPrice}"
+								title="{{item.newPrice}}" ng-bind="::item.newPrice | number:6"></div>
+							<div ng-if="isUser" ng-class="{'text-inverse': item.newPrice != item.oldPrice}">-</div>
+							<div ng-show="item.newPrice != item.oldPrice">
+								<s ng-if="!isUser" class="text-num text-muted" ng-bind="::item.oldPrice | number:6"></s>
+								<s ng-if="isUser" class="text-num text-muted" >-</s>
+							</div>
+							<div class="text-muted">
+								税率 <span class="text-num" ng-class="{'text-inverse': item.newTaxrate != item.oldTaxrate}">
+									{{::item.newTaxrate}}%
+								</span> <s ng-if="item.newTaxrate != item.oldTaxrate">{{::item.oldTaxrate}}%</s>
+							</div>
+						</td>
+						<td class="text-center" width="60">
+							<div class="text-num"
+								ng-class="{'text-inverse': item.newQty != item.oldQty}"
+								title="{{item.newQty}}" ng-bind="::item.newQty"></div>
+							<div ng-show="item.newQty != item.oldQty">
+								<s class="text-num text-muted" title="{{item.oldQty}}"
+									ng-bind="::item.oldQty"></s>
+							</div>
+							<div class="text-muted" ng-bind="::item.newProduct.unit"></div>
+						</td>
+						<td class="text-center" width="120">
+							<div class="text-num"
+								ng-class="{'text-inverse': item.newDelivery != item.oldDelivery}"
+								ng-bind="::item.newDelivery | date:'yyyy-MM-dd'" style="width: 100%"></div>
+							<div ng-show="item.newDelivery != item.oldDelivery">
+								<s class="text-num text-muted"
+									ng-bind="::item.oldDelivery | date:'yyyy-MM-dd'"></s>
+							</div>
+						</td>
+						<td colspan="2" width="210">
+							<div ng-bind="::item.description"></div>
+							<div ng-if="change.agreed == 1" class="block">
+								<span class="text-trans success">已同意</span>
+							</div>
+							<div ng-if="change.agreed == 0" class="block">
+								<span class="text-trans warning">不同意</span>
+							</div>
+						</td>
+					</tr>
+				</tbody>
+			</table>
+		</div>
+	</div>
+</div>

+ 1 - 1
src/main/webapp/resources/tpl/index/purc/change_new.html

@@ -138,7 +138,7 @@
     /*新增变更明细*/
     /*新增变更明细*/
 .purchase_xq {
 .purchase_xq {
     width: 948px;
     width: 948px;
-    overflow: scroll;
+    overflow: auto;
 }
 }
 .purchase_xq .table{
 .purchase_xq .table{
     margin-bottom: 0;
     margin-bottom: 0;