|
|
@@ -0,0 +1,388 @@
|
|
|
+<style>
|
|
|
+ .text-trans {
|
|
|
+ right: 24px
|
|
|
+ }
|
|
|
+ .base-info {
|
|
|
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
|
|
+ -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
|
|
+ -o-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
|
|
+ -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
|
|
+ border-radius: 5px;
|
|
|
+ /*min-height: 1066px;*/
|
|
|
+ background: #fff;
|
|
|
+ width: 1026px;
|
|
|
+ }
|
|
|
+ #order-detail-list {
|
|
|
+ font-size: 14px;
|
|
|
+ }
|
|
|
+ .pub-com_head, .com_head {
|
|
|
+ width: 100%;
|
|
|
+ height: 35px;
|
|
|
+ line-height: 35px;
|
|
|
+ background: #5078cb;
|
|
|
+ border-radius: 5px 5px 0 0;
|
|
|
+ /* background: url(../img/approvalFlow/comm_bg01.png) no-repeat left; */
|
|
|
+ /* background-color: #f5f5f5; */
|
|
|
+ /* background-size: 100% 100%; */
|
|
|
+ }
|
|
|
+ .pub-com_head span, .com_head span {
|
|
|
+ margin-left: 10px;
|
|
|
+ color: #fff;
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+ .pub-com_head .p-right {
|
|
|
+ float: right;
|
|
|
+ }
|
|
|
+ .pane .pane-body {
|
|
|
+ /*padding: 15px!important;*/
|
|
|
+ }
|
|
|
+ com_title01, .title-div {
|
|
|
+ /*border-bottom: 1px dashed #3f84f6 !important;*/
|
|
|
+ }
|
|
|
+ .title-div {
|
|
|
+ color: #5078cb;
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: 600;
|
|
|
+ /*padding-left: 20px !important;*/
|
|
|
+ height: 50px;
|
|
|
+ padding-top: 11px;
|
|
|
+ position: relative;
|
|
|
+ }
|
|
|
+ .f14 {
|
|
|
+ font-size: 14px !important;
|
|
|
+ }
|
|
|
+ #order-detail-list .row {
|
|
|
+ width: 96%;
|
|
|
+ margin: 0 auto;
|
|
|
+ line-height: 30px;
|
|
|
+ }
|
|
|
+ .base-info .item {
|
|
|
+ line-height: 26px;
|
|
|
+ /* border-bottom: 1px dotted #e8e8e8; */
|
|
|
+ padding: 5px 0;
|
|
|
+ }
|
|
|
+ #order-detail-list .title {
|
|
|
+ font-weight: inherit;
|
|
|
+ }
|
|
|
+ .base-info .title {
|
|
|
+ float: left;
|
|
|
+ width: 92px;
|
|
|
+ color: #333;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+ #order-detail-list .content {
|
|
|
+ color: #666;
|
|
|
+ }
|
|
|
+ .base-info .content {
|
|
|
+ float: left;
|
|
|
+ white-space: nowrap;
|
|
|
+ }
|
|
|
+ .title-div .end {
|
|
|
+ position: absolute;
|
|
|
+ top: 10px;
|
|
|
+ right: 0;
|
|
|
+ line-height: 24px;
|
|
|
+ padding-left: 15px;
|
|
|
+ background: #fff;
|
|
|
+ z-index: 2;
|
|
|
+ }
|
|
|
+ .block {
|
|
|
+ background-color: #fff;
|
|
|
+ border-radius: 5px;
|
|
|
+ width: 100%;
|
|
|
+ position: relative;
|
|
|
+ margin-bottom: 0px;
|
|
|
+ }
|
|
|
+ #order-detail-list .table-default .header {
|
|
|
+ box-shadow: none;
|
|
|
+ border: none;
|
|
|
+ background: none;
|
|
|
+ background: #f9f9f9;
|
|
|
+ }
|
|
|
+ #order-detail-list .table-default .header th {
|
|
|
+ display: inline-block;
|
|
|
+ border-bottom: none;
|
|
|
+ font-weight: normal;
|
|
|
+ color: #999;
|
|
|
+ }
|
|
|
+ #order-detail-list .table-default th, #order-detail-list .table-default td {
|
|
|
+ /*border-top: #ddd 1px dotted;*/
|
|
|
+ }
|
|
|
+ #order-detail-list .table-default tbody tr {
|
|
|
+ background: none;
|
|
|
+ position: relative;
|
|
|
+ }
|
|
|
+ #order-detail-list .table-default tbody tr td {
|
|
|
+ vertical-align: middle;
|
|
|
+ color: #323232;
|
|
|
+ position: relative;
|
|
|
+ padding: 25px 0px;
|
|
|
+ }
|
|
|
+ [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak, .ng-hide:not(.ng-hide-animate) {
|
|
|
+ display: none !important;
|
|
|
+ }
|
|
|
+ .text-bold {
|
|
|
+ font-weight: 700;
|
|
|
+ }
|
|
|
+
|
|
|
+ .text-num {
|
|
|
+ font-style: normal;
|
|
|
+ word-break: break-all;
|
|
|
+ font-size: 14px;
|
|
|
+ }
|
|
|
+ .text-muted {
|
|
|
+ color: #333;
|
|
|
+ font-size: 14px;
|
|
|
+ }
|
|
|
+ .bottomB {
|
|
|
+ border-bottom: 2px solid #f5f5f5;
|
|
|
+ padding: 15px 30px 15px 15px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .title-div .f14{
|
|
|
+ border-left: 5px solid #5078cb;padding-left: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .order-number {
|
|
|
+ position: absolute;
|
|
|
+ top: -1px;
|
|
|
+ left: -1px;
|
|
|
+ width: 20px;
|
|
|
+ height: 20px;
|
|
|
+ line-height: 20px;
|
|
|
+ text-align: center;
|
|
|
+ background: #f9f9f9;
|
|
|
+ font-weight: 500;
|
|
|
+ border: solid 1px #d5d5d5;
|
|
|
+ border-radius: 0 0 10px 0;
|
|
|
+ }
|
|
|
+ #order-detail-list .table-default tbody tr td.product {
|
|
|
+ padding-left: 30px;
|
|
|
+ }
|
|
|
+ #order-detail-list .table-default tbody tr td{
|
|
|
+ border-right: 1px solid #e8e8e8;
|
|
|
+ }
|
|
|
+ .text-trans {
|
|
|
+ top: -20px;
|
|
|
+ }
|
|
|
+</style>
|
|
|
+<div class="pane base-info fr" id="order-detail-list">
|
|
|
+ <div class="pub-com_head">
|
|
|
+ <span>委外加工单</span>
|
|
|
+ <div class="p-right">
|
|
|
+ <a ng-click="print(order)" style="color: #fff;margin-right: 10px" class="pull-right text-simple"><i
|
|
|
+ class="fa fa-print fa-fw"></i>打印</a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="pane-body">
|
|
|
+ <div class="bottomB">
|
|
|
+ <div class="title-div">
|
|
|
+ <span class="f14">委外资料</span>
|
|
|
+ </div>
|
|
|
+ <div class="row row-sm item">
|
|
|
+ <div class="col-xs-6">
|
|
|
+ <span class="title">委外单号</span>
|
|
|
+ <div class="content" ng-bind="::order.code"></div>
|
|
|
+ </div>
|
|
|
+ <div class="col-xs-6">
|
|
|
+ <span class="title">日期</span>
|
|
|
+ <div class="content" ng-bind="::order.date | date:'yyyy-MM-dd'"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="row row-sm item">
|
|
|
+ <div class="col-xs-6">
|
|
|
+ <span class="title">客户</span>
|
|
|
+ <div class="content" ng-bind="::order.enterprise.enName"></div>
|
|
|
+ </div>
|
|
|
+ <div class="col-xs-6">
|
|
|
+ <span class="title">录单人</span>
|
|
|
+ <div class="content" ng-bind="::order.recorder"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="bottomB">
|
|
|
+ <div class="title-div" >
|
|
|
+ <span class="f14">交易信息</span>
|
|
|
+ </div>
|
|
|
+ <div class="row row-sm item">
|
|
|
+ <div class="col-xs-6">
|
|
|
+ <span class="title">币别</span>
|
|
|
+ <div class="content" ng-bind="::order.currency"></div>
|
|
|
+ </div>
|
|
|
+ <div class="col-xs-6">
|
|
|
+ <span class="title">金额</span>
|
|
|
+ <div class="content" ng-bind="::(isUser ? '-' : order.total) | number: 2"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="row row-sm item">
|
|
|
+ <div class="col-xs-6">
|
|
|
+ <span class="title">付款方式</span>
|
|
|
+ <div class="content" ng-bind="::order.payments"></div>
|
|
|
+ </div>
|
|
|
+ <div class="col-xs-6">
|
|
|
+ <span class="title">交货地址</span>
|
|
|
+ <div class="content" ng-bind="::order.shipAddress "></div>
|
|
|
+ <div class="content" ng-if="!order.shipAddress ">无</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="bottomB">
|
|
|
+ <div class="title-div">
|
|
|
+ <span class="f14">产品清单</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="block">
|
|
|
+ <table class="block table table-default table-striped table-hover" style="margin-bottom: 0;">
|
|
|
+ <thead>
|
|
|
+ <tr class="header">
|
|
|
+ <!--<th width="50">序号</th>-->
|
|
|
+ <th width="400" style="text-align: center">产品</th>
|
|
|
+ <th width="100" style="text-align: center">单价</th>
|
|
|
+ <th width="100" style="text-align: center">数量</th>
|
|
|
+ <th width="120" style="text-align: center">交货日期</th>
|
|
|
+ <th width="180" style="text-align: center">回复状态</th>
|
|
|
+ <th width="126" style="text-align: center">操作</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ </table>
|
|
|
+ <table class="block table table-default table-striped table-hover" ng-class="{'scoroll':order.orderItems.length>10}">
|
|
|
+ <tbody>
|
|
|
+ <tr>
|
|
|
+ <!--<td class="text-center text-num text-bold f-16 text-success" width="50">-->
|
|
|
+ <!--<span >{{$index+1}}</span>-->
|
|
|
+ <!--</td>-->
|
|
|
+ <td class="product" width="400">
|
|
|
+ <div class="text-num order-number text-overflow" title="第{{$index + 1}}行">{{$index + 1}}</div>
|
|
|
+ <div class="text-num text-bold" style="width: 100%;color: #333;" title="{{::order.product.code}}">
|
|
|
+ 物料编号:<span ng-bind="::order.product.code"></span>
|
|
|
+ </div>
|
|
|
+ <div class="text-overflow f14" style="color: #333;font-size: 14px;" title="{{::order.product.title}}">
|
|
|
+ 物料名称:<span ng-bind="::order.product.title"></span>
|
|
|
+ </div>
|
|
|
+ <div class="text-muted text-over text-overflow" title="{{::order.product.spec}}" style="color: #333;word-break: break-word;" >
|
|
|
+ 物料规格:{{::order.product.spec}}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td width="100" class="text-center">
|
|
|
+ <div ng-if="!isUser" class="text-num" ng-bind="::order.price | number:6"></div>
|
|
|
+ <div class="text-muted">税率:{{order.taxrate || 0}}%</div>
|
|
|
+ </td>
|
|
|
+ <td width="100" 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="text" ng-model="order.reply.qty" min="0" max="{{order.qty}}"
|
|
|
+ ng-init="order.reply.qty=order.qty-order.replyQty"
|
|
|
+ class="form-control input-xs" placeholder="0~{{order.qty-order.replyQty}}">
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td width="120" class="text-center">
|
|
|
+ <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"
|
|
|
+ ng-init="order.reply.delivery=parseDate(order.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 width="180">
|
|
|
+ <div ng-show="!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': order.replyQty>=order.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-repeat="reply in ::order.replies">
|
|
|
+ <div class="row row-sm"
|
|
|
+ ng-class="{'text-inverse': $index==0}">
|
|
|
+ <div class="col-xs-6">
|
|
|
+ <span ng-if="reply.qty < 0"> 撤销</span>
|
|
|
+ 数量 {{::reply.qty}}
|
|
|
+ </div>
|
|
|
+ <div class="col-xs-6">交期{{::reply.delivery |
|
|
|
+ date:'yyyy-MM-dd'}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="text-muted" style="font-size: 12px">{{::reply.recorder}}{{::reply.date
|
|
|
+ | date:'yyyy-MM-dd HH:mm:ss'}}回复</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>
|
|
|
+ <div ng-if="order.acceptQty" class="text-success text-center text-bold f14">
|
|
|
+ 客户验收:{{::order.acceptQty}}{{::order.product.unit}}
|
|
|
+ </div>
|
|
|
+ <div ng-if="order.returnQty" class="text-error text-center text-bold f14">
|
|
|
+ 客户验退:{{::order.returnQty}}{{::order.product.unit}}
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td width="126" class="text-center">
|
|
|
+ <div ng-if="order.replyQty>=order.qty" 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">
|
|
|
+ <br ng-if="order.replyQty>=order.qty">
|
|
|
+ <br ng-if="order.replyQty>=order.qty">
|
|
|
+ <div ng-show="!order.$editing">
|
|
|
+ <a ng-click="order.$editing=!order.$editing">回复</a>
|
|
|
+ </div>
|
|
|
+ <div ng-if="order.$editing">
|
|
|
+ <div>
|
|
|
+ <a ng-click="order.$editing=!order.$editing">取消</a>
|
|
|
+ </div>
|
|
|
+ <br>
|
|
|
+ <div>
|
|
|
+ <a ng-click="onReplyClick(order)" class="text-inverse">
|
|
|
+ <i class="fa fa-arrow-up"></i> 确认回复
|
|
|
+ </a>
|
|
|
+ <br>
|
|
|
+ <a ng-click="onReplyClick(order, -1)" class="text-muted" title="减去已回复数量">
|
|
|
+ <i class="fa fa-arrow-down"></i> 撤销回复</a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</div>
|