|
|
@@ -1,532 +1,548 @@
|
|
|
-<style>
|
|
|
-.order-table .header>th {
|
|
|
- height: 38px;
|
|
|
- text-align: center;
|
|
|
- background: #f5f5f5;
|
|
|
- border-top: 1px solid #e8e8e8;
|
|
|
- border-bottom: 1px solid #e8e8e8;
|
|
|
-}
|
|
|
-
|
|
|
-.order-table .sep-row {
|
|
|
- height: 10px;
|
|
|
-}
|
|
|
-
|
|
|
-.order-table .selector {
|
|
|
- vertical-align: middle;
|
|
|
- margin: 0 0 2px 0;
|
|
|
-}
|
|
|
-
|
|
|
-.toolbar label {
|
|
|
- margin-right: 10px;
|
|
|
- margin-bottom: 0;
|
|
|
-}
|
|
|
-
|
|
|
-.toolbar .select_all {
|
|
|
- margin: 0 6px 0 10px;
|
|
|
- line-height: 20px;
|
|
|
-}
|
|
|
-
|
|
|
-.toolbar .btn {
|
|
|
- -moz-border-radius: 2px;
|
|
|
- margin-right: 5px;
|
|
|
- border: 1px solid #dcdcdc;
|
|
|
- border-radius: 2px;
|
|
|
- -webkit-border-radius: 2px;
|
|
|
-}
|
|
|
-
|
|
|
-.order-table .order-hd {
|
|
|
- background: #f5f5f5;
|
|
|
- height: 40px;
|
|
|
- line-height: 40px;
|
|
|
-}
|
|
|
-
|
|
|
-.order-table .order-hd td.first {
|
|
|
- padding-left: 20px;
|
|
|
-}
|
|
|
-
|
|
|
-.order-table .order-hd .order-main span {
|
|
|
- margin-right: 8px;
|
|
|
-}
|
|
|
-
|
|
|
-.order-table .order-hd .order-code {
|
|
|
- font-style: normal;
|
|
|
- font-family: verdana;
|
|
|
-}
|
|
|
-
|
|
|
-.order-table .order-hd .order-sum {
|
|
|
- padding: 0 5px;
|
|
|
-}
|
|
|
-
|
|
|
-.order-table>tbody {
|
|
|
- border: 1px solid transparent;
|
|
|
-}
|
|
|
-
|
|
|
-.order-table>tbody:hover {
|
|
|
- border-color: #d32526;
|
|
|
- border-width: 2px;
|
|
|
-}
|
|
|
-
|
|
|
-.order-table .order-bd {
|
|
|
- border-bottom: 1px solid #e6e6e6;
|
|
|
-}
|
|
|
-
|
|
|
-.order-table .order-bd>td {
|
|
|
- padding: 10px 0px;
|
|
|
- vertical-align: top;
|
|
|
- position: relative;
|
|
|
-}
|
|
|
-
|
|
|
-.order-table .order-bd .product {
|
|
|
- padding-left: 20px;
|
|
|
-}
|
|
|
-
|
|
|
-.input-xs,.input-group-xs>.form-control,.input-group-xs>.input-group-addon,.input-group-xs>.input-group-btn>.btn
|
|
|
- {
|
|
|
- height: 26px;
|
|
|
- padding: 0 5px;
|
|
|
- font-size: 12px;
|
|
|
- line-height: 1.5;
|
|
|
- border-radius: 3px;
|
|
|
-}
|
|
|
-
|
|
|
-.input-group-xs .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn {
|
|
|
- border-top-left-radius: 0;
|
|
|
- border-bottom-left-radius: 0;
|
|
|
-}
|
|
|
-
|
|
|
-@media ( min-width : 768px) {
|
|
|
- .form-horizontal .form-group-xs .control-label {
|
|
|
- padding-top: 5px;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-.info-container .info:hover {
|
|
|
- color: #CC3333;
|
|
|
-}
|
|
|
-.input-error{
|
|
|
- background-color: #fff8ee;
|
|
|
- border-color: #CC0033;
|
|
|
-}
|
|
|
-input.input-error:focus {
|
|
|
- background-color: #fff8ee;
|
|
|
- border-color: #CC0033;
|
|
|
-}
|
|
|
-
|
|
|
-tbody td.enddate {
|
|
|
- color: red;
|
|
|
-}
|
|
|
-
|
|
|
-tbody td .text-waiting {
|
|
|
- position: absolute;
|
|
|
- top: 5px;
|
|
|
- background-color: #fff;
|
|
|
- border: 1px solid;
|
|
|
- padding: 3px 14px;
|
|
|
- font-size: 16px;
|
|
|
- font-family: "LiShu";
|
|
|
- border-radius: 10px;
|
|
|
- -moz-transform: rotate(-10deg);
|
|
|
- -webkit-transform: rotate(-10deg);
|
|
|
- -o-transform: rotate(-10deg);
|
|
|
- transform: rotate(-10deg);
|
|
|
- border-radius: 10px;
|
|
|
- opacity: 0.7;
|
|
|
- white-space: nowrap;
|
|
|
- color: #56a022;
|
|
|
- border-color: #56a022;
|
|
|
-}
|
|
|
-
|
|
|
-tbody td .text-trans {
|
|
|
- right:20px;
|
|
|
-}
|
|
|
-
|
|
|
-tbody td .input-price {
|
|
|
- margin: 2px;
|
|
|
- height: 26px;
|
|
|
- border: 1px solid #d1d1d1;
|
|
|
-}
|
|
|
-
|
|
|
-tbody td div .text-ps,.text-prod {
|
|
|
- height: 30px;
|
|
|
-}
|
|
|
-
|
|
|
-tbody td div.text-mould {
|
|
|
- border-bottom: 1px solid #e0e2e3;
|
|
|
-}
|
|
|
-
|
|
|
-.dropdown-menu .pane-body ul>li{
|
|
|
-
|
|
|
-}
|
|
|
-.block{
|
|
|
- /*background: #f5f5f5;*/
|
|
|
-}
|
|
|
-.order-table{
|
|
|
- background: #fff;
|
|
|
-}
|
|
|
-.menu .new-dot{
|
|
|
- width: 20px;
|
|
|
- height: 20px;
|
|
|
- line-height: 20px;
|
|
|
- font-size: 12px;
|
|
|
- color: #fff;
|
|
|
- font-weight: inherit;
|
|
|
- top: -2px;
|
|
|
-}
|
|
|
-.color-black {
|
|
|
- color: #000;
|
|
|
-}
|
|
|
-/* 清楚ie下的输入框X */
|
|
|
-::-ms-clear, ::-ms-reveal{display: none;}
|
|
|
-
|
|
|
- .taxrate-input {
|
|
|
- width: 30px;
|
|
|
- }
|
|
|
-</style>
|
|
|
-<link rel="stylesheet" href="static/css/public.css">
|
|
|
-<div class="block" id="public">
|
|
|
- <div class="loading in" ng-class="{'in': loading}">
|
|
|
- <!--<i></i>-->
|
|
|
- <div class="wrap">
|
|
|
- <div class="outer"></div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="pub-com_head">
|
|
|
- <span>客户模具询价</span>
|
|
|
- <div class="p-right">
|
|
|
- <a href="#" ng-click="exportXls()" target="_self" class="text-simple" title="导出Excel表格"><i class="fa fa-file-text fa-fw"></i>导出</a>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="menu condition block">
|
|
|
- <div class="row">
|
|
|
- <div class="col-xs-4">
|
|
|
- <div class="btn-group btn-group-sm btn-group-justified">
|
|
|
- <div class="btn-group btn-group-sm">
|
|
|
- <button type="button" class="btn btn-default btn-line"
|
|
|
- ng-class="{'btn-info':active=='all'}" ng-click="setActive('all')">全部
|
|
|
- <b class="new-dot" ng-if="unread.all > 0">{{unread.all>99?'99+':unread.all}}</b>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- <div class="btn-group btn-group-sm">
|
|
|
- <button type="button" class="btn btn-default btn-line"
|
|
|
- ng-class="{'btn-info':active=='done'}" ng-click="setActive('done');setOrdersReadByState()">已报价
|
|
|
- <b class="new-dot" ng-if="unread.replied > 0">{{unread.replied>99?'99+':unread.replied}}</b>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- <div class="btn-group btn-group-sm">
|
|
|
- <button type="button" class="btn btn-default btn-line"
|
|
|
- ng-class="{'btn-info':active=='todo'}" ng-click="setActive('todo')">待报价
|
|
|
- <b class="new-dot" ng-if="unread.notReply > 0">{{unread.notReply>99?'99+':unread.notReply}}</b>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- <!--<div class="btn-group btn-group-sm">-->
|
|
|
- <!--<button type="button" class="btn btn-default btn-line"-->
|
|
|
- <!--ng-class="{'btn-info':active=='end'}" ng-click="setActive('end')">已过期</button>-->
|
|
|
- <!--</div>-->
|
|
|
- <div class="btn-group btn-group-sm">
|
|
|
- <button type="button" class="btn btn-default btn-line"
|
|
|
- ng-class="{'btn-info':active=='invalid'}" ng-click="setActive('invalid')">已失效</button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <!--<div class="height10"> </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>
|
|
|
- <!--<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>
|
|
|
- <a ng-click="onReplyClick(inquiryMould)"
|
|
|
- ng-disabled="!canSave"
|
|
|
- class="btn btn-link btn-xs text-success">保存</a>
|
|
|
- <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>
|
|
|
- <a ng-click="onReplyClick(inquiryMould, true);setOrdersRead(inquiryMould.id)"
|
|
|
- class="btn btn-link btn-xs text-inverse">
|
|
|
- 保存并确认报价
|
|
|
- </a>
|
|
|
- <!-- <a ng-click="" class="btn-xs">上传附件</a> -->
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr class="order-bd">
|
|
|
- <td class="product">
|
|
|
- <div class="text-mould" ng-repeat="items in inquiryMould.inquiryMouldItems">
|
|
|
- <div class="text-num text-bold text-ps" >
|
|
|
- <span>模具:</span>{{items.psCode}}-{{items.psName}}
|
|
|
- </div>
|
|
|
- <div class="text-muted" ng-repeat="prod in items.inquiryMouldDetails">
|
|
|
- <div><span class="text-bold color-black">物料:</span>{{prod.prodCode}}-{{prod.prodTitle}}-{{prod.prodSpec}}</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div ng-if="inquiryMould.attachs.length" class="text-muted">
|
|
|
- 附件:<a class="file" ng-repeat="attach in inquiryMould.attachs" href="file/{{attach.id}}">{{::attach.name}}</a>
|
|
|
- </div>
|
|
|
- <div ng-if="inquiryMould.sellAttachs.length" class="text-muted">
|
|
|
- 供应商附件:
|
|
|
- <div ng-repeat="attach in inquiryMould.sellAttachs track by $index">
|
|
|
- <a class="file" href="file/{{attach.id}}">{{::attach.name}}</a>
|
|
|
- <a style="color: #ff2222" ng-click="removeFile(inquiryMould, attach)">删除</a>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <!-- <div ng-if="inquiryMould.$editing && inquiryMould.attachs.length" class="text-muted">
|
|
|
- 附件:<a class="file" ng-repeat="attach in inquiryMould.attachs" href="" title="编辑报价时无法获取附件">{{::attach.name}}</a>
|
|
|
- </div>-->
|
|
|
- <div ng-if="inquiryMould.$editing"
|
|
|
- class="input-group input-group-sm col-sm-10" style="padding-top: 5px;">
|
|
|
- <span class="input-group-addon">上传附件:</span>
|
|
|
- <input type="file" ng-model="myFiles" ng-file-select
|
|
|
- ng-multiple="true" class="form-control input-sm" name="inquiryMould.sellAttachs"
|
|
|
- id="inquiryMould.sellAttachs">
|
|
|
- <span class="input-group-btn">
|
|
|
- <button ng-click="pushFile(inquiryMould, myFiles);notZero(inquiryMould)"
|
|
|
- ng-disabled="!myFiles"
|
|
|
- class="btn btn-success" type="button" >确认上传</button>
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- </td>
|
|
|
- <td class="text-center">
|
|
|
- </td>
|
|
|
- <td class="text-center">
|
|
|
- <div ng-repeat="items in inquiryMould.inquiryMouldItems">
|
|
|
- <input type="text" class="text-right input-price input-xs" ng-model="items.price" placeholder="单价(请填数字)" ng-blur="blurPrice(items.price)"
|
|
|
- ng-change="verifyItems(items.price,items.reply);notZero(inquiryMould)" ng-disabled="!inquiryMould.$editing" ng-init="items.price = isUser?'-':items.price"/>
|
|
|
- <span ng-if="inquiryMould.$editing" class="text-inverse">*</span>
|
|
|
- <div ng-repeat="prod in items.inquiryMouldDetails">
|
|
|
- <input type="text" class="text-right input-price input-xs" ng-model="prod.price" placeholder="单价(请填数字)" ng-blur="blurPrice(prod.price)"
|
|
|
- ng-change="verifyProds(prod.price,prod.reply);notZero(inquiryMould)" ng-disabled="!inquiryMould.$editing" ng-init="prod.price = isUser?'-':prod.price"/>
|
|
|
- <span ng-if="inquiryMould.$editing" class="text-inverse">*</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="dropdown">
|
|
|
- <a href="javascript:void(0);"
|
|
|
- class="dropdown-toggle text-default"
|
|
|
- ng-mouseover="getHistory(inquiryMould)">历史报价<i
|
|
|
- class="fa fa-fw fa-angle-down"></i></a>
|
|
|
- <div class="dropdown-menu pane" style="width: 270px;">
|
|
|
- <div class="pane-body">
|
|
|
- <ul ng-show="inquiryMould.replyDate" class="list-unstyled list-menu">
|
|
|
- <li class="col-xs-12" ng-repeat="item in ::inquiryMould.history.inquiryMouldItems">
|
|
|
- <div ng-repeat="itemReply in item.replies" ng-class="{'text-inverse': $index==0}">
|
|
|
- <span class="col-xs-3">{{itemReply.reply | number:6}}</span>
|
|
|
- <div ng-repeat="prodReply in itemReply.prodReplies">
|
|
|
- <span class="col-xs-3">{{prodReply.reply | number:6}}</span>
|
|
|
- </div>
|
|
|
- <span class="col-xs-12">{{itemReply.replyDate | date:"yyyy-MM-dd HH:mm:ss"}}</span>
|
|
|
- <div class="text-muted col-xs-12">
|
|
|
- {{inquiryMould.enterprise.enName}}
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </li>
|
|
|
-
|
|
|
- </ul>
|
|
|
- <div ng-if="historyShow">
|
|
|
- <div ng-show="!inquiryMould.replyDate"
|
|
|
- class="text-center text-muted">暂无历史报价</div></div>
|
|
|
- <div ng-if="!historyShow">
|
|
|
- <div class="text-center text-muted">无法访问,没有客户模具询价-查看历史报价权限!</div></div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </td>
|
|
|
- <td></td>
|
|
|
- <td>
|
|
|
- </td>
|
|
|
- <td>
|
|
|
- </td>
|
|
|
- <td class="text-center">
|
|
|
- <div ng-if="inquiryMould.status == 200 && inquiryMould.overdue == 0 && inquiryMould.valid != 0 && inquiryMould.adoptStatus == null" class="block">
|
|
|
- <span class="text-waiting">待报价</span>
|
|
|
- </div>
|
|
|
- <div ng-if="inquiryMould.status == 201 && inquiryMould.adoptStatus == null && inquiryMould.valid != 0" class="block">
|
|
|
- <span class="text-trans warning">已报价</span>
|
|
|
- <div ng-if="inquiryMould.check == 1" class="text-muted" style="padding-top: 50px;">客户正在<br>审批...</div>
|
|
|
- </div>
|
|
|
- <div ng-if="inquiryMould.status == 201 && inquiryMould.adoptStatus == 1 && inquiryMould.valid != 0" class="block">
|
|
|
- <span class="text-trans success">已采纳</span>
|
|
|
- </div>
|
|
|
- <div ng-if="inquiryMould.status == 201 && inquiryMould.adoptStatus == 0 && inquiryMould.valid != 0" class="block">
|
|
|
- <span class="text-trans error">未采纳</span>
|
|
|
- </div>
|
|
|
- <div ng-if="inquiryMould.overdue == 1 && inquiryMould.status == 200 && inquiryMould.valid != 0" class="block">
|
|
|
- <span class="text-trans text-muted">已过期</span>
|
|
|
- </div>
|
|
|
- <div ng-if="inquiryMould.valid == 0" class="block">
|
|
|
- <span class="text-trans text-light">已作废</span>
|
|
|
- </div>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- </tbody>
|
|
|
- </table>
|
|
|
+<style>
|
|
|
+.order-table .header>th {
|
|
|
+ height: 38px;
|
|
|
+ text-align: center;
|
|
|
+ background: #f5f5f5;
|
|
|
+ border-top: 1px solid #e8e8e8;
|
|
|
+ border-bottom: 1px solid #e8e8e8;
|
|
|
+}
|
|
|
+
|
|
|
+.order-table .sep-row {
|
|
|
+ height: 10px;
|
|
|
+}
|
|
|
+
|
|
|
+.order-table .selector {
|
|
|
+ vertical-align: middle;
|
|
|
+ margin: 0 0 2px 0;
|
|
|
+}
|
|
|
+
|
|
|
+.toolbar label {
|
|
|
+ margin-right: 10px;
|
|
|
+ margin-bottom: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.toolbar .select_all {
|
|
|
+ margin: 0 6px 0 10px;
|
|
|
+ line-height: 20px;
|
|
|
+}
|
|
|
+
|
|
|
+.toolbar .btn {
|
|
|
+ -moz-border-radius: 2px;
|
|
|
+ margin-right: 5px;
|
|
|
+ border: 1px solid #dcdcdc;
|
|
|
+ border-radius: 2px;
|
|
|
+ -webkit-border-radius: 2px;
|
|
|
+}
|
|
|
+
|
|
|
+.order-table .order-hd {
|
|
|
+ background: #f5f5f5;
|
|
|
+ height: 40px;
|
|
|
+ line-height: 40px;
|
|
|
+}
|
|
|
+
|
|
|
+.order-table .order-hd td.first {
|
|
|
+ padding-left: 20px;
|
|
|
+}
|
|
|
+
|
|
|
+.order-table .order-hd .order-main span {
|
|
|
+ margin-right: 8px;
|
|
|
+}
|
|
|
+
|
|
|
+.order-table .order-hd .order-code {
|
|
|
+ font-style: normal;
|
|
|
+ font-family: verdana;
|
|
|
+}
|
|
|
+
|
|
|
+.order-table .order-hd .order-sum {
|
|
|
+ padding: 0 5px;
|
|
|
+}
|
|
|
+
|
|
|
+.order-table>tbody {
|
|
|
+ border: 1px solid transparent;
|
|
|
+}
|
|
|
+
|
|
|
+.order-table>tbody:hover {
|
|
|
+ border-color: #d32526;
|
|
|
+ border-width: 2px;
|
|
|
+}
|
|
|
+
|
|
|
+.order-table .order-bd {
|
|
|
+ border-bottom: 1px solid #e6e6e6;
|
|
|
+}
|
|
|
+
|
|
|
+.order-table .order-bd>td {
|
|
|
+ padding: 10px 0px;
|
|
|
+ vertical-align: top;
|
|
|
+ position: relative;
|
|
|
+}
|
|
|
+
|
|
|
+.order-table .order-bd .product {
|
|
|
+ padding-left: 20px;
|
|
|
+}
|
|
|
+
|
|
|
+.input-xs,.input-group-xs>.form-control,.input-group-xs>.input-group-addon,.input-group-xs>.input-group-btn>.btn
|
|
|
+ {
|
|
|
+ height: 26px;
|
|
|
+ padding: 0 5px;
|
|
|
+ font-size: 12px;
|
|
|
+ line-height: 1.5;
|
|
|
+ border-radius: 3px;
|
|
|
+}
|
|
|
+
|
|
|
+.input-group-xs .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn {
|
|
|
+ border-top-left-radius: 0;
|
|
|
+ border-bottom-left-radius: 0;
|
|
|
+}
|
|
|
+
|
|
|
+@media ( min-width : 768px) {
|
|
|
+ .form-horizontal .form-group-xs .control-label {
|
|
|
+ padding-top: 5px;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.info-container .info:hover {
|
|
|
+ color: #CC3333;
|
|
|
+}
|
|
|
+.input-error{
|
|
|
+ background-color: #fff8ee;
|
|
|
+ border-color: #CC0033;
|
|
|
+}
|
|
|
+input.input-error:focus {
|
|
|
+ background-color: #fff8ee;
|
|
|
+ border-color: #CC0033;
|
|
|
+}
|
|
|
+
|
|
|
+tbody td.enddate {
|
|
|
+ color: red;
|
|
|
+}
|
|
|
+
|
|
|
+tbody td .text-waiting {
|
|
|
+ position: absolute;
|
|
|
+ top: 5px;
|
|
|
+ background-color: #fff;
|
|
|
+ border: 1px solid;
|
|
|
+ padding: 3px 14px;
|
|
|
+ font-size: 16px;
|
|
|
+ font-family: "LiShu";
|
|
|
+ border-radius: 10px;
|
|
|
+ -moz-transform: rotate(-10deg);
|
|
|
+ -webkit-transform: rotate(-10deg);
|
|
|
+ -o-transform: rotate(-10deg);
|
|
|
+ transform: rotate(-10deg);
|
|
|
+ border-radius: 10px;
|
|
|
+ opacity: 0.7;
|
|
|
+ white-space: nowrap;
|
|
|
+ color: #56a022;
|
|
|
+ border-color: #56a022;
|
|
|
+}
|
|
|
+
|
|
|
+tbody td .text-trans {
|
|
|
+ right:20px;
|
|
|
+}
|
|
|
+
|
|
|
+tbody td .input-price {
|
|
|
+ margin: 2px;
|
|
|
+ height: 26px;
|
|
|
+ border: 1px solid #d1d1d1;
|
|
|
+}
|
|
|
+
|
|
|
+tbody td div .text-ps,.text-prod {
|
|
|
+ height: 30px;
|
|
|
+}
|
|
|
+
|
|
|
+tbody td div.text-mould {
|
|
|
+ border-bottom: 1px solid #e0e2e3;
|
|
|
+}
|
|
|
+
|
|
|
+.dropdown-menu .pane-body ul>li{
|
|
|
+
|
|
|
+}
|
|
|
+.block{
|
|
|
+ /*background: #f5f5f5;*/
|
|
|
+}
|
|
|
+.order-table{
|
|
|
+ background: #fff;
|
|
|
+}
|
|
|
+.menu .new-dot{
|
|
|
+ width: 20px;
|
|
|
+ height: 20px;
|
|
|
+ line-height: 20px;
|
|
|
+ font-size: 12px;
|
|
|
+ color: #fff;
|
|
|
+ font-weight: inherit;
|
|
|
+ top: -2px;
|
|
|
+}
|
|
|
+.color-black {
|
|
|
+ color: #000;
|
|
|
+}
|
|
|
+/* 清楚ie下的输入框X */
|
|
|
+::-ms-clear, ::-ms-reveal{display: none;}
|
|
|
+
|
|
|
+ .taxrate-input {
|
|
|
+ width: 30px;
|
|
|
+ }
|
|
|
+ /*对齐模具物料输入框*/
|
|
|
+.color-black {
|
|
|
+ color: #000;
|
|
|
+ float: left;
|
|
|
+}
|
|
|
+.text-mu {
|
|
|
+ float: left;
|
|
|
+}
|
|
|
+.text-detail{
|
|
|
+ display: inline-block;
|
|
|
+ width: 470px;
|
|
|
+ float: left;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
+}
|
|
|
+</style>
|
|
|
+<link rel="stylesheet" href="static/css/public.css">
|
|
|
+<div class="block" id="public">
|
|
|
+ <div class="loading in" ng-class="{'in': loading}">
|
|
|
+ <!--<i></i>-->
|
|
|
+ <div class="wrap">
|
|
|
+ <div class="outer"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="pub-com_head">
|
|
|
+ <span>客户模具询价</span>
|
|
|
+ <div class="p-right">
|
|
|
+ <a href="#" ng-click="exportXls()" target="_self" class="text-simple" title="导出Excel表格"><i class="fa fa-file-text fa-fw"></i>导出</a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="menu condition block">
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-xs-4">
|
|
|
+ <div class="btn-group btn-group-sm btn-group-justified">
|
|
|
+ <div class="btn-group btn-group-sm">
|
|
|
+ <button type="button" class="btn btn-default btn-line"
|
|
|
+ ng-class="{'btn-info':active=='all'}" ng-click="setActive('all')">全部
|
|
|
+ <b class="new-dot" ng-if="unread.all > 0">{{unread.all>99?'99+':unread.all}}</b>
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ <div class="btn-group btn-group-sm">
|
|
|
+ <button type="button" class="btn btn-default btn-line"
|
|
|
+ ng-class="{'btn-info':active=='done'}" ng-click="setActive('done');setOrdersReadByState()">已报价
|
|
|
+ <b class="new-dot" ng-if="unread.replied > 0">{{unread.replied>99?'99+':unread.replied}}</b>
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ <div class="btn-group btn-group-sm">
|
|
|
+ <button type="button" class="btn btn-default btn-line"
|
|
|
+ ng-class="{'btn-info':active=='todo'}" ng-click="setActive('todo')">待报价
|
|
|
+ <b class="new-dot" ng-if="unread.notReply > 0">{{unread.notReply>99?'99+':unread.notReply}}</b>
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ <!--<div class="btn-group btn-group-sm">-->
|
|
|
+ <!--<button type="button" class="btn btn-default btn-line"-->
|
|
|
+ <!--ng-class="{'btn-info':active=='end'}" ng-click="setActive('end')">已过期</button>-->
|
|
|
+ <!--</div>-->
|
|
|
+ <div class="btn-group btn-group-sm">
|
|
|
+ <button type="button" class="btn btn-default btn-line"
|
|
|
+ ng-class="{'btn-info':active=='invalid'}" ng-click="setActive('invalid')">已失效</button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!--<div class="height10"> </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>
|
|
|
+ <!--<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>
|
|
|
+ <a ng-click="onReplyClick(inquiryMould)"
|
|
|
+ ng-disabled="!canSave"
|
|
|
+ class="btn btn-link btn-xs text-success">保存</a>
|
|
|
+ <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>
|
|
|
+ <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>
|