Browse Source

feat(saleOrder,purcOrder,notice):帝显替代物料展示

Hu Jie 7 years ago
parent
commit
81bd480220

+ 42 - 0
src/main/java/com/uas/platform/b2b/model/PurchaseOrderAllItem.java

@@ -265,6 +265,24 @@ public class PurchaseOrderAllItem extends AbstractRedDotKey {
 	@Column(name = "pd_orispeccode")
 	private String oriSpecCode;
 
+	/**
+	 * 替代料号
+	 */
+	@Column(name = "pd_repprodcode")
+	private String repProdCode;
+
+	/**
+	 * 替代料名称
+	 */
+	@Column(name = "pd_repprodtitle")
+	private String repProdTitle;
+
+	/**
+	 * 替代料规格
+	 */
+	@Column(name = "pd_repprodspec")
+	private String repProdSpec;
+
 	/**
 	 * 是否在变更中
 	 */
@@ -277,6 +295,30 @@ public class PurchaseOrderAllItem extends AbstractRedDotKey {
 	@Transient
 	private Double latestReplyQty;
 
+	public String getRepProdCode() {
+		return repProdCode;
+	}
+
+	public void setRepProdCode(String repProdCode) {
+		this.repProdCode = repProdCode;
+	}
+
+	public String getRepProdTitle() {
+		return repProdTitle;
+	}
+
+	public void setRepProdTitle(String repProdTitle) {
+		this.repProdTitle = repProdTitle;
+	}
+
+	public String getRepProdSpec() {
+		return repProdSpec;
+	}
+
+	public void setRepProdSpec(String repProdSpec) {
+		this.repProdSpec = repProdSpec;
+	}
+
 	public String getTaxCode() {
 		return taxCode;
 	}

+ 42 - 0
src/main/java/com/uas/platform/b2b/model/PurchaseOrderDoneItem.java

@@ -188,6 +188,24 @@ public class PurchaseOrderDoneItem extends AbstractOrderProduct {
 	 */
 	@Column(name = "pd_acceptcustaddress")
 	private  String acceptCustAddress;
+	/**
+	 * 替代料号
+	 */
+	@Column(name = "pd_repprodcode")
+	private String repProdCode;
+
+	/**
+	 * 替代料名称
+	 */
+	@Column(name = "pd_repprodtitle")
+	private String repProdTitle;
+
+	/**
+	 * 替代料规格
+	 */
+	@Column(name = "pd_repprodspec")
+	private String repProdSpec;
+
 
 	/**
 	 * 最后一次回复数量
@@ -195,6 +213,30 @@ public class PurchaseOrderDoneItem extends AbstractOrderProduct {
 	@Transient
 	private Double latestReplyQty;
 
+	public String getRepProdCode() {
+		return repProdCode;
+	}
+
+	public void setRepProdCode(String repProdCode) {
+		this.repProdCode = repProdCode;
+	}
+
+	public String getRepProdTitle() {
+		return repProdTitle;
+	}
+
+	public void setRepProdTitle(String repProdTitle) {
+		this.repProdTitle = repProdTitle;
+	}
+
+	public String getRepProdSpec() {
+		return repProdSpec;
+	}
+
+	public void setRepProdSpec(String repProdSpec) {
+		this.repProdSpec = repProdSpec;
+	}
+
 	public Long getId() {
 		return id;
 	}

+ 42 - 0
src/main/java/com/uas/platform/b2b/model/PurchaseOrderEnd.java

@@ -215,6 +215,48 @@ public class PurchaseOrderEnd {
 	@Column(name = "pu_custname")
 	private String custName; // 客户名称。
 
+	/**
+	 * 替代料号
+	 */
+	@Column(name = "pd_repprodcode")
+	private String repProdCode;
+
+	/**
+	 * 替代料名称
+	 */
+	@Column(name = "pd_repprodtitle")
+	private String repProdTitle;
+
+	/**
+	 * 替代料规格
+	 */
+	@Column(name = "pd_repprodspec")
+	private String repProdSpec;
+
+	public String getRepProdCode() {
+		return repProdCode;
+	}
+
+	public void setRepProdCode(String repProdCode) {
+		this.repProdCode = repProdCode;
+	}
+
+	public String getRepProdTitle() {
+		return repProdTitle;
+	}
+
+	public void setRepProdTitle(String repProdTitle) {
+		this.repProdTitle = repProdTitle;
+	}
+
+	public String getRepProdSpec() {
+		return repProdSpec;
+	}
+
+	public void setRepProdSpec(String repProdSpec) {
+		this.repProdSpec = repProdSpec;
+	}
+
 	public String getPurpose() {
 		return purpose;
 	}

+ 42 - 0
src/main/java/com/uas/platform/b2b/model/PurchaseOrderItem.java

@@ -210,6 +210,48 @@ public class PurchaseOrderItem extends AbstractRedDotKey {
 	@Column(name = "pd_acceptcustaddress")
 	private  String acceptCustAddress;
 
+	/**
+	 * 替代料号
+	 */
+	@Column(name = "pd_repprodcode")
+	private String repProdCode;
+
+	/**
+	 * 替代料名称
+	 */
+	@Column(name = "pd_repprodtitle")
+	private String repProdTitle;
+
+	/**
+	 * 替代料规格
+	 */
+	@Column(name = "pd_repprodspec")
+	private String repProdSpec;
+
+	public String getRepProdCode() {
+		return repProdCode;
+	}
+
+	public void setRepProdCode(String repProdCode) {
+		this.repProdCode = repProdCode;
+	}
+
+	public String getRepProdTitle() {
+		return repProdTitle;
+	}
+
+	public void setRepProdTitle(String repProdTitle) {
+		this.repProdTitle = repProdTitle;
+	}
+
+	public String getRepProdSpec() {
+		return repProdSpec;
+	}
+
+	public void setRepProdSpec(String repProdSpec) {
+		this.repProdSpec = repProdSpec;
+	}
+
 	public Long getId() {
 		return id;
 	}

+ 41 - 0
src/main/java/com/uas/platform/b2b/model/PurchaseOrderTodoItem.java

@@ -178,6 +178,23 @@ public class PurchaseOrderTodoItem extends AbstractOrderProduct {
 	 */
 	@Column(name = "pd_acceptcustaddress")
 	private  String acceptCustAddress;
+	/**
+	 * 替代料号
+	 */
+	@Column(name = "pd_repprodcode")
+	private String repProdCode;
+
+	/**
+	 * 替代料名称
+	 */
+	@Column(name = "pd_repprodtitle")
+	private String repProdTitle;
+
+	/**
+	 * 替代料规格
+	 */
+	@Column(name = "pd_repprodspec")
+	private String repProdSpec;
 
     /**
      * 最后一次回复数量
@@ -185,6 +202,30 @@ public class PurchaseOrderTodoItem extends AbstractOrderProduct {
 	@Transient
 	private Double latestReplyQty;
 
+	public String getRepProdCode() {
+		return repProdCode;
+	}
+
+	public void setRepProdCode(String repProdCode) {
+		this.repProdCode = repProdCode;
+	}
+
+	public String getRepProdTitle() {
+		return repProdTitle;
+	}
+
+	public void setRepProdTitle(String repProdTitle) {
+		this.repProdTitle = repProdTitle;
+	}
+
+	public String getRepProdSpec() {
+		return repProdSpec;
+	}
+
+	public void setRepProdSpec(String repProdSpec) {
+		this.repProdSpec = repProdSpec;
+	}
+
 	public String getPurcVendName() {
 		return purcVendName;
 	}

+ 41 - 0
src/main/java/com/uas/platform/b2b/model/PurchaseOrderWaitingItem.java

@@ -187,6 +187,23 @@ public class PurchaseOrderWaitingItem extends AbstractOrderProduct {
 	 */
 	@Column(name = "pd_acceptcustaddress")
 	private  String acceptCustAddress;
+	/**
+	 * 替代料号
+	 */
+	@Column(name = "pd_repprodcode")
+	private String repProdCode;
+
+	/**
+	 * 替代料名称
+	 */
+	@Column(name = "pd_repprodtitle")
+	private String repProdTitle;
+
+	/**
+	 * 替代料规格
+	 */
+	@Column(name = "pd_repprodspec")
+	private String repProdSpec;
 
 	/**
 	 * 关键词查询相关
@@ -200,6 +217,30 @@ public class PurchaseOrderWaitingItem extends AbstractOrderProduct {
 	@Transient
 	private Double latestReplyQty;
 
+	public String getRepProdCode() {
+		return repProdCode;
+	}
+
+	public void setRepProdCode(String repProdCode) {
+		this.repProdCode = repProdCode;
+	}
+
+	public String getRepProdTitle() {
+		return repProdTitle;
+	}
+
+	public void setRepProdTitle(String repProdTitle) {
+		this.repProdTitle = repProdTitle;
+	}
+
+	public String getRepProdSpec() {
+		return repProdSpec;
+	}
+
+	public void setRepProdSpec(String repProdSpec) {
+		this.repProdSpec = repProdSpec;
+	}
+
 	public Long getId() {
 		return id;
 	}

+ 33 - 7
src/main/webapp/resources/tpl/index/purc/order.html

@@ -160,7 +160,7 @@
 	top: -2px;
 }
 	.order-table .product div.text-over {
-		width: 340px;
+		width: 300px;
 		white-space: nowrap;
 		text-overflow: ellipsis;
 		overflow: hidden;
@@ -179,7 +179,7 @@
 .order-table .product div.text-overflow span{
 	float: left;
 	display: inline-block;
-	width: 340px;
+	width: 300px;
 	white-space: nowrap;
 	text-overflow: ellipsis;
 	overflow: hidden;
@@ -305,18 +305,19 @@
 <table class="order-table block" ng-table="tableParams">
 	<thead>
 		<tr class="header">
-			<th>物料</th>
+			<th width="200">物料</th>
+			<th width="130"></th>
 			<th width="80">含税单价</th>
 			<th width="100">税率</th>
 			<th width="100">数量</th>
-			<th width="120">交货日期</th>
+			<th width="130">交货日期</th>
 			<th width="180">单据状态</th>
 			<th width="120">供应商</th>
 		</tr>
 	</thead>
 	<tbody ng-if="tableParams.total() == 0">
 	<tr>
-		<td colspan="7">
+		<td colspan="8">
 			<div id="empty">
 				<div class="left_img">
 					<a href="http://www.usoftchina.com/" target="_blank" title="优软云首页"><img src="static/img/empty/uas_empty.png"></a>
@@ -329,7 +330,7 @@
 		</td>
 	</tr>
 	<tr>
-		<td colspan="7">
+		<td colspan="8">
 			<div id="empty_info">
 				<div class="f16 text-center empty_title">
 					<p>为什么我没有采购订单?</p>
@@ -354,7 +355,7 @@
 	</tbody>
 	<tbody ng-repeat="order in $data track by order.id">
 		<tr class="order-hd" ng-dblclick="order.$collapsed=!order.$collapsed" ng-class="{'text-bold': order.display>0}">
-			<td class="first" colspan="5">
+			<td class="first" colspan="6">
 				<div class="order-main">
 					<a href="javascript:void(0)" ng-if="!isUnread(order.id)">
 						<i class="fa fa-circle-thin"></i>
@@ -405,6 +406,31 @@
 				<div class="text-bold text-inverse text-flow" ng-if="item.factory" title="{{item.factory}}"><b>送货工厂:</b><span ng-bind="::item.factory"></span></div>
 				<div class="text-bold text-inverse text-flow" ng-if="item.remark" title="{{item.remark}}"><b>备注:</b><span ng-bind="::item.remark"></span></div>
 			</td>
+			<td class="text-center">
+				<div ng-if="item.repProdCode" class="dropdown">
+					<a href="javascript:void(0);" class="dropdown-toggle text-default"
+					   ng-mouseover="getRepProd(item)">替代物料<i class="fa fa-fw fa-angle-down"></i></a>
+					<div class="dropdown-menu pane" style="width: 270px;">
+						<div class="pane-body">
+							<ul class="list-unstyled list-menu">
+								<li >
+									<div class="text-muted" ng-if="item.repProdCode != null">
+										<div class="text-bold text-inverse text-flow">替代料号:</div>{{::item.repProdCode}}
+									</div>
+								</li>
+								<li >
+									<div class="text-muted" ng-if="item.repProdTitle != null">
+										<div class="text-bold text-inverse text-flow">替代料名称:</div>{{::item.repProdTitle}}</div>
+								</li>
+								<li >
+									<div class="text-muted" ng-if="item.repProdSpec != null">
+										<div class="text-bold text-inverse text-flow">替代料规格:</div>{{::item.repProdSpec}}</div>
+								</li>
+							</ul>
+						</div>
+					</div>
+				</div>
+			</td>
 			<td class="text-center">
 				<div ng-if="!isUser" class="text-num" ng-bind="::item.price | number:6"></div>
 			</td>

+ 29 - 3
src/main/webapp/resources/tpl/index/sale/notice.html

@@ -295,6 +295,7 @@
         <thead>
         <tr class="header">
             <th width="200">产品</th>
+            <th width="120"></th>
             <th width="150">备注</th>
             <th width="200">数量</th>
             <th width="140">价格</th>
@@ -302,7 +303,7 @@
             <th width="100">操作</th>
         </tr>
         <tr class="sep-row">
-            <td colspan="6"></td>
+            <td colspan="7"></td>
         </tr>
         <tr class="toolbar toolbar-top">
             <td colspan="5">
@@ -322,12 +323,12 @@
             </td>
         </tr>
         <tr class="sep-row">
-            <td colspan="6"></td>
+            <td colspan="7"></td>
         </tr>
         </thead>
         <tbody ng-repeat="notice in $data track by notice.id">
         <tr class="order-hd">
-            <td class="first" colspan="3">
+            <td class="first" colspan="4">
                 <div class="order-main">
 					<span> <input type="checkbox" ng-disabled="notice.waiting" class="selector"
                               ng-model="notice.$selected" ng-click="checkOne(notice)">
@@ -390,6 +391,31 @@
                 <div class="text-bold text-inverse" ng-if="notice.orderItem.acceptCustName">收货客户:<span
                         ng-bind="::notice.orderItem.acceptCustName"></span></div>
             </td>
+            <td class="text-center">
+                <div ng-if="notice.orderItem.repProdCode" class="dropdown">
+                    <a href="javascript:void(0);" class="dropdown-toggle text-default"
+                       ng-mouseover="getRepProd(notice.orderItem)">替代物料<i class="fa fa-fw fa-angle-down"></i></a>
+                    <div class="dropdown-menu pane" style="width: 270px;">
+                        <div class="pane-body">
+                            <ul class="list-unstyled list-menu">
+                                <li >
+                                    <div class="text-muted" ng-if="notice.orderItem.repProdCode != null">
+                                        <div class="text-bold text-inverse text-flow">替代料号:</div>{{::notice.orderItem.repProdCode}}
+                                    </div>
+                                </li>
+                                <li >
+                                    <div class="text-muted" ng-if="notice.orderItem.repProdTitle != null">
+                                        <div class="text-bold text-inverse text-flow">替代料名称:</div>{{::notice.orderItem.repProdTitle}}</div>
+                                </li>
+                                <li >
+                                    <div class="text-muted" ng-if="notice.orderItem.repProdSpec != null">
+                                        <div class="text-bold text-inverse text-flow">替代料规格:</div>{{::notice.orderItem.repProdSpec}}</div>
+                                </li>
+                            </ul>
+                        </div>
+                    </div>
+                </div>
+            </td>
             <td class="text-center">
                 <div ng-show="!notice.$editing">{{notice.remark}}</div>
                 <div ng-if="notice.$editing">

+ 33 - 76
src/main/webapp/resources/tpl/index/sale/order.html

@@ -215,56 +215,6 @@
 					</div>
 				</div>
 			</div>
-			<!--<div class="col-xs-5">
-				<div class="search">
-					<div class="form-group form-group-sm has-feedback" dropdown auto-close="outsideClick" on-toggle="searchAdvance=open">
-						<input type="search" class="form-control input-sm" ng-model="keyword" ng-search="onSearch()" placeholder="输入商品、客户名称或单据流水号搜索" />
-						<div class="search-advance text-link" ng-class="{'active': searchAdvance}" dropdown-toggle>高级搜索</div>
-						<div id="searchContainer" class="dropdown-menu">
-							&lt;!&ndash; <div class="block">
-								<form action="" class="form-horizontal">
-									<div class="form-group">
-										<label for="" class="col-xs-3 text-right control-label">关键词:</label>
-										<div class="col-xs-6"><input type="text" class="form-control" /></div>
-									</div>
-									<div class="form-group">
-										<label for="" class="col-xs-3 text-right control-label">交货日期:</label>
-										<div class="col-xs-6"><input type="text" class="form-control" /></div>
-									</div>
-									<div class="form-group">
-										<label for="orderDate" class="col-xs-3 text-right control-label">订单日期:</label>
-										<div class="col-xs-6"><input id="orderDate" type="text" class="form-control" /></div>
-									</div>
-									<div class="form-group">
-										<label for="" class="col-xs-3 text-right control-label">单价:</label>
-										<div class="col-xs-6"><input type="text" class="form-control" /></div>
-									</div>
-									<div class="form-group">
-										<label for="" class="col-xs-3 text-right control-label">
-											金额:
-										</label>
-										<div class="col-xs-6"><input type="text" class="form-control" /></div>
-									</div>
-									<div class="form-group">
-										<div for="" class="col-xs-12 text-right">
-											<button class="btn btn-info btn-xs">确定</button>
-										</div>
-									</div>
-								</form>
-							</div> &ndash;&gt;
-						</div>
-						<span class="form-control-feedback text-simple"><i class="fa fa-search"></i></span>
-					</div>
-				</div>
-			</div>
-			<div class="col-xs-1">
-				<div class="text-default f14 total">
-					共 <span ng-bind="tableParams.total()" class="text-num"></span>
-				</div>
-			</div>
-			<div class="col-xs-2 toggle">
-				<a ng-click="condition.$open=!condition.$open" class="text-simple"><span ng-bind="condition.$open ? '简化筛选条件' : '更多筛选条件'"></span><i class="fa fa-fw" ng-class="{'fa-angle-up': condition.$open, 'fa-angle-down': !condition.$open}"></i></a>
-			</div>-->
 		</div>
 	</div>
 <!--<div class="height10">&nbsp;</div>-->
@@ -337,7 +287,8 @@
 <table class="order-table block" ng-table="tableParams">
 	<thead>
 		<tr class="header">
-			<th width="400">产品</th>
+			<th width="300">产品</th>
+			<th width="120"></th>
 			<th width="100">单价</th>
 			<th width="100">数量</th>
 			<th width="120">交货日期</th>
@@ -345,7 +296,7 @@
 			<th width="100">操作</th>
 		</tr>
 		<tr class="sep-row">
-			<td colspan="6"></td>
+			<td colspan="7"></td>
 		</tr>
 		<tr class="toolbar toolbar-top">
 			<td colspan="5">
@@ -353,16 +304,6 @@
 					<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();setOrdersReadByBatch()" title="选中的单据按照客户需求的数量和交期默认回复">&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>-->
 						<span class="text-muted">
 							&nbsp;&nbsp;<i class="fa fa-exclamation-triangle"></i> 批量回复是对选中的单据按照满足客户需求的数量和交期默认回复。
 						</span>
@@ -373,12 +314,12 @@
 			</td>
 		</tr>
 		<tr class="sep-row">
-			<td colspan="6"></td>
+			<td colspan="7"></td>
 		</tr>
 	</thead>
 	<tbody ng-if="tableParams.total() == 0">
 	<tr>
-		<td colspan="6">
+		<td colspan="7">
 			<div id="empty">
 				<div class="left_img">
 					<a href="http://www.usoftchina.com/" target="_blank" title="优软云首页"><img src="static/img/empty/uas_empty.png"></a>
@@ -391,7 +332,7 @@
 		</td>
 	</tr>
 		<tr>
-			<td colspan="6">
+			<td colspan="7">
 				<div id="empty_info">
 					<div class="f16 text-center empty_title">
 						<p>为什么我没有接收到客户的采购订单?</p>
@@ -436,11 +377,11 @@
 					<span>订单号:<a class="text-num order-detail" ng-bind="::order.code" ui-sref="sale.order_detail({id:order.id})" target="_self" title="查看详情" ng-click="setOrdersRead(order.id)"></a></span>
 				</div>
 			</td>
-			<td ng-if="!isUser" colspan="1" class="order-sum">{{::order.currency}}: <span
+			<td ng-if="!isUser" colspan="2" class="order-sum">{{::order.currency}}: <span
 				ng-bind="getOrderTotal(order.orderItems) | number : 2"
 				class="text-num text-bold"></span>
 			</td>
-			<td ng-if="isUser" colspan="1" class="order-sum"></td>
+			<td ng-if="isUser" colspan="2" class="order-sum"></td>
 			<td colspan="1" class="text-center">
 				<span ng-if="order.print" class="label ng-scope operates-status" style="margin-right: 5px;background-color: #5D6C79">已打印</span>
 				<span ng-if="!order.print" class="label ng-scope operates-status" style="margin-right: 5px;background-color: #CA3955">未打印</span>
@@ -472,6 +413,31 @@
 				<div class="text-bold text-inverse text-flow" ng-if="item.factory" title="{{item.factory}}"><b>送货工厂:</b><span ng-bind="::item.factory"></span></div>
 				<div class="text-bold text-inverse text-flow" ng-if="item.remark" title="{{item.remark}}"><b>备注:</b><span ng-bind="::item.remark"></span></div>
 			</td>
+			<td class="text-center">
+				<div ng-if="item.repProdCode" class="dropdown">
+					<a href="javascript:void(0);" class="dropdown-toggle text-default"
+					   ng-mouseover="getRepProd(item)">替代物料<i class="fa fa-fw fa-angle-down"></i></a>
+					<div class="dropdown-menu pane" style="width: 270px;">
+						<div class="pane-body">
+							<ul class="list-unstyled list-menu">
+								<li >
+									<div class="text-muted" ng-if="item.repProdCode != null">
+										<div class="text-bold text-inverse text-flow">替代料号:</div>{{::item.repProdCode}}
+									</div>
+								</li>
+								<li >
+									<div class="text-muted" ng-if="item.repProdTitle != null">
+										<div class="text-bold text-inverse text-flow">替代料名称:</div>{{::item.repProdTitle}}</div>
+								</li>
+								<li >
+									<div class="text-muted" ng-if="item.repProdSpec != null">
+										<div class="text-bold text-inverse text-flow">替代料规格:</div>{{::item.repProdSpec}}</div>
+								</li>
+							</ul>
+						</div>
+					</div>
+				</div>
+			</td>
 			<td class="text-center">
 				<div ng-if="!isUser" class="text-num" ng-bind="::item.price | number:6"></div>
 				<div class="text-muted">税率:{{::item.taxrate || 0}}%</div>
@@ -510,15 +476,6 @@
 				<div ng-if="!item.$editing">
 					<div ng-if="!item.replyQty" class="text-muted text-center">未回复</div>
 					<div ng-if="item.replyQty > 0 && item.replyQty < item.qty">
-						<!--<div class="progress progress-sm">
-							<div class="progress-bar progress-bar-success"
-								ng-style="{'width': 100*item.replyQty/item.qty + '%'}">
-								<span class="sr-only"></span>
-							</div>
-						</div>
-						已回复 <span class="text-default">{{::item.replyQty}}</span> /
-						<span>{{::item.qty}}</span>-->
-
 						已回复 <span class="text-default">{{::item.latestReplyQty}}</span>
 
 					</div>