cart.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363
  1. <style>
  2. .condition .more.open {
  3. margin-top: 10px;
  4. height: 36px;
  5. opacity: 1;
  6. }
  7. .condition .more .form-group {
  8. margin-bottom: 0;
  9. }
  10. .order-table .header>th {
  11. height: 38px;
  12. text-align: center;
  13. background: #f5f5f5;
  14. border-top: 1px solid #e8e8e8;
  15. border-bottom: 1px solid #e8e8e8;
  16. }
  17. .order-table .sep-row {
  18. height: 10px;
  19. }
  20. .order-table .selector {
  21. vertical-align: middle;
  22. margin: 0 0 2px 0;
  23. }
  24. .toolbar label {
  25. margin-right: 10px;
  26. margin-bottom: 0;
  27. }
  28. .toolbar .select_all {
  29. margin: 0 6px 0 10px;
  30. line-height: 20px;
  31. }
  32. .toolbar .btn {
  33. -moz-border-radius: 2px;
  34. margin-right: 5px;
  35. border: 1px solid #dcdcdc;
  36. border-radius: 2px;
  37. -webkit-border-radius: 2px;
  38. }
  39. .order-table .order-hd {
  40. background: #f5f5f5;
  41. height: 40px;
  42. line-height: 40px;
  43. }
  44. .order-table .order-hd td.first {
  45. padding-left: 20px;
  46. }
  47. .order-table .order-hd .order-main span {
  48. margin-right: 8px;
  49. }
  50. .order-table .order-hd .order-code {
  51. font-style: normal;
  52. font-family: verdana;
  53. }
  54. .order-table .order-hd .order-sum {
  55. padding: 0 5px;
  56. }
  57. /*.order-table>tbody {
  58. border: 1px solid transparent;
  59. border-bottom: 10px #ddd solid;
  60. }*/
  61. .order-table>tbody:hover{
  62. border: #3f84f6 2px solid !important;
  63. }
  64. /*.order-table>tbody:hover .order-hd td{
  65. border-top: #d32526 2px solid !important;
  66. }*/
  67. .order-table .operates {
  68. display: none;
  69. }
  70. .order-table .operates i {
  71. padding: 0 2px;
  72. }
  73. .order-table>tbody:hover .operates {
  74. display: block;
  75. }
  76. .order-table>tbody:hover .operates-status {
  77. display: none;
  78. }
  79. .order-table .order-bd {
  80. border-bottom: 1px solid #e6e6e6;
  81. }
  82. .order-table .order-bd>td {
  83. padding: 10px 5px;
  84. vertical-align: top;
  85. position: relative;
  86. }
  87. .order-table .order-bd .product {
  88. padding-left: 20px;
  89. }
  90. .order-table .order-bd .order-number {
  91. position: absolute;
  92. top: -1px;
  93. left: -1px;
  94. width: 20px;
  95. height: 20px;
  96. line-height: 20px;
  97. text-align: center;
  98. background: #f5f5f5;
  99. font-weight: 500;
  100. border: solid 1px #d5d5d5;
  101. border-radius: 0 0 10px 0;
  102. }
  103. .order-table .order-bd .order-number.key {
  104. background: #56a022;
  105. color: #ffffff;
  106. }
  107. .unPrinted {
  108. color: #56a022;
  109. }
  110. .info-container .info:hover {
  111. color: #CC3333;
  112. }
  113. .buy-cart{
  114. font-size: 14px;
  115. padding: 0;
  116. margin-left: 50px;
  117. }
  118. .buy-cart a{
  119. color: #5078cb;
  120. float: left;
  121. margin-left: 15px;
  122. }
  123. .buy-cart a img{
  124. margin-right: 3px;
  125. }
  126. #public .menu .btn-group{
  127. height: inherit !important;
  128. }
  129. </style>
  130. <link rel="stylesheet" href="static/css/b2bPublic.css">
  131. <div class="block fr" id="public">
  132. <div class="loading in" ng-class="{'in': loading}">
  133. <!--<i></i>-->
  134. <div class="wrap">
  135. <div class="outer"></div>
  136. </div>
  137. </div><div class="pub-com_head">
  138. <span>购物车</span>
  139. <div class="p-right">
  140. <a ng-click="clearCart()" ng-disabled="hasClick"><i class="fa fa-trash"></i>清空</a>
  141. <a ui-sref="purc_newOrder" title="新增采购单"><i class="fa fa-plus-square fa-fw"></i>新增</a>
  142. </div>
  143. </div>
  144. <div class="condition block">
  145. <!--搜索时间筛选-->
  146. <div class="screen check-filter">
  147. <div class="radio-block date-radio">
  148. 时间筛选:
  149. <label class="com-check-radio">
  150. <input type="radio" id="oneMonth" name="date" ng-click="autoMonth = false;changeDateZone(1);condition.$open=false" checked>
  151. <label for="oneMonth"></label>
  152. 30天
  153. </label>
  154. <label class="com-check-radio">
  155. <input type="radio" id="threeMonth" name="date" ng-click="autoMonth = false;changeDateZone(3);condition.$open=false">
  156. <label for="threeMonth"></label>
  157. 90天
  158. </label>
  159. <label class="com-check-radio">
  160. <input type="radio" id="sixMonth" name="date" ng-click="autoMonth = false;changeDateZone(6);condition.$open=false">
  161. <label for="sixMonth"></label>
  162. 180天
  163. </label>
  164. <label class="com-check-radio">
  165. <input type="radio" id="autoMonth" name="date" ng-click="autoMonth = true;condition.$open=!condition.$open;changeDateZone(-1)">
  166. <label for="autoMonth"></label>
  167. 自定义
  168. </label>
  169. </div>
  170. <div class="sreach fr">
  171. <div ng-show="autoMonth" class="date fl">
  172. <div class="data-input">
  173. <input type="text" ng-model="condition.dateFrom"
  174. class="form-control select-adder" placeholder="起始时间"
  175. datepicker-popup="yyyy-MM-dd"
  176. is-open="condition.$fromOpened"
  177. max-date="condition.dateTo" current-text="今天" clear-text="清除" close-text="关闭"
  178. ng-click="openFilterDatePicker($event, condition, '$fromOpened')"
  179. ng-focus="openFilterDatePicker($event, condition, '$fromOpened')"
  180. datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
  181. />
  182. <button class="open" ng-click="openFilterDatePicker($event, condition, '$fromOpened')"></button>
  183. </div>
  184. <em>–</em>
  185. <div class="data-input">
  186. <input type="text" ng-model="condition.dateTo"
  187. class="form-control select-adder" placeholder="结束时间"
  188. datepicker-popup="yyyy-MM-dd"
  189. is-open="condition.$toOpened"
  190. min-date="condition.dateFrom" current-text="今天" clear-text="清除" close-text="关闭"
  191. ng-click="openFilterDatePicker($event, condition, '$toOpened')"
  192. ng-focus="openFilterDatePicker($event, condition, '$toOpened')"
  193. datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
  194. />
  195. <button class="open" ng-click="openFilterDatePicker($event, condition, '$toOpened')"></button>
  196. </div>
  197. </div>
  198. <div class="sreach-input fr">
  199. <input type="search" class="form-control input-sm" ng-model="keyword"
  200. ng-search="onSearch(keyword)" placeholder="输入单据编号、客户名称、物料名称搜索"/>
  201. <a class="btn input-group-addon" ng-click="onSearch(keyword)">搜索</a>
  202. </div>
  203. </div>
  204. </div>
  205. </div>
  206. <table class="order-table block" ng-table="tableParams">
  207. <thead>
  208. <tr class="header">
  209. <th>物料</th>
  210. <th width="80">含税单价</th>
  211. <th width="100">税率</th>
  212. <th width="100">数量</th>
  213. <th width="120">交货日期</th>
  214. <th width="180">单据状态</th>
  215. <th width="120">操作</th>
  216. </tr>
  217. </thead>
  218. <tbody ng-if="tableParams.total() == 0">
  219. <tr>
  220. <td colspan="7">
  221. <div id="empty">
  222. <div class="left_img">
  223. <a><img src="static/img/all/empty-cart.png"></a>
  224. <a>B2B 商务</a>
  225. </div>
  226. <div class="right_link">
  227. <p>当前没有对应的采购订单!</p>
  228. </div>
  229. </div>
  230. </td>
  231. </tr>
  232. <tr>
  233. <td colspan="7">
  234. <div id="empty_info">
  235. <div class="f16 text-center empty_title">
  236. <p>为什么我没有采购订单?</p>
  237. </div>
  238. <div class="f14 empty_explain">
  239. <div class="info">
  240. <p>1、您的采购单在ERP系统上还没审核,订单无法上传到平台<br>
  241. 解决:采购员沟通确认单据是否已经审核(只有ERP中已经审核的单据才能接收到)</p>
  242. </div>
  243. <div class="info">
  244. <p>2、ERP中供应商信息有误<br>
  245. 解决:与您的供应商沟通确认他的资料在供应商资料中是否维护正确,尤其是企业UU号</p>
  246. </div>
  247. <div class="info">
  248. <p>3、您的供应商正在使用旧版本的UAS商务平台<br>
  249. 解决:我们仍有部分用户在使用旧版本UAS商务平台系统,你可以用您的企业UU号和管理员个人UU号 <a href="http://uas.usoftchina.com" class="text-bold text-link" title="http://uas.usoftchina.com" target="_blank">登陆旧版本UAS商务平台</a></p>
  250. </div>
  251. </div>
  252. </div>
  253. </td>
  254. </tr>
  255. </tbody>
  256. <tbody ng-repeat="order in $data track by order.id">
  257. <tr class="order-hd" ng-dblclick="order.$collapsed=!order.$collapsed" ng-class="{'text-bold': order.display>0}">
  258. <td class="first" colspan="5">
  259. <div class="order-main">
  260. <!--<span> <input type="checkbox" class="selector"
  261. ng-model="order.$selected" ng-click="checkOne(order)">
  262. </span> -->
  263. <span class="text-num text-bold"
  264. ng-bind="::order.date | date:'yyyy-MM-dd'"></span>
  265. <span>订单号:<a
  266. class="text-num" ng-bind="::order.code" ui-sref="purc_cart_detail({id:order.id})" target="_self"></a></span>
  267. <span ng-bind="::order.receiveName"></span>
  268. </div>
  269. </td>
  270. <td class="order-sum">{{::order.currency}}: <span
  271. ng-bind="getCartTotal(order.orderItems) | number : 2"
  272. class="text-num text-bold"></span>
  273. </td>
  274. <td class="text-center">
  275. <a ng-click="copyorder(order.id)" ng-disabled="hasClick">复制</a>
  276. <a ng-click="deleteCart(order.id)" ng-disabled="hasClick">删除</a>
  277. </td>
  278. </tr>
  279. <tr class="order-bd" ng-repeat="item in order.orderItems track by item.id"
  280. ng-if="!order.$collapsed "><!-- && (!searchFilterXls.keyword || item.key || order.$showAll) -->
  281. <td class="product">
  282. <div class="text-num order-number" ng-class="{'key': item.key&&order.$showAll}" title="第{{::item.number}}行">{{::item.number}}</div>
  283. <div class="text-num text-bold">
  284. <span ng-bind="::item.product.code"></span>
  285. </div>
  286. <div>
  287. <span ng-bind="::item.product.title"></span>
  288. </div>
  289. <div class="text-muted"
  290. ng-bind="::item.product.spec"></div>
  291. <div class="text-muted text-bold" ng-if="item.vendspec"><span ng-bind="::item.vendspec"></span></div>
  292. <div class="text-bold text-inverse" ng-if="item.factory">送货工厂:<span ng-bind="::item.factory"></span></div>
  293. <div class="text-bold text-inverse" ng-if="item.remark">备注:<span ng-bind="::item.remark"></span></div>
  294. </td>
  295. <td class="text-center">
  296. <div class="text-num" ng-bind="::item.price | number:6"></div>
  297. </td>
  298. <td class="text-center"><div class="text-muted">{{::item.taxrate || 0}}</div></td>
  299. <td class="text-center">
  300. <div class="text-num" ng-bind="::item.qty"></div>
  301. <div class="text-muted" ng-bind="::item.product.unit"></div>
  302. <div style="margin: 0 auto" ng-if="item.$editing">
  303. <input type="number" ng-model="item.reply.qty" min="0" max="{{item.qty}}"
  304. ng-init="item.reply.qty=item.qty-item.replyQty"
  305. class="form-control input-xs" placeholder="0~{{item.qty-item.replyQty}}">
  306. </div>
  307. </td>
  308. <td class="text-center br-l">
  309. <div class="text-num" ng-bind="::item.delivery | date:'yyyy-MM-dd'"></div>
  310. <br>
  311. <div style="margin: 0 auto"
  312. class="input-group input-group-xs input-trigger"
  313. ng-if="item.$editing">
  314. <input type="text" ng-model="item.reply.delivery"
  315. class="form-control" placeholder="回复交期"
  316. datepicker-popup="yyyy-MM-dd" is-open="item.$opened"
  317. min-date="order.date" ng-required="true" current-text="今天"
  318. clear-text="清除" close-text="关闭"
  319. datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
  320. ng-focus="openDatePicker($event, item, '$opened')"> <span
  321. class="input-group-btn">
  322. <button type="button" class="btn btn-default"
  323. ng-click="openDatePicker($event, item, '$opened')">
  324. <i class="fa fa-calendar"></i>
  325. </button>
  326. </span>
  327. </div>
  328. </td>
  329. <td class="br-l">
  330. <div ng-if="!item.replyQty" class="text-muted text-center">待提交</div>
  331. </td>
  332. <td class="text-center br-l">
  333. <a ng-click="deleteDetail(item.id)" ng-disabled="hasClick">删除</a>
  334. </td>
  335. </tr>
  336. </tbody>
  337. </table>
  338. </div>