Browse Source

Merge remote-tracking branch 'origin/master'

suntg 7 years ago
parent
commit
f40accfe6f
78 changed files with 620 additions and 552 deletions
  1. 18 6
      src/main/java/com/uas/platform/b2b/filter/SSOInterceptor.java
  2. 5 0
      src/main/java/com/uas/platform/b2b/manage/service/AccessTokenService.java
  3. 13 9
      src/main/java/com/uas/platform/b2b/manage/service/impl/AccessTokenServiceImpl.java
  4. 1 1
      src/main/resources/test/sys.properties
  5. 1 1
      src/main/resources/txcloud/sys.properties
  6. BIN
      src/main/webapp/resources/img/all/logo_uas.png
  7. BIN
      src/main/webapp/resources/img/all/uas_mall.png
  8. BIN
      src/main/webapp/resources/img/empty/uas_empty.png
  9. BIN
      src/main/webapp/resources/img/footer/qrcode_mall.png
  10. BIN
      src/main/webapp/resources/img/footer/qrcode_uas.png
  11. BIN
      src/main/webapp/resources/img/guide/2.1/1.png
  12. BIN
      src/main/webapp/resources/img/guide/2.1/2.png
  13. BIN
      src/main/webapp/resources/img/guide/2.2/1.png
  14. BIN
      src/main/webapp/resources/img/guide/3.1/1.png
  15. BIN
      src/main/webapp/resources/img/guide/3.1/2.png
  16. BIN
      src/main/webapp/resources/img/guide/3.1/3.png
  17. BIN
      src/main/webapp/resources/img/guide/3.10/1.png
  18. BIN
      src/main/webapp/resources/img/guide/3.11/1.png
  19. BIN
      src/main/webapp/resources/img/guide/3.2/1.png
  20. BIN
      src/main/webapp/resources/img/guide/3.2/6.png
  21. BIN
      src/main/webapp/resources/img/guide/3.2/7.png
  22. BIN
      src/main/webapp/resources/img/guide/3.3/1.png
  23. BIN
      src/main/webapp/resources/img/guide/3.3/2.png
  24. BIN
      src/main/webapp/resources/img/guide/3.3/5.png
  25. BIN
      src/main/webapp/resources/img/guide/3.4/1.png
  26. BIN
      src/main/webapp/resources/img/guide/3.4/2.png
  27. BIN
      src/main/webapp/resources/img/guide/3.4/3.png
  28. BIN
      src/main/webapp/resources/img/guide/3.4/5.png
  29. BIN
      src/main/webapp/resources/img/guide/3.4/6.png
  30. BIN
      src/main/webapp/resources/img/guide/3.5/1.png
  31. BIN
      src/main/webapp/resources/img/guide/3.5/2.png
  32. BIN
      src/main/webapp/resources/img/guide/3.5/3.png
  33. BIN
      src/main/webapp/resources/img/guide/3.5/4.png
  34. BIN
      src/main/webapp/resources/img/guide/3.5/6.png
  35. BIN
      src/main/webapp/resources/img/guide/3.6/1.png
  36. BIN
      src/main/webapp/resources/img/guide/3.7/1.png
  37. BIN
      src/main/webapp/resources/img/guide/3.8/1.png
  38. BIN
      src/main/webapp/resources/img/guide/3.9/1.png
  39. BIN
      src/main/webapp/resources/img/guide/more00001.png
  40. BIN
      src/main/webapp/resources/img/guide/more00002.png
  41. BIN
      src/main/webapp/resources/img/guide/more00003.png
  42. BIN
      src/main/webapp/resources/img/guide/more001.png
  43. BIN
      src/main/webapp/resources/img/guide/more01.jpg
  44. BIN
      src/main/webapp/resources/img/guide/more02.jpg
  45. BIN
      src/main/webapp/resources/img/guide/more03.jpg
  46. BIN
      src/main/webapp/resources/img/guide/more1.jpg
  47. BIN
      src/main/webapp/resources/img/guide/more1.png
  48. BIN
      src/main/webapp/resources/img/guide/more2.jpg
  49. BIN
      src/main/webapp/resources/img/guide/more2.png
  50. BIN
      src/main/webapp/resources/img/guide/more3.jpg
  51. BIN
      src/main/webapp/resources/img/guide/more3.png
  52. BIN
      src/main/webapp/resources/img/icon/u.png
  53. BIN
      src/main/webapp/resources/img/logo/logo.png
  54. BIN
      src/main/webapp/resources/img/logo/logo01.png
  55. BIN
      src/main/webapp/resources/img/logo/uas_gray.png
  56. BIN
      src/main/webapp/resources/img/logo/ubtob.png
  57. BIN
      src/main/webapp/resources/img/mobile/client-icon-29.png
  58. BIN
      src/main/webapp/resources/img/mobile/client-icon-32.png
  59. BIN
      src/main/webapp/resources/img/qrcode/UU-Qr-Code.png
  60. BIN
      src/main/webapp/resources/img/qrcode/WeChat-Qr-Code.png
  61. BIN
      src/main/webapp/resources/img/self/add_user/add_user_step1.png
  62. BIN
      src/main/webapp/resources/img/self/add_user/add_user_step2.png
  63. BIN
      src/main/webapp/resources/img/self/bind_user/bind_user_step1.png
  64. BIN
      src/main/webapp/resources/img/self/bind_user/bind_user_step2.png
  65. BIN
      src/main/webapp/resources/img/self/client/uasencode.jpg
  66. BIN
      src/main/webapp/resources/img/self/client/uu_logo.png
  67. BIN
      src/main/webapp/resources/img/self/delete_user/delete_user.png
  68. BIN
      src/main/webapp/resources/img/serve/4.1/step01.png
  69. BIN
      src/main/webapp/resources/img/serve/4.1/step02.png
  70. BIN
      src/main/webapp/resources/img/serve/4.1/step03.png
  71. BIN
      src/main/webapp/resources/img/serve/4.1/step04.png
  72. BIN
      src/main/webapp/resources/img/serve/excetion/quesion01.png
  73. BIN
      src/main/webapp/resources/img/serve/excetion/quesion02.png
  74. BIN
      src/main/webapp/resources/img/start/img-webchat.png
  75. 6 0
      src/main/webapp/resources/tpl/index/common/header.html
  76. 1 1
      src/main/webapp/resources/tpl/index/purc/purcinquiry_new.html
  77. 547 531
      src/main/webapp/resources/tpl/index/sale/inquiry_mould.html
  78. 28 3
      src/main/webapp/resources/tpl/index/sale/inquiry_mould_detail.html

+ 18 - 6
src/main/java/com/uas/platform/b2b/filter/SSOInterceptor.java

@@ -2,7 +2,11 @@ package com.uas.platform.b2b.filter;
 
 import com.uas.platform.b2b.dao.ResourceItemDao;
 import com.uas.platform.b2b.manage.service.AccessTokenService;
-import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.model.ResourceItem;
+import com.uas.platform.b2b.model.Role;
+import com.uas.platform.b2b.model.SigninLog;
+import com.uas.platform.b2b.model.User;
 import com.uas.platform.b2b.service.EnterpriseService;
 import com.uas.platform.b2b.service.RoleService;
 import com.uas.platform.b2b.service.SigninLogService;
@@ -40,9 +44,15 @@ import org.springframework.util.StringUtils;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.*;
+import java.io.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * 访问拦截
@@ -191,8 +201,8 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
      */
     private String getLoginPage(HttpServletRequest request, HttpServletResponse response) throws IOException {
         // 引用页面
-        String refererSymbol = "Referer";
-        request.getSession().setAttribute(SSOConfig.SSOReferer, request.getHeader(refererSymbol));
+        String referSymbol = "Referer";
+        request.getSession().setAttribute(SSOConfig.SSOReferer, request.getHeader(referSymbol));
         SSOHelper.clearLogin(request, response);
         String redirectUrl = (SSOHelper.getRedirectLoginUrl(request, conf.getB2b()));
         return redirectUrl;
@@ -392,6 +402,8 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
 		String token = request.getParameter(tokenParam);
 		// 发现有采用access_token方式
 		if (token != null) {
+		    // 清除上一次访问的数据
+            SystemSession.clear();
 			Object sUser = request.getSession().getAttribute("user");
 			User user = null;
 			if (sUser != null) {

+ 5 - 0
src/main/java/com/uas/platform/b2b/manage/service/AccessTokenService.java

@@ -2,6 +2,11 @@ package com.uas.platform.b2b.manage.service;
 
 import java.util.Map;
 
+/**
+ * AccessTokenService
+ *
+ * @author US50
+ */
 public interface AccessTokenService {
 
 	/**

+ 13 - 9
src/main/java/com/uas/platform/b2b/manage/service/impl/AccessTokenServiceImpl.java

@@ -1,19 +1,23 @@
 package com.uas.platform.b2b.manage.service.impl;
 
-import java.util.HashMap;
-import java.util.Map;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.stereotype.Service;
-
 import com.uas.platform.b2b.manage.service.AccessTokenService;
 import com.uas.platform.b2b.support.SysConf;
 import com.uas.platform.core.exception.SystemException;
 import com.uas.platform.core.util.HttpUtil;
 import com.uas.platform.core.util.HttpUtil.Response;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.Map;
 
+/**
+ * AccessTokenServiceImpl
+ *
+ * @author US50
+ */
 @Service("manage.AccessTokenServiceImpl")
 public class AccessTokenServiceImpl implements AccessTokenService {
 
@@ -22,9 +26,9 @@ public class AccessTokenServiceImpl implements AccessTokenService {
 
 	@Override
 	public Map<String, Object> validFormManage(String accessToken) {
-		Map<String, String> params = new HashMap<String, String>();
+		Map<String, String> params = new HashMap<>(1);
 		params.put("access_token", accessToken);
-		Response response = null;
+		Response response;
 		try {
 			response = HttpUtil.sendGetRequest(sysConf.getManageInner() + "/public/token", params);
 		} catch (Exception e) {

+ 1 - 1
src/main/resources/test/sys.properties

@@ -1,7 +1,7 @@
 #path
 b2b=http://218.17.158.219:9000/b2b-test
 manage=http://218.17.158.219:9090/platform-manage
-manageInner=http://192.168.253.60:9090/platform-manage
+manageInner=http://10.1.51.24:8888
 im=http://113.105.74.131:8092
 b2c=http://192.168.253.12:23400
 registerUrl=http://192.168.253.12:32323/register/enterpriseRegistration

+ 1 - 1
src/main/resources/txcloud/sys.properties

@@ -1,7 +1,7 @@
 #path
 b2b=https://b2b.usoftchina.com
 manage=http://manage.ubtob.com
-manageInner=http://10.10.100.81:8080
+manageInner=http://172.21.0.5:8081
 im=http://113.105.74.140:8092
 b2c=https://mall.usoftchina.com
 registerUrl=https://sso.ubtob.com/register/enterpriseRegistration

BIN
src/main/webapp/resources/img/all/logo_uas.png


BIN
src/main/webapp/resources/img/all/uas_mall.png


BIN
src/main/webapp/resources/img/empty/uas_empty.png


BIN
src/main/webapp/resources/img/footer/qrcode_mall.png


BIN
src/main/webapp/resources/img/footer/qrcode_uas.png


BIN
src/main/webapp/resources/img/guide/2.1/1.png


BIN
src/main/webapp/resources/img/guide/2.1/2.png


BIN
src/main/webapp/resources/img/guide/2.2/1.png


BIN
src/main/webapp/resources/img/guide/3.1/1.png


BIN
src/main/webapp/resources/img/guide/3.1/2.png


BIN
src/main/webapp/resources/img/guide/3.1/3.png


BIN
src/main/webapp/resources/img/guide/3.10/1.png


BIN
src/main/webapp/resources/img/guide/3.11/1.png


BIN
src/main/webapp/resources/img/guide/3.2/1.png


BIN
src/main/webapp/resources/img/guide/3.2/6.png


BIN
src/main/webapp/resources/img/guide/3.2/7.png


BIN
src/main/webapp/resources/img/guide/3.3/1.png


BIN
src/main/webapp/resources/img/guide/3.3/2.png


BIN
src/main/webapp/resources/img/guide/3.3/5.png


BIN
src/main/webapp/resources/img/guide/3.4/1.png


BIN
src/main/webapp/resources/img/guide/3.4/2.png


BIN
src/main/webapp/resources/img/guide/3.4/3.png


BIN
src/main/webapp/resources/img/guide/3.4/5.png


BIN
src/main/webapp/resources/img/guide/3.4/6.png


BIN
src/main/webapp/resources/img/guide/3.5/1.png


BIN
src/main/webapp/resources/img/guide/3.5/2.png


BIN
src/main/webapp/resources/img/guide/3.5/3.png


BIN
src/main/webapp/resources/img/guide/3.5/4.png


BIN
src/main/webapp/resources/img/guide/3.5/6.png


BIN
src/main/webapp/resources/img/guide/3.6/1.png


BIN
src/main/webapp/resources/img/guide/3.7/1.png


BIN
src/main/webapp/resources/img/guide/3.8/1.png


BIN
src/main/webapp/resources/img/guide/3.9/1.png


BIN
src/main/webapp/resources/img/guide/more00001.png


BIN
src/main/webapp/resources/img/guide/more00002.png


BIN
src/main/webapp/resources/img/guide/more00003.png


BIN
src/main/webapp/resources/img/guide/more001.png


BIN
src/main/webapp/resources/img/guide/more01.jpg


BIN
src/main/webapp/resources/img/guide/more02.jpg


BIN
src/main/webapp/resources/img/guide/more03.jpg


BIN
src/main/webapp/resources/img/guide/more1.jpg


BIN
src/main/webapp/resources/img/guide/more1.png


BIN
src/main/webapp/resources/img/guide/more2.jpg


BIN
src/main/webapp/resources/img/guide/more2.png


BIN
src/main/webapp/resources/img/guide/more3.jpg


BIN
src/main/webapp/resources/img/guide/more3.png


BIN
src/main/webapp/resources/img/icon/u.png


BIN
src/main/webapp/resources/img/logo/logo.png


BIN
src/main/webapp/resources/img/logo/logo01.png


BIN
src/main/webapp/resources/img/logo/uas_gray.png


BIN
src/main/webapp/resources/img/logo/ubtob.png


BIN
src/main/webapp/resources/img/mobile/client-icon-29.png


BIN
src/main/webapp/resources/img/mobile/client-icon-32.png


BIN
src/main/webapp/resources/img/qrcode/UU-Qr-Code.png


BIN
src/main/webapp/resources/img/qrcode/WeChat-Qr-Code.png


BIN
src/main/webapp/resources/img/self/add_user/add_user_step1.png


BIN
src/main/webapp/resources/img/self/add_user/add_user_step2.png


BIN
src/main/webapp/resources/img/self/bind_user/bind_user_step1.png


BIN
src/main/webapp/resources/img/self/bind_user/bind_user_step2.png


BIN
src/main/webapp/resources/img/self/client/uasencode.jpg


BIN
src/main/webapp/resources/img/self/client/uu_logo.png


BIN
src/main/webapp/resources/img/self/delete_user/delete_user.png


BIN
src/main/webapp/resources/img/serve/4.1/step01.png


BIN
src/main/webapp/resources/img/serve/4.1/step02.png


BIN
src/main/webapp/resources/img/serve/4.1/step03.png


BIN
src/main/webapp/resources/img/serve/4.1/step04.png


BIN
src/main/webapp/resources/img/serve/excetion/quesion01.png


BIN
src/main/webapp/resources/img/serve/excetion/quesion02.png


BIN
src/main/webapp/resources/img/start/img-webchat.png


+ 6 - 0
src/main/webapp/resources/tpl/index/common/header.html

@@ -260,6 +260,12 @@
             <li>
                 <a ng-click="b2cLink('/pcb')">PCB专区</a>
             </li>
+            <li>
+                <a href="https://zb.usoftchina.com/" target="_blank">U创网</a>
+            </li>
+            <li>
+                <a href="https://bbs.usoftchina.com/" target="_blank">U客论坛</a>
+            </li>
             <li>
                 <a ng-click="b2cLink('/news')">优软快讯</a>
             </li>

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

@@ -1025,7 +1025,7 @@ select.disabled {
                         </div>
                     </div>
                 </div>
-				<div class="wrap">
+				<div>
 					<div class="content">
 						<div class="tender-list02">
 							<!--产品信息-->

+ 547 - 531
src/main/webapp/resources/tpl/index/sale/inquiry_mould.html

@@ -1,532 +1,548 @@
-<style>
-.order-table .header>th {
-	height: 38px;
-	text-align: center;
-	background: #f5f5f5;
-	border-top: 1px solid #e8e8e8;
-	border-bottom: 1px solid #e8e8e8;
-}
-
-.order-table .sep-row {
-	height: 10px;
-}
-
-.order-table .selector {
-	vertical-align: middle;
-	margin: 0 0 2px 0;
-}
-
-.toolbar label {
-	margin-right: 10px;
-	margin-bottom: 0;
-}
-
-.toolbar .select_all {
-	margin: 0 6px 0 10px;
-	line-height: 20px;
-}
-
-.toolbar .btn {
-	-moz-border-radius: 2px;
-	margin-right: 5px;
-	border: 1px solid #dcdcdc;
-	border-radius: 2px;
-	-webkit-border-radius: 2px;
-}
-
-.order-table .order-hd {
-	background: #f5f5f5;
-	height: 40px;
-	line-height: 40px;
-}
-
-.order-table .order-hd td.first {
-	padding-left: 20px;
-}
-
-.order-table .order-hd .order-main span {
-	margin-right: 8px;
-}
-
-.order-table .order-hd .order-code {
-	font-style: normal;
-	font-family: verdana;
-}
-
-.order-table .order-hd .order-sum {
-	padding: 0 5px;
-}
-
-.order-table>tbody {
-	border: 1px solid transparent;
-}
-
-.order-table>tbody:hover {
-	border-color: #d32526;
-	border-width: 2px;
-}
-
-.order-table .order-bd {
-	border-bottom: 1px solid #e6e6e6;
-}
-
-.order-table .order-bd>td {
-	padding: 10px 0px;
-	vertical-align: top;
-	position: relative;
-}
-
-.order-table .order-bd .product {
-	padding-left: 20px;
-}
-
-.input-xs,.input-group-xs>.form-control,.input-group-xs>.input-group-addon,.input-group-xs>.input-group-btn>.btn
-	{
-	height: 26px;
-	padding: 0 5px;
-	font-size: 12px;
-	line-height: 1.5;
-	border-radius: 3px;
-}
-
-.input-group-xs .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn {
-	border-top-left-radius: 0;
-	border-bottom-left-radius: 0;
-}
-
-@media ( min-width : 768px) {
-	.form-horizontal .form-group-xs .control-label {
-		padding-top: 5px;
-	}
-}
-
-.info-container .info:hover {
-	color: #CC3333;
-}
-.input-error{
-	background-color: #fff8ee;
-    border-color: #CC0033;
-}
-input.input-error:focus {
-	background-color: #fff8ee;
-	border-color: #CC0033;
-}
-
-tbody td.enddate {
-	color: red;
-}
-
-tbody td .text-waiting {
-	position: absolute;
-    top: 5px;
-    background-color: #fff;
-    border: 1px solid;
-    padding: 3px 14px;
-    font-size: 16px;
-    font-family: "LiShu";
-    border-radius: 10px;
-    -moz-transform: rotate(-10deg);
-    -webkit-transform: rotate(-10deg);
-    -o-transform: rotate(-10deg);
-    transform: rotate(-10deg);
-    border-radius: 10px;
-    opacity: 0.7;
-    white-space: nowrap;
-	color: #56a022;
-	border-color: #56a022;
-}
-
-tbody td .text-trans {
-	right:20px;
-}
-
-tbody td .input-price {
-	margin: 2px;
-	height: 26px;
-	border: 1px solid #d1d1d1;
-}
-
-tbody td div .text-ps,.text-prod {
-	height: 30px;
-}
-
-tbody td div.text-mould {
-	border-bottom: 1px solid #e0e2e3;
-}
-
-.dropdown-menu .pane-body ul>li{
-
-}
-.block{
-	/*background: #f5f5f5;*/
-}
-.order-table{
-	background: #fff;
-}
-.menu .new-dot{
-	width: 20px;
-	height: 20px;
-	line-height: 20px;
-	font-size: 12px;
-	color: #fff;
-	font-weight: inherit;
-	top: -2px;
-}
-.color-black {
-	color: #000;
-}
-/* 清楚ie下的输入框X */
-::-ms-clear, ::-ms-reveal{display: none;}
-
-	.taxrate-input {
-		width: 30px;
-	}
-</style>
-<link rel="stylesheet" href="static/css/public.css">
-<div class="block"  id="public">
-	<div class="loading in" ng-class="{'in': loading}">
-		<!--<i></i>-->
-		<div class="wrap">
-			<div class="outer"></div>
-		</div>
-	</div>
-	<div class="pub-com_head">
-		<span>客户模具询价</span>
-		<div class="p-right">
-			<a href="#" ng-click="exportXls()" target="_self" class="text-simple" title="导出Excel表格"><i class="fa fa-file-text fa-fw"></i>导出</a>
-		</div>
-	</div>
-	<div class="menu condition block">
-		<div class="row">
-			<div class="col-xs-4">
-				<div class="btn-group btn-group-sm btn-group-justified">
-					<div class="btn-group btn-group-sm">
-						<button type="button" class="btn btn-default btn-line"
-							ng-class="{'btn-info':active=='all'}" ng-click="setActive('all')">全部
-							<b class="new-dot" ng-if="unread.all > 0">{{unread.all>99?'99+':unread.all}}</b>
-						</button>
-					</div>
-					<div class="btn-group btn-group-sm">
-						<button type="button" class="btn btn-default btn-line"
-							ng-class="{'btn-info':active=='done'}" ng-click="setActive('done');setOrdersReadByState()">已报价
-							<b class="new-dot" ng-if="unread.replied > 0">{{unread.replied>99?'99+':unread.replied}}</b>
-						</button>
-					</div>
-					<div class="btn-group btn-group-sm">
-						<button type="button" class="btn btn-default btn-line"
-							ng-class="{'btn-info':active=='todo'}" ng-click="setActive('todo')">待报价
-							<b class="new-dot" ng-if="unread.notReply > 0">{{unread.notReply>99?'99+':unread.notReply}}</b>
-						</button>
-					</div>
-					<!--<div class="btn-group btn-group-sm">-->
-						<!--<button type="button" class="btn btn-default btn-line"-->
-							<!--ng-class="{'btn-info':active=='end'}" ng-click="setActive('end')">已过期</button>-->
-					<!--</div>-->
-					<div class="btn-group btn-group-sm">
-						<button type="button" class="btn btn-default btn-line"
-							ng-class="{'btn-info':active=='invalid'}" ng-click="setActive('invalid')">已失效</button>
-					</div>
-				</div>
-			</div>
-		</div>
-	</div>
-	<!--<div class="height10">&nbsp;</div>-->
-	<div class="condition block">
-		<div class="search-bg condition block" style="padding: 10px 15px;">
-			<div class="row">
-				<div id="topSearch" style="float: left">
-					<a ng-click="changeDateZone(1);condition.$open=false" title="最近一个月" ng-class="{'active':condition.dateZone=='1'}">最近一个月</a>
-					<a ng-click="changeDateZone(3);condition.$open=false" title="最近三个月" ng-class="{'active':condition.dateZone=='3'}">最近三个月</a>
-					<a ng-click="changeDateZone(6);condition.$open=false" title="最近六个月" ng-class="{'active':condition.dateZone=='6'}">最近六个月</a>
-					<a ng-click="condition.$open=!condition.$open;changeDateZone(-1)" title="自定义" ng-class="{'active':condition.dateZone=='-1'}" >自定义</a>
-				</div>
-				<div class="col-xs-6" style="float: right;">
-					<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="输入单据编号、客户名称、物料名称搜索" style="width: 100%"/>
-							<a class="btn input-group-addon" ng-click="onSearch()">搜索</a>
-						</div>
-					</div>
-				</div>
-			</div>
-			<div class="more-list more" ng-class="{'open': condition.$open}">
-				<form class="form-inline">
-					<div class="form-group ">
-						<label>日期:</label>
-						<div class="btn-group btn-menu" dropdown is-open="condition.$dateZoneOpen">
-							<ul class="dropdown-menu">
-								<li><a ng-click="changeDateZone(1)">一个月内</a></li>
-								<li><a ng-click="changeDateZone(6)">半年内</a></li>
-								<li><a ng-click="changeDateZone()">半年前</a></li>
-							</ul>
-						</div>
-						<div class="form-group input-group input-group-xs input-trigger">
-							<input type="text" ng-model="condition.dateFrom"
-								   class="form-control" placeholder="从"
-								   datepicker-popup="yyyy-MM-dd" is-open="condition.$fromOpened"
-								   ng-required="true" max-date = "condition.dateTo"
-								   current-text="今天" clear-text="清除" close-text="关闭"
-								   datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
-								   ng-focus="openFilterDatePicker($event, condition, '$fromOpened')">
-							<span class="input-group-btn">
-							<button type="button" class="btn btn-default"
-									ng-click="openFilterDatePicker($event, condition, '$fromOpened')">
-								<i class="fa fa-calendar"></i>
-							</button>
-						</span>
-						</div>
-						<div class="form-group input-group input-group-xs input-trigger">
-							<input type="text" ng-model="condition.dateTo"
-								   class="form-control" placeholder="到"
-								   datepicker-popup="yyyy-MM-dd" is-open="condition.$toOpened"
-								   ng-required="true" min-date = "condition.dateFrom"
-								   current-text="今天" clear-text="清除" close-text="关闭"
-								   datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
-								   ng-focus="openFilterDatePicker($event, condition, '$toOpened')">
-							<span class="input-group-btn">
-							<button type="button" class="btn btn-default"
-									ng-click="openFilterDatePicker($event, condition, '$toOpened')">
-								<i class="fa fa-calendar"></i>
-							</button>
-						</span>
-						</div>
-					</div>
-				</form>
-			</div>
-		</div>
-	</div>
-	<table class="order-table block" ng-table="tableParams">
-		<thead>
-			<tr class="header">
-				<th>模具信息</th>
-				<th></th>
-				<th width="180">价格</th>
-				<th width=""></th>
-				<th width="80">有效日期</th>
-				<th width="0"></th>
-				<th width="180">操作</th>
-			</tr>
-			<tr class="sep-row">
-				<td colspan="7"></td>
-			</tr>
-		</thead>
-		<tbody ng-if="tableParams.total() == 0">
-		<tr>
-			<td colspan="7">
-				<div id="empty">
-					<div class="left_img">
-						<a href="http://www.ubtob.com/" target="_blank" title="优软云首页"><img src="static/img/empty/uas_empty.png"></a>
-						<a href="#/index" title="B2B商务首页">B2B 商务</a>
-					</div>
-					<div class="right_link">
-						<p>当前没有对应的客户询价单!</p>
-					</div>
-				</div>
-			</td>
-		</tr>
-		<tr>
-			<td colspan="7">
-				<div id="empty_info">
-					<div class="f16 text-center empty_title">
-						<p>为什么我没有接收到客户的询价单?</p>
-					</div>
-					<div class="f14 empty_explain">
-						<div class="info">
-							<p>1、您的客户还没有提交审核询价单<br>
-								解决:与您的客户沟通确认单据是否已经审核(只有客户ERP中已经审核的单据才能接收到)</p>
-						</div>
-						<div class="info">
-							<p>2、客户ERP中供应商信息有误<br>
-								解决:与您的客户沟通确认您的信息在客户的供应商资料中是否维护正确,尤其是企业UU号</p>
-						</div>
-						<div class="info">
-							<p>3、您的客户正在使用旧版本的UAS商务平台<br>
-								解决:我们仍有部分用户在使用旧版本UAS商务平台系统,你可以用您的企业UU号和管理员个人UU号 <a href="http://www.usoftchina.com" class="text-bold text-link" title="http://www.usoftchina.com" target="_blank">登陆旧版本UAS商务平台</a></p>
-						</div>
-					</div>
-				</div>
-			</td>
-		</tr>
-		</tbody>
-		<tbody ng-repeat="inquiryMould in $data track by inquiryMould.id">
-			<tr class="order-hd">
-				<td class="first" colspan="3">
-					<div class="order-main">
-						<a href="javascript:void(0)" ng-if="!isUnread(inquiryMould.id)">
-							<i class="fa fa-circle-thin"></i>
-						</a>
-						<a href="javascript:void(0)" ng-if="isUnread(inquiryMould.id)">
-							<i class="fa fa-circle" style="color: #f40;"></i>
-						</a>&nbsp;&nbsp;
-						<!--<span> <input type="checkbox" class="selector"
-							ng-model="inquiryMould.$selected">
-						</span>--> <span class="text-num text-bold" title="{{inquiryMould.date}}" ng-bind="::inquiryMould.date | date:'yyyy-MM-dd'"></span>
-						<span ng-bind="::inquiryMould.enterprise.enName"></span>
-						<span>流水号:<a class="text-num order-detail" ng-bind="::inquiryMould.code" ui-sref="sale.inquiry_mould_detail({id:inquiryMould.id})" target="_self"
-							ng-click="setOrdersRead(inquiryMould.id)" title="查看详情"></a>
-						</span>
-						币别:<span ng-bind="inquiryMould.currency"></span>
-						<span>税率:</span><input class="taxrate-input" ng-model="inquiryMould.taxrate" ng-pattern="/^[0-9][0-9]{0,1}$/" ng-disabled="!inquiryMould.$editing">%
-					</div>
-				</td>
-				<td>
-				</td>
-				<td class = "text-center enddate">
-					<span ng-bind="::inquiryMould.endDate | date:'yyyy-MM-dd'"></span>
-				</td>
-				<td>
-				</td>
-				<td class="text-center">
-					<div>
-						<!-- <a ng-click="print(inquiryMould)" class="text-muted" title="打印"><i
-							class="fa fa-print fa-lg"></i></a> -->
-							<!-- 待报价 -->
-						<div ng-if="inquiryMould.status == 200 && inquiryMould.overdue != 1 && inquiryMould.adoptStatus == null && inquiryMould.valid != 0">
-							<div ng-if="inquiryMould.overdue == 0">
-								<span ng-show="!inquiryMould.$editing">
-									<a ng-click="inquiryMould.$editing=!inquiryMould.$editing">报价</a>
-								</span>
-								<span ng-show="inquiryMould.$editing">
-										<a ng-click="inquiryMould.$editing=!inquiryMould.$editing;reload()"
-											class="btn btn-xs btn-link text-error">取消</a>&nbsp;
-										<a ng-click="onReplyClick(inquiryMould)"
-											ng-disabled="!canSave"
-											class="btn btn-link btn-xs text-success">保存</a>&nbsp;
-										<a ng-click="onReplyClick(inquiryMould, true);setOrdersRead(inquiryMould.id)"
-											class="btn btn-link btn-xs text-inverse">
-											保存并确认报价
-										</a>
-										<!-- <a ng-click="" class="btn-xs">上传附件</a> -->
-								</span>
-							</div>
-						</div>
-						<!-- 已报价 -->
-						<div ng-if="inquiryMould.replyable && inquiryMould.status == 201 && inquiryMould.adoptstatus == null && inquiryMould.checked != 1 && inquiryMould.valid != 0">
-							<span ng-show="!inquiryMould.$editing">
-								<a ng-click="inquiryMould.$editing=!inquiryMould.$editing;setOrdersRead(inquiryMould.id)">修改报价</a>
-							</span>
-							<span ng-show="inquiryMould.$editing">
-								<a ng-click="inquiryMould.$editing=!inquiryMould.$editing;reload()"
-									class="btn btn-xs btn-link text-error">取消</a>&nbsp;
-								<a ng-click="onReplyClick(inquiryMould, true);setOrdersRead(inquiryMould.id)"
-									class="btn btn-link btn-xs text-inverse">
-									保存并确认报价
-								</a>
-								<!-- <a ng-click="" class="btn-xs">上传附件</a> -->
-							</span>
-						</div>
-					</div>
-				</td>
-			</tr>
-			<tr class="order-bd">
-				<td class="product">
-					<div class="text-mould" ng-repeat="items in inquiryMould.inquiryMouldItems">
-						<div class="text-num text-bold text-ps" >
-							<span>模具:</span>{{items.psCode}}-{{items.psName}}
-						</div>
-						<div class="text-muted" ng-repeat="prod in items.inquiryMouldDetails">
-							<div><span class="text-bold color-black">物料:</span>{{prod.prodCode}}-{{prod.prodTitle}}-{{prod.prodSpec}}</div>
-						</div>
-					</div>
-					<div ng-if="inquiryMould.attachs.length" class="text-muted">
-						附件:<a class="file" ng-repeat="attach in inquiryMould.attachs" href="file/{{attach.id}}">{{::attach.name}}</a>
-					</div>
-					<div ng-if="inquiryMould.sellAttachs.length" class="text-muted">
-						供应商附件:
-						<div ng-repeat="attach in inquiryMould.sellAttachs track by $index">
-							<a class="file"  href="file/{{attach.id}}">{{::attach.name}}</a>
-							<a style="color: #ff2222" ng-click="removeFile(inquiryMould, attach)">删除</a>
-						</div>
-					</div>
-				<!-- 	<div ng-if="inquiryMould.$editing && inquiryMould.attachs.length" class="text-muted">
-						附件:<a class="file" ng-repeat="attach in inquiryMould.attachs" href="" title="编辑报价时无法获取附件">{{::attach.name}}</a>
-					</div>-->
-					<div ng-if="inquiryMould.$editing"
-						 class="input-group input-group-sm col-sm-10" style="padding-top: 5px;">
-						<span class="input-group-addon">上传附件:</span>
-						<input type="file" ng-model="myFiles" ng-file-select
-							ng-multiple="true" class="form-control input-sm" name="inquiryMould.sellAttachs"
-							id="inquiryMould.sellAttachs">
-						<span class="input-group-btn">
-							<button ng-click="pushFile(inquiryMould, myFiles);notZero(inquiryMould)"
-								ng-disabled="!myFiles"
-								class="btn btn-success" type="button" >确认上传</button>
-						</span>
-					</div>
-				</td>
-				<td class="text-center">
-				</td>
-				<td class="text-center">
-					<div ng-repeat="items in inquiryMould.inquiryMouldItems">
-						<input type="text" class="text-right input-price input-xs" ng-model="items.price" placeholder="单价(请填数字)" ng-blur="blurPrice(items.price)"
-							ng-change="verifyItems(items.price,items.reply);notZero(inquiryMould)" ng-disabled="!inquiryMould.$editing" ng-init="items.price = isUser?'-':items.price"/>
-						<span ng-if="inquiryMould.$editing" class="text-inverse">*</span>
-						<div ng-repeat="prod in items.inquiryMouldDetails">
-							<input type="text" class="text-right input-price input-xs" ng-model="prod.price" placeholder="单价(请填数字)" ng-blur="blurPrice(prod.price)"
-								ng-change="verifyProds(prod.price,prod.reply);notZero(inquiryMould)" ng-disabled="!inquiryMould.$editing" ng-init="prod.price = isUser?'-':prod.price"/>
-							<span ng-if="inquiryMould.$editing" class="text-inverse">*</span>
-						</div>
-					</div>
-					<div class="dropdown">
-						<a href="javascript:void(0);"
-							class="dropdown-toggle text-default"
-							ng-mouseover="getHistory(inquiryMould)">历史报价<i
-							class="fa fa-fw fa-angle-down"></i></a>
-						<div class="dropdown-menu pane" style="width: 270px;">
-							<div class="pane-body">
-								<ul ng-show="inquiryMould.replyDate" class="list-unstyled list-menu">
-									<li class="col-xs-12" ng-repeat="item in ::inquiryMould.history.inquiryMouldItems">
-										<div ng-repeat="itemReply in item.replies" ng-class="{'text-inverse': $index==0}">
-											<span class="col-xs-3">{{itemReply.reply | number:6}}</span>
-											<div ng-repeat="prodReply in itemReply.prodReplies">
-												<span class="col-xs-3">{{prodReply.reply | number:6}}</span>
-											</div>
-											<span class="col-xs-12">{{itemReply.replyDate | date:"yyyy-MM-dd HH:mm:ss"}}</span>
-											<div class="text-muted col-xs-12">
-												{{inquiryMould.enterprise.enName}}
-											</div>
-										</div>
-									</li>
-
-								</ul>
-								<div ng-if="historyShow">
-								<div ng-show="!inquiryMould.replyDate"
-									 class="text-center text-muted">暂无历史报价</div></div>
-								<div ng-if="!historyShow">
-									<div class="text-center text-muted">无法访问,没有客户模具询价-查看历史报价权限!</div></div>
-							</div>
-						</div>
-					</div>
-				</td>
-				<td></td>
-				<td>
-				</td>
-				<td>
-				</td>
-				<td class="text-center">
-					<div ng-if="inquiryMould.status == 200 && inquiryMould.overdue == 0 && inquiryMould.valid != 0 && inquiryMould.adoptStatus == null" class="block">
-						<span class="text-waiting">待报价</span>
-					</div>
-					<div ng-if="inquiryMould.status == 201 && inquiryMould.adoptStatus == null && inquiryMould.valid != 0" class="block">
-						<span class="text-trans warning">已报价</span>
-						<div ng-if="inquiryMould.check == 1" class="text-muted" style="padding-top: 50px;">客户正在<br>审批...</div>
-					</div>
-					<div ng-if="inquiryMould.status == 201 && inquiryMould.adoptStatus == 1 && inquiryMould.valid != 0" class="block">
-						<span class="text-trans success">已采纳</span>
-					</div>
-					<div ng-if="inquiryMould.status == 201 && inquiryMould.adoptStatus == 0 && inquiryMould.valid != 0" class="block">
-						<span class="text-trans error">未采纳</span>
-					</div>
-					<div ng-if="inquiryMould.overdue == 1 && inquiryMould.status == 200 && inquiryMould.valid != 0" class="block">
-						<span class="text-trans text-muted">已过期</span>
-					</div>
-					<div ng-if="inquiryMould.valid == 0" class="block">
-						<span class="text-trans text-light">已作废</span>
-					</div>
-				</td>
-			</tr>
-		</tbody>
-	</table>
+<style>
+.order-table .header>th {
+	height: 38px;
+	text-align: center;
+	background: #f5f5f5;
+	border-top: 1px solid #e8e8e8;
+	border-bottom: 1px solid #e8e8e8;
+}
+
+.order-table .sep-row {
+	height: 10px;
+}
+
+.order-table .selector {
+	vertical-align: middle;
+	margin: 0 0 2px 0;
+}
+
+.toolbar label {
+	margin-right: 10px;
+	margin-bottom: 0;
+}
+
+.toolbar .select_all {
+	margin: 0 6px 0 10px;
+	line-height: 20px;
+}
+
+.toolbar .btn {
+	-moz-border-radius: 2px;
+	margin-right: 5px;
+	border: 1px solid #dcdcdc;
+	border-radius: 2px;
+	-webkit-border-radius: 2px;
+}
+
+.order-table .order-hd {
+	background: #f5f5f5;
+	height: 40px;
+	line-height: 40px;
+}
+
+.order-table .order-hd td.first {
+	padding-left: 20px;
+}
+
+.order-table .order-hd .order-main span {
+	margin-right: 8px;
+}
+
+.order-table .order-hd .order-code {
+	font-style: normal;
+	font-family: verdana;
+}
+
+.order-table .order-hd .order-sum {
+	padding: 0 5px;
+}
+
+.order-table>tbody {
+	border: 1px solid transparent;
+}
+
+.order-table>tbody:hover {
+	border-color: #d32526;
+	border-width: 2px;
+}
+
+.order-table .order-bd {
+	border-bottom: 1px solid #e6e6e6;
+}
+
+.order-table .order-bd>td {
+	padding: 10px 0px;
+	vertical-align: top;
+	position: relative;
+}
+
+.order-table .order-bd .product {
+	padding-left: 20px;
+}
+
+.input-xs,.input-group-xs>.form-control,.input-group-xs>.input-group-addon,.input-group-xs>.input-group-btn>.btn
+	{
+	height: 26px;
+	padding: 0 5px;
+	font-size: 12px;
+	line-height: 1.5;
+	border-radius: 3px;
+}
+
+.input-group-xs .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn {
+	border-top-left-radius: 0;
+	border-bottom-left-radius: 0;
+}
+
+@media ( min-width : 768px) {
+	.form-horizontal .form-group-xs .control-label {
+		padding-top: 5px;
+	}
+}
+
+.info-container .info:hover {
+	color: #CC3333;
+}
+.input-error{
+	background-color: #fff8ee;
+    border-color: #CC0033;
+}
+input.input-error:focus {
+	background-color: #fff8ee;
+	border-color: #CC0033;
+}
+
+tbody td.enddate {
+	color: red;
+}
+
+tbody td .text-waiting {
+	position: absolute;
+    top: 5px;
+    background-color: #fff;
+    border: 1px solid;
+    padding: 3px 14px;
+    font-size: 16px;
+    font-family: "LiShu";
+    border-radius: 10px;
+    -moz-transform: rotate(-10deg);
+    -webkit-transform: rotate(-10deg);
+    -o-transform: rotate(-10deg);
+    transform: rotate(-10deg);
+    border-radius: 10px;
+    opacity: 0.7;
+    white-space: nowrap;
+	color: #56a022;
+	border-color: #56a022;
+}
+
+tbody td .text-trans {
+	right:20px;
+}
+
+tbody td .input-price {
+	margin: 2px;
+	height: 26px;
+	border: 1px solid #d1d1d1;
+}
+
+tbody td div .text-ps,.text-prod {
+	height: 30px;
+}
+
+tbody td div.text-mould {
+	border-bottom: 1px solid #e0e2e3;
+}
+
+.dropdown-menu .pane-body ul>li{
+
+}
+.block{
+	/*background: #f5f5f5;*/
+}
+.order-table{
+	background: #fff;
+}
+.menu .new-dot{
+	width: 20px;
+	height: 20px;
+	line-height: 20px;
+	font-size: 12px;
+	color: #fff;
+	font-weight: inherit;
+	top: -2px;
+}
+.color-black {
+	color: #000;
+}
+/* 清楚ie下的输入框X */
+::-ms-clear, ::-ms-reveal{display: none;}
+
+	.taxrate-input {
+		width: 30px;
+	}
+	/*对齐模具物料输入框*/
+.color-black {
+	color: #000;
+	float: left;
+}
+.text-mu {
+	float: left;
+}
+.text-detail{
+	display: inline-block;
+	width: 470px;
+	float: left;
+	overflow: hidden;
+	text-overflow: ellipsis;
+	white-space: nowrap;
+}
+</style>
+<link rel="stylesheet" href="static/css/public.css">
+<div class="block"  id="public">
+	<div class="loading in" ng-class="{'in': loading}">
+		<!--<i></i>-->
+		<div class="wrap">
+			<div class="outer"></div>
+		</div>
+	</div>
+	<div class="pub-com_head">
+		<span>客户模具询价</span>
+		<div class="p-right">
+			<a href="#" ng-click="exportXls()" target="_self" class="text-simple" title="导出Excel表格"><i class="fa fa-file-text fa-fw"></i>导出</a>
+		</div>
+	</div>
+	<div class="menu condition block">
+		<div class="row">
+			<div class="col-xs-4">
+				<div class="btn-group btn-group-sm btn-group-justified">
+					<div class="btn-group btn-group-sm">
+						<button type="button" class="btn btn-default btn-line"
+							ng-class="{'btn-info':active=='all'}" ng-click="setActive('all')">全部
+							<b class="new-dot" ng-if="unread.all > 0">{{unread.all>99?'99+':unread.all}}</b>
+						</button>
+					</div>
+					<div class="btn-group btn-group-sm">
+						<button type="button" class="btn btn-default btn-line"
+							ng-class="{'btn-info':active=='done'}" ng-click="setActive('done');setOrdersReadByState()">已报价
+							<b class="new-dot" ng-if="unread.replied > 0">{{unread.replied>99?'99+':unread.replied}}</b>
+						</button>
+					</div>
+					<div class="btn-group btn-group-sm">
+						<button type="button" class="btn btn-default btn-line"
+							ng-class="{'btn-info':active=='todo'}" ng-click="setActive('todo')">待报价
+							<b class="new-dot" ng-if="unread.notReply > 0">{{unread.notReply>99?'99+':unread.notReply}}</b>
+						</button>
+					</div>
+					<!--<div class="btn-group btn-group-sm">-->
+						<!--<button type="button" class="btn btn-default btn-line"-->
+							<!--ng-class="{'btn-info':active=='end'}" ng-click="setActive('end')">已过期</button>-->
+					<!--</div>-->
+					<div class="btn-group btn-group-sm">
+						<button type="button" class="btn btn-default btn-line"
+							ng-class="{'btn-info':active=='invalid'}" ng-click="setActive('invalid')">已失效</button>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+	<!--<div class="height10">&nbsp;</div>-->
+	<div class="condition block">
+		<div class="search-bg condition block" style="padding: 10px 15px;">
+			<div class="row">
+				<div id="topSearch" style="float: left">
+					<a ng-click="changeDateZone(1);condition.$open=false" title="最近一个月" ng-class="{'active':condition.dateZone=='1'}">最近一个月</a>
+					<a ng-click="changeDateZone(3);condition.$open=false" title="最近三个月" ng-class="{'active':condition.dateZone=='3'}">最近三个月</a>
+					<a ng-click="changeDateZone(6);condition.$open=false" title="最近六个月" ng-class="{'active':condition.dateZone=='6'}">最近六个月</a>
+					<a ng-click="condition.$open=!condition.$open;changeDateZone(-1)" title="自定义" ng-class="{'active':condition.dateZone=='-1'}" >自定义</a>
+				</div>
+				<div class="col-xs-6" style="float: right;">
+					<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="输入单据编号、客户名称、物料名称搜索" style="width: 100%"/>
+							<a class="btn input-group-addon" ng-click="onSearch()">搜索</a>
+						</div>
+					</div>
+				</div>
+			</div>
+			<div class="more-list more" ng-class="{'open': condition.$open}">
+				<form class="form-inline">
+					<div class="form-group ">
+						<label>日期:</label>
+						<div class="btn-group btn-menu" dropdown is-open="condition.$dateZoneOpen">
+							<ul class="dropdown-menu">
+								<li><a ng-click="changeDateZone(1)">一个月内</a></li>
+								<li><a ng-click="changeDateZone(6)">半年内</a></li>
+								<li><a ng-click="changeDateZone()">半年前</a></li>
+							</ul>
+						</div>
+						<div class="form-group input-group input-group-xs input-trigger">
+							<input type="text" ng-model="condition.dateFrom"
+								   class="form-control" placeholder="从"
+								   datepicker-popup="yyyy-MM-dd" is-open="condition.$fromOpened"
+								   ng-required="true" max-date = "condition.dateTo"
+								   current-text="今天" clear-text="清除" close-text="关闭"
+								   datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
+								   ng-focus="openFilterDatePicker($event, condition, '$fromOpened')">
+							<span class="input-group-btn">
+							<button type="button" class="btn btn-default"
+									ng-click="openFilterDatePicker($event, condition, '$fromOpened')">
+								<i class="fa fa-calendar"></i>
+							</button>
+						</span>
+						</div>
+						<div class="form-group input-group input-group-xs input-trigger">
+							<input type="text" ng-model="condition.dateTo"
+								   class="form-control" placeholder="到"
+								   datepicker-popup="yyyy-MM-dd" is-open="condition.$toOpened"
+								   ng-required="true" min-date = "condition.dateFrom"
+								   current-text="今天" clear-text="清除" close-text="关闭"
+								   datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
+								   ng-focus="openFilterDatePicker($event, condition, '$toOpened')">
+							<span class="input-group-btn">
+							<button type="button" class="btn btn-default"
+									ng-click="openFilterDatePicker($event, condition, '$toOpened')">
+								<i class="fa fa-calendar"></i>
+							</button>
+						</span>
+						</div>
+					</div>
+				</form>
+			</div>
+		</div>
+	</div>
+	<table class="order-table block" ng-table="tableParams">
+		<thead>
+			<tr class="header">
+				<th>模具信息</th>
+				<th></th>
+				<th width="180">价格</th>
+				<th width=""></th>
+				<th width="80">有效日期</th>
+				<th width="0"></th>
+				<th width="180">操作</th>
+			</tr>
+			<tr class="sep-row">
+				<td colspan="7"></td>
+			</tr>
+		</thead>
+		<tbody ng-if="tableParams.total() == 0">
+		<tr>
+			<td colspan="7">
+				<div id="empty">
+					<div class="left_img">
+						<a href="http://www.ubtob.com/" target="_blank" title="优软云首页"><img src="static/img/empty/uas_empty.png"></a>
+						<a href="#/index" title="B2B商务首页">B2B 商务</a>
+					</div>
+					<div class="right_link">
+						<p>当前没有对应的客户询价单!</p>
+					</div>
+				</div>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="7">
+				<div id="empty_info">
+					<div class="f16 text-center empty_title">
+						<p>为什么我没有接收到客户的询价单?</p>
+					</div>
+					<div class="f14 empty_explain">
+						<div class="info">
+							<p>1、您的客户还没有提交审核询价单<br>
+								解决:与您的客户沟通确认单据是否已经审核(只有客户ERP中已经审核的单据才能接收到)</p>
+						</div>
+						<div class="info">
+							<p>2、客户ERP中供应商信息有误<br>
+								解决:与您的客户沟通确认您的信息在客户的供应商资料中是否维护正确,尤其是企业UU号</p>
+						</div>
+						<div class="info">
+							<p>3、您的客户正在使用旧版本的UAS商务平台<br>
+								解决:我们仍有部分用户在使用旧版本UAS商务平台系统,你可以用您的企业UU号和管理员个人UU号 <a href="http://www.usoftchina.com" class="text-bold text-link" title="http://www.usoftchina.com" target="_blank">登陆旧版本UAS商务平台</a></p>
+						</div>
+					</div>
+				</div>
+			</td>
+		</tr>
+		</tbody>
+		<tbody ng-repeat="inquiryMould in $data track by inquiryMould.id">
+			<tr class="order-hd">
+				<td class="first" colspan="3">
+					<div class="order-main">
+						<a href="javascript:void(0)" ng-if="!isUnread(inquiryMould.id)">
+							<i class="fa fa-circle-thin"></i>
+						</a>
+						<a href="javascript:void(0)" ng-if="isUnread(inquiryMould.id)">
+							<i class="fa fa-circle" style="color: #f40;"></i>
+						</a>&nbsp;&nbsp;
+						<!--<span> <input type="checkbox" class="selector"
+							ng-model="inquiryMould.$selected">
+						</span>--> <span class="text-num text-bold" title="{{inquiryMould.date}}" ng-bind="::inquiryMould.date | date:'yyyy-MM-dd'"></span>
+						<span ng-bind="::inquiryMould.enterprise.enName"></span>
+						<span>流水号:<a class="text-num order-detail" ng-bind="::inquiryMould.code" ui-sref="sale.inquiry_mould_detail({id:inquiryMould.id})" target="_self"
+							ng-click="setOrdersRead(inquiryMould.id)" title="查看详情"></a>
+						</span>
+						币别:<span ng-bind="inquiryMould.currency"></span>
+						<span>税率:</span><input class="taxrate-input" ng-model="inquiryMould.taxrate" ng-pattern="/^[0-9][0-9]{0,1}$/" ng-disabled="!inquiryMould.$editing">%
+					</div>
+				</td>
+				<td>
+				</td>
+				<td class = "text-center enddate">
+					<span ng-bind="::inquiryMould.endDate | date:'yyyy-MM-dd'"></span>
+				</td>
+				<td>
+				</td>
+				<td class="text-center">
+					<div>
+						<!-- <a ng-click="print(inquiryMould)" class="text-muted" title="打印"><i
+							class="fa fa-print fa-lg"></i></a> -->
+							<!-- 待报价 -->
+						<div ng-if="inquiryMould.status == 200 && inquiryMould.overdue != 1 && inquiryMould.adoptStatus == null && inquiryMould.valid != 0">
+							<div ng-if="inquiryMould.overdue == 0">
+								<span ng-show="!inquiryMould.$editing">
+									<a ng-click="inquiryMould.$editing=!inquiryMould.$editing">报价</a>
+								</span>
+								<span ng-show="inquiryMould.$editing">
+										<a ng-click="inquiryMould.$editing=!inquiryMould.$editing;reload()"
+											class="btn btn-xs btn-link text-error">取消</a>&nbsp;
+										<a ng-click="onReplyClick(inquiryMould)"
+											ng-disabled="!canSave"
+											class="btn btn-link btn-xs text-success">保存</a>&nbsp;
+										<a ng-click="onReplyClick(inquiryMould, true);setOrdersRead(inquiryMould.id)"
+											class="btn btn-link btn-xs text-inverse">
+											保存并确认报价
+										</a>
+										<!-- <a ng-click="" class="btn-xs">上传附件</a> -->
+								</span>
+							</div>
+						</div>
+						<!-- 已报价 -->
+						<div ng-if="inquiryMould.replyable && inquiryMould.status == 201 && inquiryMould.adoptstatus == null && inquiryMould.checked != 1 && inquiryMould.valid != 0">
+							<span ng-show="!inquiryMould.$editing">
+								<a ng-click="inquiryMould.$editing=!inquiryMould.$editing;setOrdersRead(inquiryMould.id)">修改报价</a>
+							</span>
+							<span ng-show="inquiryMould.$editing">
+								<a ng-click="inquiryMould.$editing=!inquiryMould.$editing;reload()"
+									class="btn btn-xs btn-link text-error">取消</a>&nbsp;
+								<a ng-click="onReplyClick(inquiryMould, true);setOrdersRead(inquiryMould.id)"
+									class="btn btn-link btn-xs text-inverse">
+									保存并确认报价
+								</a>
+								<!-- <a ng-click="" class="btn-xs">上传附件</a> -->
+							</span>
+						</div>
+					</div>
+				</td>
+			</tr>
+			<tr class="order-bd">
+				<td class="product">
+					<div class="text-mould" ng-repeat="items in inquiryMould.inquiryMouldItems">
+						<div class="text-num text-bold text-ps" >
+							<span>模具:</span>{{items.psCode}}-{{items.psName}}
+						</div>
+						<div class="text-muted" ng-repeat="prod in items.inquiryMouldDetails">
+							<div><span class="text-bold color-black">物料:</span><span class="text-detail" title="{{prod.prodCode}}-{{prod.prodTitle}}-{{prod.prodSpec}}">{{prod.prodCode}}-{{prod.prodTitle}}-{{prod.prodSpec}}</span></div>
+						</div>
+					</div>
+					<div ng-if="inquiryMould.attachs.length" class="text-muted">
+						附件:<a class="file" ng-repeat="attach in inquiryMould.attachs" href="file/{{attach.id}}">{{::attach.name}}</a>
+					</div>
+					<div ng-if="inquiryMould.sellAttachs.length" class="text-muted">
+						供应商附件:
+						<div ng-repeat="attach in inquiryMould.sellAttachs track by $index">
+							<a class="file"  href="file/{{attach.id}}">{{::attach.name}}</a>
+							<a style="color: #ff2222" ng-click="removeFile(inquiryMould, attach)">删除</a>
+						</div>
+					</div>
+				<!-- 	<div ng-if="inquiryMould.$editing && inquiryMould.attachs.length" class="text-muted">
+						附件:<a class="file" ng-repeat="attach in inquiryMould.attachs" href="" title="编辑报价时无法获取附件">{{::attach.name}}</a>
+					</div>-->
+					<div ng-if="inquiryMould.$editing"
+						 class="input-group input-group-sm col-sm-10" style="padding-top: 5px;">
+						<span class="input-group-addon">上传附件:</span>
+						<input type="file" ng-model="myFiles" ng-file-select
+							ng-multiple="true" class="form-control input-sm" name="inquiryMould.sellAttachs"
+							id="inquiryMould.sellAttachs">
+						<span class="input-group-btn">
+							<button ng-click="pushFile(inquiryMould, myFiles);notZero(inquiryMould)"
+								ng-disabled="!myFiles"
+								class="btn btn-success" type="button" >确认上传</button>
+						</span>
+					</div>
+				</td>
+				<td class="text-center">
+				</td>
+				<td class="text-center">
+					<div ng-repeat="items in inquiryMould.inquiryMouldItems">
+						<input type="text" class="text-right input-price input-xs" ng-model="items.price" placeholder="单价(请填数字)" ng-blur="blurPrice(items.price)"
+							ng-change="verifyItems(items.price,items.reply);notZero(inquiryMould)" ng-disabled="!inquiryMould.$editing" ng-init="items.price = isUser?'-':items.price"/>
+						<span ng-if="inquiryMould.$editing" class="text-inverse">*</span>
+						<div ng-repeat="prod in items.inquiryMouldDetails">
+							<input type="text" class="text-right input-price input-xs" ng-model="prod.price" placeholder="单价(请填数字)" ng-blur="blurPrice(prod.price)"
+								ng-change="verifyProds(prod.price,prod.reply);notZero(inquiryMould)" ng-disabled="!inquiryMould.$editing" ng-init="prod.price = isUser?'-':prod.price"/>
+							<span ng-if="inquiryMould.$editing" class="text-inverse">*</span>
+						</div>
+					</div>
+					<div class="dropdown">
+						<a href="javascript:void(0);"
+							class="dropdown-toggle text-default"
+							ng-mouseover="getHistory(inquiryMould)">历史报价<i
+							class="fa fa-fw fa-angle-down"></i></a>
+						<div class="dropdown-menu pane" style="width: 270px;">
+							<div class="pane-body">
+								<ul ng-show="inquiryMould.replyDate" class="list-unstyled list-menu">
+									<li class="col-xs-12" ng-repeat="item in ::inquiryMould.history.inquiryMouldItems">
+										<div ng-repeat="itemReply in item.replies" ng-class="{'text-inverse': $index==0}">
+											<span class="col-xs-3">{{itemReply.reply | number:6}}</span>
+											<div ng-repeat="prodReply in itemReply.prodReplies">
+												<span class="col-xs-3">{{prodReply.reply | number:6}}</span>
+											</div>
+											<span class="col-xs-12">{{itemReply.replyDate | date:"yyyy-MM-dd HH:mm:ss"}}</span>
+											<div class="text-muted col-xs-12">
+												{{inquiryMould.enterprise.enName}}
+											</div>
+										</div>
+									</li>
+
+								</ul>
+								<div ng-if="historyShow">
+								<div ng-show="!inquiryMould.replyDate"
+									 class="text-center text-muted">暂无历史报价</div></div>
+								<div ng-if="!historyShow">
+									<div class="text-center text-muted">无法访问,没有客户模具询价-查看历史报价权限!</div></div>
+							</div>
+						</div>
+					</div>
+				</td>
+				<td></td>
+				<td>
+				</td>
+				<td>
+				</td>
+				<td class="text-center">
+					<div ng-if="inquiryMould.status == 200 && inquiryMould.overdue == 0 && inquiryMould.valid != 0 && inquiryMould.adoptStatus == null" class="block">
+						<span class="text-waiting">待报价</span>
+					</div>
+					<div ng-if="inquiryMould.status == 201 && inquiryMould.adoptStatus == null && inquiryMould.valid != 0" class="block">
+						<span class="text-trans warning">已报价</span>
+						<div ng-if="inquiryMould.check == 1" class="text-muted" style="padding-top: 50px;">客户正在<br>审批...</div>
+					</div>
+					<div ng-if="inquiryMould.status == 201 && inquiryMould.adoptStatus == 1 && inquiryMould.valid != 0" class="block">
+						<span class="text-trans success">已采纳</span>
+					</div>
+					<div ng-if="inquiryMould.status == 201 && inquiryMould.adoptStatus == 0 && inquiryMould.valid != 0" class="block">
+						<span class="text-trans error">未采纳</span>
+					</div>
+					<div ng-if="inquiryMould.overdue == 1 && inquiryMould.status == 200 && inquiryMould.valid != 0" class="block">
+						<span class="text-trans text-muted">已过期</span>
+					</div>
+					<div ng-if="inquiryMould.valid == 0" class="block">
+						<span class="text-trans text-light">已作废</span>
+					</div>
+				</td>
+			</tr>
+		</tbody>
+	</table>
 </div>

+ 28 - 3
src/main/webapp/resources/tpl/index/sale/inquiry_mould_detail.html

@@ -4,9 +4,16 @@ tbody td .input-price {
 	height: 26px;
 	border: 1px solid #d1d1d1;
 }
-
+#order-detail-list .table-default tbody tr td{
+	vertical-align: auto ;
+}
 tbody td div .text-ps,.text-prod {
 	height: auto;
+	width: 450px;
+	text-overflow: ellipsis;
+	white-space: nowrap;
+	overflow: hidden;
+	margin-bottom: 10px;
 }
 
 tbody td div.text-mould {
@@ -47,6 +54,24 @@ tbody td .text-waiting {
 a:hover{
 	cursor: pointer;
 }
+
+#order-detail-list .table-default tbody tr td{
+	vertical-align: auto ;
+}
+tbody td div .text-ps,.text-prod {
+	height: auto;
+	width: 450px;
+	text-overflow: ellipsis;
+	white-space: nowrap;
+	overflow: hidden;
+	margin-bottom: 10px;
+}
+	.product div.text-prod .over-txt{
+		width: 450px;
+		text-overflow: ellipsis;
+		white-space: nowrap;
+		overflow: hidden;
+	}
 </style>
 <div class="pane base-info" id="order-detail-list">
 	<div class="pub-com_head">
@@ -126,11 +151,11 @@ a:hover{
 				<tr>
 					<td class="product" width="380">
 						<div class="text-mould" ng-repeat="items in inquiryMould.inquiryMouldItems">
-							<div class="text-num text-bold text-ps" >
+							<div class="text-num text-bold text-ps" title="{{items.psCode}}-{{items.psName}}">
 								{{items.psCode}}-{{items.psName}}
 							</div>
 							<div class="text-muted text-prod" ng-repeat="prod in items.inquiryMouldDetails">
-								<div>{{prod.prodCode}}-{{prod.prodTitle}}-{{prod.prodSpec}}</div>
+								<div class="over-txt" title="{{prod.prodCode}}-{{prod.prodTitle}}-{{prod.prodSpec}}">{{prod.prodCode}}-{{prod.prodTitle}}-{{prod.prodSpec}}</div>
 							</div>
 						</div>
 					</td>