Jelajahi Sumber

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@1232 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d

suntg 10 tahun lalu
induk
melakukan
5c2519a135

+ 110 - 0
src/main/webapp/resources/tpl/index/make/index.html

@@ -0,0 +1,110 @@
+<div class="sale">
+	<!-- 顶部状态 Start -->
+	<div class="row block state" ng-controller="TodoCtrl">
+		<div class="col-xs-6 todo">
+			<ul class="list-unstyled list-inline">
+				<li>
+					<div class="title">
+						<a ui-sref="sale.todo.inquiry">待报价</a>
+					</div>
+					<div class="count"><i class="fa fa-calculator"></i>&nbsp;&nbsp;
+						<span ng-class="{'text-inverse': todo.inquiry > 0}">{{todo.inquiry || 0}}</span>
+					</div>
+				</li>
+				<li>
+					<div class="title">
+						<a ui-sref="sale.todo.notice">待发货</a>
+					</div>
+					<div class="count"><i class="fa fa-send-o"></i>&nbsp;&nbsp;
+						<span ng-class="{'text-inverse': todo.notice > 0}">{{todo.notice || 0}}</span>
+					</div>
+				</li>
+				<li>
+					<div class="title">
+						<a href="#/sale/accept">客户已收货</a>
+					</div>
+					<div class="count"><i class="fa fa-thumbs-o-up"></i></div>
+				</li>
+				<li>
+					<div class="title">
+						<a ui-sref="sale.todo.order">待回复</a>
+					</div>
+					<div class="count"><i class="fa fa-comments-o"></i>&nbsp;&nbsp;
+						<span ng-class="{'text-inverse': todo.order > 0}">{{todo.order || 0}}</span>
+					</div>
+				</li>
+				<li>
+					<div class="title">
+						<a ui-sref="sale.todo.change">变更中</a>
+					</div>
+					<div class="count"><i class="fa fa-refresh"></i>&nbsp;&nbsp;
+						<span ng-class="{'text-inverse': todo.orderChange > 0}">{{todo.orderChange || 0}}</span>
+					</div>
+				</li>
+				<li>
+					<div class="title">
+						<a href="#/sale/returns">客户退货</a>
+					</div>
+					<div class="count"><i class="fa fa-thumbs-o-down"></i></div>
+				</li>
+			</ul>
+		</div>
+		<div class="col-xs-6 level">
+			<h3 class="f14">
+				销售等级: <i class="fa fa-star-o"></i>
+			</h3>
+			<div class="progress">
+				<div class="progress-bar progress-bar-success" style="width: 40%">
+					<span class="sr-only">40%</span>
+				</div>
+			</div>
+			<div>
+				<span class="text-simple">距离下一等级还差6000成长点</span><span
+					class="pull-right">查看成长介绍</span>
+			</div>
+		</div>
+	</div>
+	<!-- 顶部状态 End -->
+	<!-- Start -->
+	<div class="sale-main">
+		<div class="left">
+			<div class="pane">
+				<div class="pane-header">采购趋势分析</div>
+				<div class="pane-body"></div>
+			</div>
+			<div class="pane">
+				<div class="pane-header">卖家成长</div>
+				<div class="pane-body"></div>
+			</div>
+			<div class="pane">
+				<div class="pane-header">物流服务</div>
+				<div class="pane-body"></div>
+			</div>
+		</div>
+		<div class="right">
+			<div class="pane notice">
+				<div class="pane-header">新手入门</div>
+				<div class="pane-body">
+					<ul class="list-unstyled detail">
+						<li><a href="#" class="text-light">供应商操作教程</a></li>
+						<li><a href="#" class="text-light">如何给采购商报价</a></li>
+						<li><a href="#" class="text-light">如何给采购商报价</a></li>
+						<li><a href="#" class="text-light">如何给采购商报价</a></li>
+						<li><a href="#" class="text-light">如何给采购商报价</a></li>
+					</ul>
+				</div>
+			</div>
+			<div class="pane">
+				<div class="pane-header">营销工具</div>
+				<div class="pane-body"></div>
+			</div>
+			<div class="pane addon">
+				<div class="pane-body">
+					<a class="text-default"><i class="fa fa-plus fa-3x"></i><span>添加销售模块</span></a>
+				</div>
+			</div>
+
+		</div>
+	</div>
+	<!-- End -->
+</div>

+ 51 - 0
src/main/webapp/resources/tpl/index/make/left.html

@@ -0,0 +1,51 @@
+<div class="left-nav left-home">
+	<div class="nav-home">
+		<a ui-sref="sale.home" class="text-default"><span
+			class="glyphicon glyphicon-home icon-left"></span>委外</a>
+	</div>
+</div>
+<div class="left-nav">
+	<div class="nav-label">
+		<i></i>委外管理
+	</div>
+	<ul class="list-unstyled">
+		<li ui-sref-active="active"><a ui-sref="make.order">客户委外加工单</a></li>
+		<li ui-sref-active="active"><a ui-sref="sale.change">客户委外变更单</a></li>
+		<li ui-sref-active="active"><a ui-sref="sale.notice">委外发货提醒</a></li>
+	</ul>
+</div>
+<div class="left-nav">
+	<div class="nav-label">
+		<i></i>委外出货管理
+	</div>
+	<ul class="list-unstyled">
+		<li ui-sref-active="active"><a ui-sref="sale.send">委外发货单</a></li>
+		<li ui-sref-active="active"><a ui-sref="sale.accept">客户委外验收单</a></li>
+		<li ui-sref-active="active"><a ui-sref="sale.returns">客户委外退货单</a></li>
+	</ul>
+</div>
+<div class="left-nav">
+	<div class="nav-label">
+		<i></i>增值服务
+	</div>
+	<ul class="list-unstyled">
+		<li><a>SAAS服务</a></li>
+		<li><a>电子元器件市场</a></li>
+		<li><a>商机库</a></li>
+		<li><a>我的物流</a></li>
+	</ul>
+</div>
+<div class="left-nav">
+	<div class="nav-label">
+		<i></i>自定义菜单
+	</div>
+	<ul class="list-unstyled">
+		<li><a>添加自定义菜单<span class="pull-right"><i class="fa fa-plus icon-right"></i></span></a></li>
+	</ul>
+</div>
+<div class="left-nav">
+	<ul class="list-unstyled">
+		<li><a href="serve">问题反馈<span class="pull-right"><i class="fa fa-bell-o icon-right"></i></span></a></li>
+		<li><a href="serve">客服中心<span class="pull-right"><i class="fa fa-headphones icon-right"></i></span></a></li>
+	</ul>
+</div>

+ 545 - 0
src/main/webapp/resources/tpl/index/make/notice.html

@@ -0,0 +1,545 @@
+<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 .order-hd .dropdown-toggle {
+	line-height: 40px;
+	display: block;
+	padding: 0 10px;
+}
+
+.order-table>tbody {
+	border: 1px solid transparent;
+}
+
+.order-table>tbody:hover {
+	border-color: #56a022;
+	border-width: 2px;
+}
+
+.order-table .operates {
+	display: none;
+}
+
+.order-table>tbody:hover .operates {
+	display: block;
+}
+
+.order-table .order-bd {
+	border-bottom: 1px solid #e6e6e6;
+}
+
+.order-table .order-bd>td {
+	padding: 10px 5px;
+	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;
+}
+
+.order-snapshot .title {
+	border-top: 1px dashed #ddd;
+}
+
+.order-snapshot .dl-horizontal dt {
+	width: 60px;
+	text-align: left;
+	font-weight: normal;
+	color: #999;
+	padding: 4px 0;
+}
+
+.order-snapshot .dl-horizontal dd {
+	margin-left: 80px;
+	padding: 4px 0;
+}
+/*arrow*/
+.order-send {
+	position: relative;
+}
+
+.order-send.arrow-border:before,.arrow-border:after {
+	content: '';
+	position: absolute;
+	top: 20px;
+	width: 0;
+	height: 0;
+	border: 7px solid transparent;
+}
+
+.order-send.arrow-border.arrow-bottom-right:before {
+	content: '';
+	position: absolute;
+	left: -13px;
+	border-bottom-color: #fff;
+	border-right-color: #fff;
+	margin-top: -10px;
+}
+.padding-20 {
+	padding: 20px;
+}
+
+/* 动画 */
+.repeat.ng-enter,
+.repeat.ng-leave {
+  -webkit-transition: 0.5s linear all;
+  transition: 0.5s linear all;
+}
+
+.repeat.ng-enter,
+.repeat.ng-leave.ng-leave-active {
+  opacity: 0;
+}
+
+.repeat.ng-leave,
+.repeat.ng-enter.ng-enter-active {
+  opacity: 1;
+}
+
+/* 固定表头 */
+.fixedHeader {
+	background-color: #f5f5f5; 
+	position: relative; 
+}
+
+</style>
+<div class="block">
+<div class="loading in" ng-class="{'in': loading}">
+	<i></i>
+</div>
+<div class="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')">全部</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')">已发货</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')">待发货</button>
+					</div>
+					<div class="btn-group btn-group-sm" title="暂时还未到可发货日期">
+						<button type="button" class="btn btn-default btn-line"
+							ng-class="{'btn-info':active=='waiting'}" ng-click="setActive('waiting')">备料中</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>
+			</div>
+			<div class="col-xs-6">
+				<div class="search">
+					<div class="form-group form-group-sm has-feedback">
+						<input type="search" class="form-control input-sm" ng-model="keyword" ng-search="onSearch()" placeholder="输入商品、客户名称或单据流水号搜索" /><span
+							class="form-control-feedback text-simple"><i
+							class="fa fa-search"></i></span>
+					</div>
+				</div>
+			</div>
+			<div class="col-xs-2 toggle">
+				<a ng-click="condition.$open=!condition.$open" class="text-simple"><span ng-bind="condition.$open ? '简化筛选条件' : '更多筛选条件'"></span><i class="fa fa-fw" ng-class="{'fa-angle-up': condition.$open, 'fa-angle-down': !condition.$open}"></i></a>
+			</div>
+		</div>
+		<div class="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">
+				  <button type="button" dropdown-toggle style="width: 85px;" class="btn btn-default btn-xs dropdown-toggle">
+				    	{{dateZoneText}}<i class="fa fa-fw fa-angle-down icon-right"></i></span>
+				  </button>
+				  <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="点击选择起始日期" readonly="readonly"
+							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-click="openDatePicker($event, condition, '$fromOpened')"
+							ng-change="onDateCondition()">
+						<span class="input-group-btn">
+							<button type="button" class="btn btn-default"
+								ng-click="openDatePicker($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="点击选择截止日期" readonly="readonly"
+							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-click="openDatePicker($event, condition, '$toOpened')"
+							ng-change="onDateCondition()">
+						<span class="input-group-btn">
+							<button type="button" class="btn btn-default"
+								ng-click="openDatePicker($event, condition, '$toOpened')">
+								<i class="fa fa-calendar"></i>
+							</button>
+						</span>
+					</div>
+			  </div>
+			</form>
+		</div>
+	</div>
+<table class="order-table block" ng-table="tableParams">
+	<thead>
+		<tr class="header">
+			<th width="280">商品</th>
+			<th width="120">备注</th>
+			<th width="240">数量</th>
+			<th width="90">价格</th>
+			<th width="120">交货日期</th>
+			<th width="60">操作</th>
+		</tr>
+		<tr class="sep-row">
+			<td colspan="6"></td>
+		</tr>
+		<tr class="toolbar toolbar-top">
+			<td colspan="5">
+				<div>
+					<label><input type="checkbox" class="selector select_all"
+						ng-model="checkboxes.checked" ng-click="checkAll()">全选</label> <a href="javascript:void(0)"
+						ng-disabled="active!='todo'" ng-click="sendByBatch()" class="btn btn-default btn-xs">批量发货</a>
+					<span class="text-muted">
+						&nbsp;&nbsp;<i class="fa fa-exclamation-triangle"></i>批量发货要求对应订单的客户相同、币别相同、收款方式相同。
+						
+					</span>
+				</div> <!-- 分页 -->
+			</td>
+			<td class="text-center">
+				<a href="sale/notice/xls?_state={{active}}&keyword={{keywordXls}}&fromDate={{fromDateXls}}&endDate={{endDateXls}}" target="_self" class="text-simple" title="导出Excel表格"><i class="fa fa-file-excel-o fa-fw"></i>导出</a>
+			</td>
+		</tr>
+		<tr class="sep-row">
+			<td colspan="6"></td>
+		</tr>
+	</thead>
+	<tbody ng-repeat="notice in $data track by notice.id">
+		<tr class="order-hd">
+			<td class="first">
+				<div class="order-main">
+					<span> <input type="checkbox" ng-disabled="notice.waiting" class="selector"
+						ng-model="notice.$selected" ng-click="checkOne(notice)">
+					</span> <span class="text-num text-bold"
+						ng-bind="::notice.date | date:'yyyy-MM-dd'"></span>
+				</div>
+			</td>
+			<td colspan="2"><a
+				ng-bind="notice.orderItem.order.enterprise.enName"></a></td>
+			<td class="text-right dropdown" colspan="2" class="order-sum"><a
+				class="dropdown-toggle" ui-sref="sale.order_detail({id:notice.orderItem.order.id})" target="_self"> <span
+					class="text-num text-bold" ng-bind="::notice.orderItem.order.code"></span>
+					第{{notice.orderItem.number}}行 <i class="fa fa-fw fa-angle-down"></i>
+			</a>
+				<div class="dropdown-menu order-snapshot" style="padding: 10px 15px">
+					<div class="text-center text-bold title">订单快照</div>
+					<dl class="dl-horizontal">
+						<dt>日期</dt>
+						<dd>{{::notice.orderItem.order.date | date : 'yyyy-MM-dd'}}</dd>
+						<dt>采购员</dt>
+						<dd>{{::notice.orderItem.order.user.userName}}</dd>
+						<dt>付款条件</dt>
+						<dd>{{::notice.orderItem.order.payments}}</dd>
+						<dt>付款币别</dt>
+						<dd>{{::notice.orderItem.order.currency}}</dd>
+						<dt>交货地址</dt>
+						<dd>{{::notice.orderItem.order.shipAddress}}</dd>
+						<dt>备注</dt>
+						<dd>{{::notice.orderItem.order.remark}}</dd>
+					</dl>
+				</div></td>
+			<td class="text-center">
+				<div class="operates">
+					<!-- <a ng-click="print(notice)" class="text-muted" title="打印"><i
+						class="fa fa-print fa-lg"></i></a> -->
+				</div>
+			</td>
+		</tr>
+		<tr class="order-bd">
+			<td class="product">
+				<div class="text-num text-bold">
+					<a ng-bind="::notice.orderItem.product.code"></a>
+				</div>
+				<div>
+					<a ng-bind="::notice.orderItem.product.title"></a>
+				</div>
+				<div class="text-muted text-ellipsis"
+					ng-bind="::notice.orderItem.product.spec"></div>
+			</td>
+			<td class="text-center">
+				<div ng-show="!notice.$editing">{{notice.remark}}</div>
+				<div ng-if="notice.$editing">
+					<input type="text" class="form-control input-xs"
+						ng-model="notice.send.code" placeholder="送货单号">
+				</div>
+				<div style="margin: 5px auto" ng-if="notice.$editing" ng-click="autoCode(notice)">
+					<button style="width: 100%;" class="btn btn-default btn-xs">生成随机单号</button>
+				</div>
+			</td>
+			<td class="br-l">
+				<div ng-show="notice.endQty >= notice.qty" class="text-center dropdown">
+					<a href="javascript:void(0);" class="dropdown-toggle text-default" ng-mouseenter="getSends(notice)">发货记录<i class="fa fa-fw fa-angle-down"></i></a>
+					<div class="dropdown-menu order-send arrow-border arrow-bottom-right" style="padding: 10px 15px">
+						<span ng-if="notice.endQty ==0" class="text-muted">还未发货</span>
+						<span ng-show="notice.getSendsing" class="text-muted">加载中...</span>
+						<span ng-show="notice.getSendsError" class="text-muted">加载失败</span>
+						<ul class="list-unstyled list-menu" ng-if="notice.sends">
+							<li ng-repeat="send in notice.sends">
+								<div ng-class="{'text-inverse': $index==0}">
+									{{::send.send.date | date:'MM-dd HH:mm'}}
+								</div>
+								<div class="text-muted">{{::send.send.recorder}} 发货 {{::send.qty}} {{::send.orderItem.product.unit}}</div>
+								<div class="text-muted">单号:{{::send.send.code}}
+									<i class="fa fa-truck fa-flip-horizontal pull-right text-muted"></i>
+								</div>
+								<code ng-if="send.replyRemark"><i class="fa fa-fw fa-warning"></i><span ng-bind="::send.replyRemark"></span></code>
+							</li>
+						</ul>
+					</div>
+				</div>
+				<div ng-show="!notice.endQty || notice.endQty < notice.qty">
+					<div ng-show="!notice.$editing">
+						<ul>
+							<li>本次需求:{{::notice.qty}}<span class="text-muted pull-right">[订单数:{{::notice.orderItem.qty}}]</span></li>
+							<li class="dropdown dropdown-submenu">剩余未发:<span
+								class="text-num text-inverse"
+								ng-bind="notice.qty-(notice.endQty || 0)"></span> <a ng-click="" class="pull-right dropdown-toggle" ng-mouseenter="getSends(notice)"><span
+									ng-class="{'text-muted' : notice.endQty == null || notice.endQty == 0,'text-default': notice.endQty > 0}">[已发货:{{notice.endQty}}]</span></a>
+								<div class="dropdown-menu order-send arrow-border arrow-bottom-right"
+									style="padding: 10px 15px; width: 240px;">
+									<span ng-if="notice.endQty ==0" class="text-muted">还未发货</span>
+									<span ng-show="notice.getSendsing" class="text-muted">加载中...</span>
+									<span ng-show="notice.getSendsError" class="text-muted">加载失败</span>
+									<ul class="list-unstyled list-menu" ng-if="notice.sends">
+										<li ng-repeat="send in notice.sends">
+											<div ng-class="{'text-inverse': $index==0}">
+												{{::send.send.date | date:'MM-dd HH:mm'}}
+											</div>
+											<div class="text-muted">{{::send.send.recorder}} 发货 {{::send.qty}} {{::send.orderItem.product.unit}}</div>
+											<div class="text-muted">单号:{{::send.send.code}}
+												<i class="fa fa-truck fa-flip-horizontal pull-right text-muted"></i>
+											</div>
+											<code ng-if="send.replyRemark"><i class="fa fa-fw fa-warning"></i><span ng-bind="::send.replyRemark"></span></code>
+										</li>
+									</ul>
+								</div>
+							</li>
+						</ul>
+					</div>
+					<div style="margin: 0 auto" ng-if="notice.$editing"
+						ng-init="notice.send.qty=notice.qty-(notice.endQty || 0)">
+						<input type="text" class="form-control input-xs"
+							ng-model="notice.send.qty" placeholder="数量">
+					</div>
+					<div style="margin: 5px auto" ng-if="notice.$editing" >
+						<textarea cols="2" type="text" class="form-control input-xs"
+							ng-model="notice.send.remark" placeholder="备注"></textarea>
+					</div>
+				</div>
+			</td>
+			<td class="text-center br-l text-num">{{::currency(notice.orderItem.order.currency)}}{{::notice.orderItem.price | number:6}}</td>
+			<td class="text-center br-l">
+				<div><span ng-bind="::notice.delivery | date : 'yyyy-MM-dd'"></span></div>
+				<div style="margin-top: 10px;" ng-if="notice.waiting" class="text-inverse">
+					可发货日期<br>
+					<span ng-bind="::sendDate(notice) | date : 'yyyy-MM-dd'"></span>
+				</div>
+			</td>
+			<td class="text-center br-l">
+				<div ng-if="notice.endQty>=notice.qty" class="block">
+					<span class="text-trans success">已发货</span>
+				</div>
+				<div ng-if="notice.end" class="block">
+					<span class="text-trans warning">已取消</span>
+				</div>
+				<div ng-if="(!notice.endQty || notice.endQty<notice.qty) && !notice.end && !notice.waiting">
+					<div ng-show="!notice.$editing">
+						<div ng-show="!isInTruck(notice.id)">
+							<div class="br-b">
+								<a ng-click="notice.$editing=!notice.$editing"><i class="fa fa-send-o fa-lg"></i><br>发 货</a>
+							</div>
+							<div>
+								<a ng-click="addtoTruck(notice)" class="text-simple"><i class="fa fa-ambulance fa-lg"></i><br>加入货车</a>
+							</div>
+						</div>
+						<div ng-show="isInTruck(notice.id)">
+							<div class="text-inverse">已加入<br>货车</div>
+							<div><a ng-click="delFromTruck(notice)" class="text-simple">取出<i class="fa fa-fw fa-share"></i></a></div>
+						</div>
+					</div>
+					<div ng-show="notice.$editing">
+						<div>
+							<a ng-click="notice.$editing=!notice.$editing">取消</a>
+						</div>
+						<br>
+						<div>
+							<a ng-click="onReplyClick(notice)" class="text-inverse">确认发货</a>
+						</div>
+					</div>
+				</div>
+				<div ng-if="(!notice.endQty || notice.endQty<notice.qty) && !notice.end && notice.waiting" class="text-muted">
+					<div title="暂时不可发货"><i class="fa fa-cog fa-lg"></i><br>备料中</div>
+				</div>
+			</td>
+		</tr>
+	</tbody>
+</table>
+</div>
+	<script type="text/ng-template" id="sendByBatch.html">
+        <div class="modal-header">
+            <h3 class="modal-title">批量发货</h3>
+        </div>
+		<form class="sampleSend" name="sampleSendForm" ng-submit="ok(sampleSendForm)">
+        	<div class="modal-body">
+				<div class="row" style="margin-bottom:10px;line-height:30px;">
+					<label class="col-md-3 col-sm-3 text-right"><span class="text-inverse">*</span> 发货单号:</label>
+					<div class="col-md-6 col-sm-6">
+					<input class="form-control input-sm" ng-model="saleSend.code" required type="text" placeholder="请输入发货单号"></div>
+				</div>
+				<div class="row" style="margin-bottom:10px;line-height:30px;">
+					<label class="col-md-3 col-sm-3 text-right">备注:</label>
+					<div class="col-md-6 col-sm-6">
+					<input class="form-control input-sm" ng-model="saleSend.remark" type="text" placeholder="备注"></div>
+				</div>
+				<div id="batchContainer" style="height:450px;overflow-y :scroll;border-collapse: collapse; ">
+					<table class="table table-bordered table-hover">
+						<tbody id="fixedHeader" class="fixedHeader">
+							<tr class="text-center">
+								<th width="30px"></th>
+								<th>商品</th>
+								<th width="90px">剩余未发</th>
+								<th width="100px">本次发货</th>
+								<th width="120px">单价</th>
+								<th width="120px">交货日期</th>
+								<th width="120px">订单</th>
+								<th width="50px" class="text-center">操作</th>
+							</tr>
+						</tbody>
+						<tbody>
+							<tr class="repeat" ng-repeat="notice in notices | orderBy: 'notice.orderItem.product.code'" ng-if="notice.$selected">
+								<td>
+									{{$index+1}}
+								</td>
+								<td>
+									<div ng-bind="::notice.orderItem.product.code"></div>
+									<div ng-bind="::notice.orderItem.product.title"></div>
+									<div class="text-muted" ng-bind="::notice.orderItem.product.spec"></div>
+								</td>
+								<td valign="middle" >
+									<div>
+										<span class="text-num" ng-bind="notice.qty-notice.endQty"></span>&nbsp;
+										<span ng-bind="notice.orderItem.product.unit"></span>
+									</div>
+								</td>
+								<td>
+									<input style="width:80px;" ng-model="notice.thisSendQty" 
+									ng-init="notice.thisSendQty = notice.qty-notice.endQty" class="form-control input-sm" type="number">
+								</td>
+								<td>
+									<div class="text-num">
+										<span ng-bind="::currency(notice.orderItem.order.currency)"></span>
+										<span ng-bind="::notice.orderItem.price|number:6"></span>
+									</div>
+								</td>
+								<td>
+									<div ng-bind="::notice.delivery | date: 'yyyy-MM-dd'"></div>
+								</td>
+								<td>
+									<div ng-bind="::notice.orderItem.order.code"></div>
+									<div>第 <span ng-bind="::notice.orderItem.number"></span> 行</div>
+								</td>
+								<td class="text-center">
+									<a ng-click="removeOne($index)"><i class="fa fa-trash-o fa-lg"></i></a>
+								</td>
+							</tr>
+						</tbody>
+					</table>
+				</div>
+        	</div>
+        	<div class="modal-footer">
+            	<button class="btn btn-primary" ng-click="sendByBatch()" type="button">确认发货</button>
+            	<button class="btn btn-warning" ng-click="cancel()" type="button">取消</button>
+        	</div>
+		</form>
+    </script>

+ 385 - 0
src/main/webapp/resources/tpl/index/make/order.html

@@ -0,0 +1,385 @@
+<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: #56a022;
+	border-width: 2px;
+}
+
+.order-table .operates {
+	display: none;
+}
+
+.order-table .operates i {
+	padding: 0 2px;
+}
+
+.order-table>tbody:hover .operates {
+	display: block;
+}
+
+.order-table .order-bd {
+	border-bottom: 1px solid #e6e6e6;
+}
+
+.order-table .order-bd>td {
+	padding: 10px 5px;
+	vertical-align: top;
+	position: relative;
+}
+
+.order-table .order-bd .product {
+	padding-left: 20px;
+}
+
+.unPrinted {
+	color: #56a022;
+}
+
+.info-container .info:hover {
+	color: #CC3333;
+}
+
+.material {
+	margin-bottom: 10px;
+	padding: 5px 10px;
+	border: solid 1px #cccccc;
+	border-radius: 4px; 
+}
+
+</style>
+<div class="block">
+<div class="loading in" ng-class="{'in': loading}">
+	<i></i>
+</div>
+<div class="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')">全部</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')">已回复</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')">待回复</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>
+			</div>
+			<div class="col-xs-6">
+				<div class="search">
+					<div class="form-group form-group-sm has-feedback" dropdown auto-close="outsideClick" on-toggle="searchAdvance=open">
+						<input type="search" class="form-control input-sm" ng-model="keyword" ng-search="onSearch()" placeholder="输入商品、用料、客户名称或单据流水号搜索" />
+						<div class="search-advance text-link" ng-class="{'active': searchAdvance}" dropdown-toggle>高级搜索</div>
+						<div class="dropdown-menu">
+						   <div class="block">
+						   </div>
+						</div>
+						<span class="form-control-feedback text-simple"><i class="fa fa-search"></i></span>
+					</div>
+				</div>
+			</div>
+			<div class="col-xs-2 toggle">
+				<a ng-click="condition.$open=!condition.$open" class="text-simple"><span ng-bind="condition.$open ? '简化筛选条件' : '更多筛选条件'"></span><i class="fa fa-fw" ng-class="{'fa-angle-up': condition.$open, 'fa-angle-down': !condition.$open}"></i></a>
+			</div>
+		</div>
+		<div class="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">
+				  <button type="button" dropdown-toggle style="width: 85px;" class="btn btn-default btn-xs dropdown-toggle">
+				    	{{dateZoneText}}<i class="fa fa-fw fa-angle-down icon-right"></i></span>
+				  </button>
+				  <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="点击选择起始日期" readonly="readonly"
+							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-click="openDatePicker($event, condition, '$fromOpened')"
+							ng-change="onDateCondition()">
+						<span class="input-group-btn">
+							<button type="button" class="btn btn-default"
+								ng-click="openDatePicker($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="点击选择截止日期" readonly="readonly"
+							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="openDatePicker($event, condition, '$toOpened')"
+							ng-change="onDateCondition()">
+						<span class="input-group-btn">
+							<button type="button" class="btn btn-default"
+								ng-click="openDatePicker($event, condition, '$toOpened')">
+								<i class="fa fa-calendar"></i>
+							</button>
+						</span>
+					</div>
+			  </div>
+			</form>
+		</div>
+	</div>
+<table class="order-table block" ng-table="tableParams">
+	<thead>
+		<tr class="header">
+			<th>商品</th>
+			<th width="80">单价</th>
+			<th width="100">数量</th>
+			<th width="120">交货日期</th>
+			<th width="180">单据状态</th>
+			<th width="80">操作</th>
+		</tr>
+		<tr class="sep-row">
+			<td colspan="6"></td>
+		</tr>
+		<tr class="toolbar toolbar-top">
+			<td colspan="5">
+				<div>
+					<label><input type="checkbox" class="selector select_all"
+						ng-model="checkboxes.checked" ng-click="checkAll()">全选</label> <a ng-if="active=='todo'" href="javascript:void(0)"
+						class="btn btn-default btn-xs" ng-click="replyByBatch()">&nbsp;批量回复&nbsp;</a>
+				</div> <!-- 分页 -->
+			</td>
+			<td class="text-center">
+				<a href="sale/orders/xls?_state={{active}}&keyword={{keywordXls}}&fromDate={{fromDateXls}}&endDate={{endDateXls}}" 
+					target="_self" class="text-simple" title="导出Excel表格"><i class="fa fa-file-excel-o fa-fw"></i>导出</a>
+			</td>
+		</tr>
+		<tr class="sep-row">
+			<td colspan="6"></td>
+		</tr>
+	</thead>
+	<tbody ng-repeat="order in $data track by order.id">
+		<tr class="order-hd" ng-dbclick="order.$collapsed=!order.$collapsed" ng-class="{'text-bold': order.display>0}">
+			<td class="first">
+				<div class="order-main">
+					<span> <input type="checkbox" class="selector"
+						ng-model="order.$selected" ng-click="checkOne(order)">
+					</span> 
+					<span class="text-num text-bold"
+						ng-bind="::order.date | date:'yyyy-MM-dd'"></span> <span>订单号:<span
+						class="text-num" ng-bind="::order.code"></span></span>
+				</div>
+			</td>
+			<td colspan="3"><a ng-bind="::order.enterprise.enName"></a></td>
+			<td colspan="1" class="order-sum">{{::order.currency}}: <span
+				ng-bind="::order.qty * order.price| number : 2"
+				class="text-num text-bold"></span>
+			</td>
+			<td colspan="1" class="text-center">
+				<div class="operates">
+					<a ng-click="order.$collapsed=!order.$collapsed" class="text-muted"
+						title="收拢"><i class="fa fa-toggle-down fa-lg"></i></a>
+				</div>
+			</td>
+		</tr>
+		<tr class="order-bd" ng-if="!order.$collapsed">
+			<td class="product">
+				<div class="text-num text-bold" title="物料编号">
+					<span ng-bind="::order.product.code"></span>
+				</div>
+				<div title="物料名称">
+					<span ng-bind="::order.product.title"></span>
+				</div>
+				<div class="text-muted" title="物料规格"
+					ng-bind="::order.product.spec"></div>
+				<div>
+					计划加工日期:<span class="text-num" ng-bind="::order.commence | date:'yyyy-MM-dd'"></span>
+					 <i class="fa fa-arrows-h text-muted"></i> 
+					<span class="text-num" ng-bind="::order.complete | date:'yyyy-MM-dd'"></span>
+				</div>
+			</td>
+			<td class="text-center">
+				<div class="text-num" ng-bind="::order.price | number:6"></div>
+				<div class="text-muted">税率:{{::order.taxrate || 0}}%</div>
+			</td>
+			<td class="text-center">
+				<div class="text-num" ng-bind="::order.qty"></div>
+				<div class="text-muted" ng-bind="::order.product.unit"></div>
+				<div style="margin: 0 auto" ng-if="order.$editing">
+					<input type="number" ng-model="order.reply.qty" min="0" max="{{item.qty}}"
+						class="form-control input-xs" placeholder="0~{{order.qty-(order.replyQty ? order.replyQty : 0)}}">
+				</div>
+			</td>
+			<td class="text-center br-l">
+				<!-- <div class="text-num" ng-bind="::order.commence | date:'yyyy-MM-dd'"></div>
+				<div>-</div>
+				<div class="text-num" ng-bind="::order.complete | date:'yyyy-MM-dd'"></div> -->
+				<div class="text-num" ng-bind="::order.delivery | date: 'yyyy-MM-dd'"></div>
+				<br>
+				<div style="margin: 0 auto"
+					class="input-group input-group-xs input-trigger"
+					ng-if="order.$editing">
+					<input type="text" ng-model="order.reply.delivery"
+						class="form-control" placeholder="回复交期"
+						datepicker-popup="yyyy-MM-dd" is-open="order.$opened"
+						min-date="order.date" ng-required="true" current-text="今天"
+						clear-text="清除" close-text="关闭"
+						datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
+						ng-focus="openDatePicker($event, order, '$opened')"> <span
+						class="input-group-btn">
+						<button type="button" class="btn btn-default"
+							ng-click="openDatePicker($event, order, '$opened')">
+							<i class="fa fa-calendar"></i>
+						</button>
+					</span>
+				</div>
+			</td>
+			<td class="br-l">
+				<div ng-if="!order.$editing">
+					<div ng-if="!order.replyQty" class="text-muted text-center">未回复</div>
+					<div ng-if="order.replyQty > 0 && order.replyQty < order.qty">
+						<div class="progress progress-sm">
+							<div class="progress-bar progress-bar-success"
+								ng-style="{'width': 100*order.replyQty/order.qty + '%'}">
+								<span class="sr-only"></span>
+							</div>
+						</div>
+						已回复 <span class="text-default">{{::order.replyQty}}</span> /
+						<span>{{::order.qty}}</span>
+					</div>
+					<div ng-if="order.replyQty > 0" class="dropdown" ng-class="{'text-center': item.replyQty>=item.qty}">
+						<a href="javascript:void(0);" class="dropdown-toggle text-default"
+							ng-mouseover="getReply(order)">回复历史<i class="fa fa-fw fa-angle-down"></i></a>
+						<div class="dropdown-menu pane" style="width: 270px;">
+							<div class="pane-body">
+								<ul class="list-unstyled list-menu">
+									<li ng-if="!order.replies">正在加载...</li>
+									<li ng-repeat="reply in ::order.replies">
+										<div class="row row-sm"
+											ng-class="{'text-inverse': $index==0}">
+											<div class="col-xs-6">
+												数量 {{::reply.qty}}
+											</div>
+											<div class="col-xs-6">交期{{::reply.delivery |
+												date:'yyyy-MM-dd'}}</div>
+										</div>
+										<div class="text-muted">{{::reply.recorder}}&nbsp;&nbsp;{{::reply.date
+											| date:'MM-dd HH:mm'}}&nbsp;回复</div>
+									</li>
+								</ul>
+							</div>
+						</div>
+					</div>
+				</div>
+				<div style="margin: 0 auto" ng-if="order.$editing">
+					<br><br><input type="text" ng-model="order.reply.remark"
+						class="form-control input-xs" placeholder="回复备注" />
+				</div>
+			</td>
+			<td class="text-center br-l">
+				<div ng-if="order.replyQty>=order.qty && !item.$editing && !item.end" class="block">
+					<span class="text-trans success">已回复</span>
+				</div>
+				<div ng-if="order.end" class="block">
+					<span class="text-trans warning">已结案</span>
+				</div>
+				<div ng-if="(!order.replyQty || order.replyQty<order.qty) && !order.end">
+					<div ng-show="!order.$editing">
+						<a ng-click="openReply(order)">回复</a>
+					</div>
+					<div ng-if="order.$editing">
+						<div>
+							<a ng-click="closeReply(order)">取消</a>
+						</div>
+						<br>
+						<div class="text-left">
+							<a ng-click="onReplyClick(order)" class="text-inverse">
+								<i class="fa fa-check-square-o"></i> 确认回复
+							</a>
+						</div>
+					</div>
+				</div>
+			</td>
+		</tr>
+		<tr class="order-bd" ng-if="!order.$collapsed">
+			<td colspan="6">
+				<div class="row">
+				</div>
+			</td>
+		</tr>
+	</tbody>
+</table>
+</div>

+ 211 - 0
src/main/webapp/resources/tpl/index/make/right.html

@@ -0,0 +1,211 @@
+<div ui-view class="sale-view view-slide-in"></div>
+<style>
+.rbar {
+	opacity: 1;
+	width: 34px;
+	height: 100%;
+	position: fixed;
+	top: 0;
+	right: 0;
+	padding-top: 85px;
+	color: #555;
+	-webkit-box-shadow: 0 0 7px 0 rgba(119, 119, 119, 0.2);
+	box-shadow: 0 0 7px 0 rgba(119, 119, 119, 0.2);
+	background-color: #fafafa;
+	background: -webkit-linear-gradient(left, #e9e9e9, #fafafa);
+	background: -moz-linear-gradient(left, #e9e9e9, #fafafa);
+	background: -o-linear-gradient(left, #e9e9e9, #fafafa);
+	background: -ms-linear-gradient(left, #e9e9e9, #fafafa);
+	background: linear-gradient(left, #e9e9e9, #fafafa);
+	border-left: 1px solid #d9d9d9;
+	zoom: 1;
+	z-index: 2;
+	background: -o-linear-gradient(left, #e9e9e9, #fafafa);
+}
+
+.rbar a:hover {
+	color: #fff;
+}
+
+.rbar a:hover,.rbar a:focus,.rbar a:active {
+	text-decoration: none;
+}
+
+.rbar .item-wrap {
+	position: relative;
+	cursor: pointer;
+	text-align: center;
+	font-family: "Microsoft YaHei", SimHei, "WenQuanYi Micro Hei", STHeiti;
+	border-bottom: 1px solid #f9f9f9;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
+}
+
+.rbar .item-inner {
+	border-bottom: 1px solid #e3e3e3;
+	width: 34px;
+	display: block;
+}
+
+.rbar .item-wrap:hover {
+	background-color: #56a022;
+	color: #fff;
+}
+
+.rbar .inner-text {
+	width: 20px;
+	padding: 10px 0 5px 0;
+	margin: auto;
+	text-align: center;
+	display: block;
+}
+
+.item-inner .badge {
+	padding: 3px 5px;
+	margin-bottom: 5px;
+	white-space: nowrap;
+	text-overflow: ellipsis;
+	overflow: hidden;
+	background-color: #56a022;
+}
+
+.item-wrap:hover .badge {
+	background-color: #fff;
+	color: #56a022;
+}
+
+.item-wrap .tip {
+	position: absolute;
+	opacity: 0;
+	zoom: 1;
+	right: -100px;
+	top: 0;
+	width: 100px;
+	height: 100%;
+	background-color: #494949;
+	border-radius: 2px 0 0 2px;
+	-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .2);
+	-moz-box-shadow: 0 0 5px rgba(0, 0, 0, .2);
+	box-shadow: 0 0 5px rgba(0, 0, 0, .2);
+	font-size: 12px;
+	text-align: center;
+	color: #fff;
+	-webkit-transition: all 0.35s ease-in-out;
+	-moz-transition: all 0.35s ease-in-out;
+	transition: all 0.35s ease-in-out;
+	z-index: 0;
+}
+
+.item-wrap .tip:after {
+	position: absolute;
+	content: '';
+	top: 30%;
+	right: -10px;
+	width: 0;
+	height: 0;
+	font-size: 0;
+	border: solid 5px;
+	border-color: transparent transparent transparent #494949;
+}
+
+.item-wrap:hover .tip {
+	opacity: 1;
+	right: 32px;
+}
+
+.item-wrap .tip>ul {
+	margin: 0;
+	padding: 0;
+}
+
+.item-wrap .tip>ul>li {
+	color: #fff;
+	padding: 10px;
+	border-bottom: 1px solid #f6f6f6;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
+}
+
+.item-wrap .tip>ul>li>a {
+	color: #fff;
+}
+
+.item-wrap .tip>ul>li:hover {
+	background-color: #56a022;
+}
+
+.rbar .bar-bottom {
+	position: absolute;
+	bottom: 0;
+	left: 0;
+	border-top: 1px solid #e3e3e3;
+}
+
+.bar-bottom .item-wrap:first-child .item-inner {
+	border-top: 1px solid #f9f9f9;
+}
+
+.rbar .icon-left {
+	margin: 8px 10px 0 0;
+	float: left;
+	width: 30%;
+}
+</style>
+<!-- right static-bar Start -->
+<div class="rbar">
+	<div class="item-wrap" ng-controller="TruckCtrl">
+		<div class="item-inner">
+			<span class="inner-text"> <!-- <i class="fa fa-fw fa-truck fa-2x"></i> -->我的货车
+			</span> <span class="badge" ng-bind="truckCount"></span>
+		</div>
+		<div class="tip">
+			<ul class="list-unstyled">
+				<li ng-click="openTrack()"><a><i class="fa fa-cubes fa-2x icon-left"></i>打开<br>货车</a></li>
+				<li ng-click="clearAll()"><a><i class="fa fa-undo fa-2x icon-left"></i>清空<br>货车</a></li>
+			</ul>
+		</div>
+	</div>
+	<div class="bar-center" ng-controller="TodoCtrl">
+		<div class="item-wrap">
+			<a class="item-inner" ui-sref="sale.inquiry"> <span
+				class="inner-text">待报价</span> <span class="badge"
+				ng-bind="todo.inquiry"></span>
+			</a>
+			<div class="tip" style="display: none;">报价</div>
+		</div>
+		<div class="item-wrap">
+			<a class="item-inner" ui-sref="sale.order"> <span
+				class="inner-text">待回复</span> <span class="badge"
+				ng-bind="todo.order"></span>
+			</a>
+		</div>
+		<div class="item-wrap">
+			<a class="item-inner" ui-sref="sale.change"> <span
+				class="inner-text">变更中</span> <span class="badge"
+				ng-bind="todo.orderChange"></span>
+			</a>
+		</div>
+		<div class="item-wrap">
+			<a class="item-inner" ui-sref="sale.notice"> <span
+				class="inner-text">待发货</span> <span class="badge"
+				ng-bind="todo.notice"></span>
+			</a>
+		</div>
+	</div>
+	<div class="bar-bottom">
+		<div class="item-wrap">
+			<div class="item-inner">
+				<span class="inner-text"><i
+					class="fa fa-fw fa-headphones fa-lg"></i></span>
+			</div>
+		</div>
+		<div class="item-wrap">
+			<div class="item-inner">
+				<span class="inner-text"><i class="fa fa-fw fa-tablet fa-lg"></i></span>
+			</div>
+		</div>
+	</div>
+</div>
+<!-- right static-bar End -->