Browse Source

Merge branch 'hotfix-1899-hb' into dev

# Conflicts:
#	src/main/webapp/resources/tpl/index/sale/inquiry_mould.html
huangb 7 years ago
parent
commit
ca4b07776a

+ 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://192.168.253.12:23396
+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

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

@@ -1,546 +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;
-}
-
-/* 清楚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 class="text-mu">模具:</span> <span class="text-detail" title="{{items.psCode}}-{{items.psName}}">{{items.psCode}}-{{items.psName}}</span>
-						</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>
+<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>

+ 20 - 2
src/main/webapp/resources/tpl/index/sale/inquiry_mould_detail.html

@@ -54,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">
@@ -133,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>