apCheck.html 40 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006
  1. <style>
  2. body{
  3. font-family: "Microsoft YaHei", "微软雅黑" !important;
  4. }
  5. .text-num{
  6. }
  7. .append{
  8. color: #5078cb;font-size:12px; margin-left: 10px
  9. }
  10. .order-table td {
  11. padding-top: 10px;
  12. margin-bottom: 20px;
  13. border-bottom: solid 1px #ccc;
  14. border-top: solid 1px #e8e8e8;
  15. }
  16. .order-table td.first {
  17. padding-left: 20px;
  18. }
  19. .order-table td.last {
  20. padding-right: 20px;
  21. }
  22. .order-table td .static p {
  23. display: inline-block;
  24. line-height: 30px;
  25. padding-top: 5px;
  26. padding-bottom: 0px;
  27. width: 150px;
  28. font-size: 14px;
  29. color: #666;
  30. padding-left: 15px;
  31. border-left: solid 1px #e8e8e8;
  32. }
  33. .order-table td .static p:first-child{
  34. border-left: none;
  35. width: 180px;
  36. padding-left: 0;
  37. }
  38. .order-table td .static p:last-child{
  39. margin-left: 22px;
  40. }
  41. .order-table td .static p:nth-of-type(3){
  42. margin-left: 20px;
  43. }
  44. .order-table td .main {
  45. margin-top: 5px;
  46. margin-bottom: 20px;
  47. color: #333;
  48. }
  49. .static{
  50. margin: 12px 0;
  51. }
  52. .order-table td .main strong {
  53. font-size: 14px;
  54. }
  55. .order-table td .static p strong {
  56. font-size: 14px;
  57. font-weight: bold;
  58. color: #888;
  59. }
  60. .order-table td.status {
  61. position: relative;
  62. border-left: solid 1px #e8e8e8;
  63. padding: 10px;
  64. vertical-align: top;
  65. }
  66. .order-table td.status .operate {
  67. position: absolute;
  68. display: block;
  69. bottom: 0;
  70. left: 0;
  71. right: 0;
  72. height: 0px;
  73. color: #ffffff;
  74. font-size: 14px;
  75. font-weight: bold;
  76. line-height: 40px;
  77. opacity: 0.8;
  78. transition: height ease-in-out 0.5s;
  79. text-decoration: none;
  80. }
  81. .order-table td.status .operate-undo {
  82. background: #428bca;
  83. }
  84. .order-table td.status .operate-done {
  85. background: #cccccc;
  86. }
  87. .order-table td.status:hover .operate {
  88. height: 40px;
  89. }
  90. .unPrinted {
  91. color: #56a022;
  92. }
  93. .order-table td .main strong{
  94. font-weight: normal;
  95. }
  96. .order-table td{
  97. font-size: 14px;
  98. }
  99. .order-table th{
  100. text-align: center;
  101. }
  102. .order-table .text-trans{
  103. margin-top: -17px;
  104. margin-right: 14px;
  105. }
  106. .menu .new-dot{
  107. width: 20px;
  108. height: 20px;
  109. line-height: 20px;
  110. font-size: 12px;
  111. color: #fff;
  112. font-weight: inherit;
  113. top: -2px;
  114. }
  115. .wui-date.small .wui-date-picker {
  116. width: 260px
  117. }
  118. </style>
  119. <link rel="stylesheet" href="static/css/public.css">
  120. <link rel="stylesheet" href="static/css/wui.min.css">
  121. <div class="block" id="public">
  122. <div class="loading in" ng-class="{'in': loading}">
  123. <!--<i></i>-->
  124. <div class="wrap">
  125. <div class="outer"></div>
  126. </div>
  127. </div>
  128. <div class="pub-com_head">
  129. <span>应收对账单</span>
  130. <!--<div class="p-right">-->
  131. <!--<a class="text-simple append" ui-sref="fa.apCheckList" title="新增对账单" ng-hide="showNotCheck"><i class="fa fa-plus-square fa-fw"></i>新增对账单</a>&nbsp;&nbsp;&nbsp;-->
  132. <!--<a href="#" ng-click="exportXls()" ng-hide="active === 'all'" target="_self" title="导出Excel表格" class="blue f14"><i class="fa fa-file-text fa-fw"></i>导出</a>-->
  133. <!--</div>-->
  134. <div class="p-right" ng-show="active !== 'all'">
  135. <div class="btn-group btn-group-sm" style="float: right;font-size: 14px;cursor: pointer;text-align: right;height: 40px;line-height: 40px; margin-right: 20px;;color: #fff;" ng-click="setActive('all')">
  136. <img src="static/img/vendor/images/backIcon.png" width="20"/>返回
  137. </div>
  138. </div>
  139. <div class="btn-group btn-group-sm" style="float: right;font-size: 14px;cursor: pointer;text-align: right;height: 40px;line-height: 40px; margin-right: 20px;;color: #fff;" ng-hide="!showNotCheck" ng-click="hideshowNotCheck()">
  140. <img src="static/img/vendor/images/backIcon.png" width="20"/>返回
  141. <!--<b class="new-dot" ng-if="unread.cancelled > 0">{{unread.cancelled > 99 ? '99+' : unread.cancelled}}</b>-->
  142. </div>
  143. <div class="p-right" ng-show="active === 'all'">
  144. <div class="btn-group btn-group-sm" style=" float: right;
  145. font-size: 14px;
  146. cursor: pointer;
  147. text-align: right;
  148. height: 28px;
  149. line-height: 27px;
  150. margin-right: 20px;
  151. color: #fff;
  152. border: 1px solid #fff;
  153. margin-top: 3px;
  154. padding: 0 5px;" ng-click="setActive();changeDateZone(1, true);condition.$open=false;showNotCheck=false">查看对账记录
  155. <!--<b class="new-dot" ng-if="unread.cancelled > 0">{{unread.cancelled > 99 ? '99+' : unread.cancelled}}</b>-->
  156. </div>
  157. </div>
  158. </div>
  159. <!--<div class="menu condition block">-->
  160. <!--<div class="row">-->
  161. <!--<div class="col-xs-7">-->
  162. <!--<div class="btn-group btn-group-sm btn-group-justified">-->
  163. <!--<div class="btn-group btn-group-sm/fa/arCheck">-->
  164. <!--<button type="button" class="btn btn-default btn-line"-->
  165. <!--ng-class="{'btn-info':active=='all'}" ng-click="setActive('all')">未对账</button>-->
  166. <!--</div>-->
  167. <!--<div class="btn-group btn-group-sm">-->
  168. <!--<button type="button" class="btn btn-default btn-line"-->
  169. <!--ng-class="{'btn-info':active=='todo'}"-->
  170. <!--ng-click="setActive('todo')">待确认</button>-->
  171. <!--</div>-->
  172. <!--<div class="btn-group btn-group-sm">-->
  173. <!--<button type="button" class="btn btn-default btn-line"-->
  174. <!--ng-class="{'btn-info':active=='done'}"-->
  175. <!--ng-click="setActive('done')">已对账-->
  176. <!--<b class="new-dot" ng-if="unread.replied > 0">{{unread.replied>99?'99+':unread.replied}}</b>-->
  177. <!--</button>-->
  178. <!--</div>-->
  179. <!--<div class="btn-group btn-group-sm">-->
  180. <!--<button type="button" class="btn btn-default btn-line"-->
  181. <!--ng-class="{'btn-info':active=='end'}" ng-click="setActive('end')">已作废-->
  182. <!--<b class="new-dot" ng-if="unread.cancelled > 0">{{unread.cancelled > 99 ? '99+' : unread.cancelled}}</b>-->
  183. <!--</button>-->
  184. <!--</div>-->
  185. <!--<div class="btn-group btn-group-sm">-->
  186. <!--<button type="button" class="btn btn-default btn-line"-->
  187. <!--ng-class="{'btn-info':active=='all'}" ng-click="setActive('all')">全部</button>-->
  188. <!--</div>-->
  189. <!--<div class="btn-group btn-group-sm">-->
  190. <!--<button type="button" class="btn btn-default btn-line"-->
  191. <!--ng-class="{'btn-info':active=='done'}"-->
  192. <!--ng-click="setActive('done')">已确认-->
  193. <!--<b class="new-dot" ng-if="unread.replied > 0">{{unread.replied>99?'99+':unread.replied}}</b>-->
  194. <!--</button>-->
  195. <!--</div>-->
  196. <!--<div class="btn-group btn-group-sm">-->
  197. <!--<button type="button" class="btn btn-default btn-line"-->
  198. <!--ng-class="{'btn-info':active=='todo'}"-->
  199. <!--ng-click="setActive('todo')">未对账</button>-->
  200. <!--</div>-->
  201. <!--<div class="btn-group btn-group-sm">-->
  202. <!--<button type="button" class="btn btn-default btn-line"-->
  203. <!--ng-class="{'btn-info':active=='end'}" ng-click="setActive('end')">已作废-->
  204. <!--<b class="new-dot" ng-if="unread.cancelled > 0">{{unread.cancelled > 99 ? '99+' : unread.cancelled}}</b>-->
  205. <!--</button>-->
  206. <!--</div>-->
  207. <!--</div>-->
  208. <!--</div>-->
  209. <!--<div class="col-xs-12 f12" style="text-align: right;height: 40px;line-height: 40px; margin-right: 20px; float: right;">-->
  210. <!--<div class="btn-group btn-group-sm" style="float: right;font-size: 14px;cursor: pointer;" ng-hide="!showNotCheck" ng-click="hideshowNotCheck()">-->
  211. <!--<img src="static/img/vendor/images/backIcon.png" width="20"/>返回-->
  212. <!--&lt;!&ndash;<b class="new-dot" ng-if="unread.cancelled > 0">{{unread.cancelled > 99 ? '99+' : unread.cancelled}}</b>&ndash;&gt;-->
  213. <!--</div>-->
  214. <!--</div>-->
  215. <!--</div>-->
  216. <!--</div>-->
  217. <div ng-hide="showNotCheck">
  218. <div class="condition block" ng-show="!showNotCheck">
  219. <div class="search-bg condition block" style="padding: 10px 15px;">
  220. <div class="row">
  221. <div id="topSearch" ng-show="active !== 'all'" style="float: left">
  222. <a ng-click="changeDateZone(1);condition.$open=false" title="最近一个月" ng-class="{'active':condition.dateZone=='1'}">最近一个月</a>
  223. <a ng-click="changeDateZone(3);condition.$open=false" title="最近三个月" ng-class="{'active':condition.dateZone=='3'}">最近三个月</a>
  224. <a ng-click="changeDateZone(6);condition.$open=false" title="最近六个月" ng-class="{'active':condition.dateZone=='6'}">最近六个月</a>
  225. <a ng-click="condition.$open=!condition.$open;changeDateZone(-1)" title="自定义" ng-class="{'active':condition.dateZone=='-1'}" >自定义</a>
  226. </div>
  227. <div style="float: left" ng-show="active === 'all'" >
  228. <div style="width: 355px;display: inline-block">
  229. <label class="control-label">请选择月份:</label>
  230. <span ng-click="addMouthOut(-1)" style="display: inline-block;
  231. width: 32px;
  232. height: 32px;
  233. border: 1px solid #ddd;
  234. text-align: center;
  235. line-height: 32px;
  236. cursor: pointer;
  237. vertical-align: middle;">
  238. <img src="static/img/vendor/images/arrow-left-d-l.png" width="24"/>
  239. </span>
  240. <span class="inputsIcon control-label" style="padding-right: 0px;display: inline-block;vertical-align: top;">
  241. <wui-date
  242. format="yyyy-mm"
  243. placeholder="请选择或输入日期"
  244. id="date3"
  245. btns="{'ok':'确定','now':'此刻'}"
  246. ng-model="thisMouthOut"
  247. >
  248. </wui-date>
  249. </span>
  250. <span ng-show="MouthOutShow" ng-click="addMouthOut(1)" style="display: inline-block;
  251. width: 32px;
  252. height: 32px;
  253. border: 1px solid #ddd;
  254. text-align: center;
  255. line-height: 32px;
  256. cursor: pointer;
  257. vertical-align: middle;"><img src="static/img/vendor/images/arrow-right-d-l.png" width="24"/></span>
  258. </div>
  259. <a ng-click="condition.$open=!condition.$open;changeDateZone(1)" title="自定义" ng-class="{'active':condition.dateZone=='-1'}" style="margin-left: 10px;display: inline-block;padding: 7px 12px;background: #3f84f6;color: #fff" >自定义</a>
  260. <div class="more-list more" ng-class="{'open': condition.$open}" ng-if="active === 'all'">
  261. <form class="form-inline">
  262. <div class="form-group ">
  263. <label>日期:</label>
  264. <div class="form-group input-group input-group-xs input-trigger">
  265. <input type="text" ng-model="condition.dateFrom"
  266. class="form-control" placeholder="从"
  267. datepicker-popup="yyyy-MM-dd" is-open="condition.$fromOpened"
  268. ng-required="true" max-date = "condition.dateTo"
  269. current-text="今天" clear-text="清除" close-text="关闭"
  270. datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
  271. ng-focus="openFilterDatePicker($event, condition, '$fromOpened')">
  272. <span class="input-group-btn">
  273. <button type="button" class="btn btn-default"
  274. ng-click="openFilterDatePicker($event, condition, '$fromOpened')">
  275. <i class="fa fa-calendar"></i>
  276. </button>
  277. </span>
  278. </div>
  279. <div class="form-group input-group input-group-xs input-trigger">
  280. <input type="text" ng-model="condition.dateTo"
  281. class="form-control" placeholder="到"
  282. datepicker-popup="yyyy-MM-dd" is-open="condition.$toOpened"
  283. ng-required="true" min-date = "condition.dateFrom"
  284. current-text="今天" clear-text="清除" close-text="关闭"
  285. datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
  286. ng-focus="openFilterDatePicker($event, condition, '$toOpened')">
  287. <span class="input-group-btn">
  288. <button type="button" class="btn btn-default"
  289. ng-click="openFilterDatePicker($event, condition, '$toOpened')">
  290. <i class="fa fa-calendar"></i>
  291. </button>
  292. </span>
  293. </div>
  294. </div>
  295. </form>
  296. </div>
  297. </div>
  298. <div class="col-xs-6" style="float: right;">
  299. <div class="search">
  300. <div class="form-group form-group-sm has-feedback" dropdown auto-close="outsideClick"
  301. on-toggle="searchAdvance=open">
  302. <input type="search" class="form-control input-sm" ng-model="keyword"
  303. ng-search="onSearch(keyword)" placeholder="输入单据编号、客户名称、物料名称搜索" style="width: 100%" ng-show="active !== 'all'"/>
  304. <a class="btn input-group-addon" href="javascript:void(0)" ng-click="onSearch(keyword)" ng-show="active !== 'all'">搜索</a>
  305. <input type="search" class="form-control input-sm" ng-model="keyword" ng-search="onSearch(keyword)" placeholder="客户名称" style="width: 100%" ng-show="active === 'all' && !showNotCheck" />
  306. <a class="btn input-group-addon" ng-click="onSearch(keyword)" ng-show="active === 'all' && !showNotCheck">搜索</a>
  307. </div>
  308. </div>
  309. </div>
  310. </div>
  311. <div class="more-list more" ng-class="{'open': condition.$open}" ng-if="active !== 'all'">
  312. <form class="form-inline">
  313. <div class="form-group ">
  314. <label>日期:</label>
  315. <div class="btn-group btn-menu" dropdown is-open="condition.$dateZoneOpen">
  316. <ul class="dropdown-menu">
  317. <li><a ng-click="changeDateZone(1)">一个月内</a></li>
  318. <li><a ng-click="changeDateZone(6)">半年内</a></li>
  319. <li><a ng-click="changeDateZone()">半年前</a></li>
  320. </ul>
  321. </div>
  322. <div class="form-group input-group input-group-xs input-trigger">
  323. <input type="text" ng-model="condition.dateFrom"
  324. class="form-control" placeholder="从"
  325. datepicker-popup="yyyy-MM-dd" is-open="condition.$fromOpened"
  326. ng-required="true" max-date = "condition.dateTo"
  327. current-text="今天" clear-text="清除" close-text="关闭"
  328. datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
  329. ng-focus="openFilterDatePicker($event, condition, '$fromOpened')">
  330. <span class="input-group-btn">
  331. <button type="button" class="btn btn-default"
  332. ng-click="openFilterDatePicker($event, condition, '$fromOpened')">
  333. <i class="fa fa-calendar"></i>
  334. </button>
  335. </span>
  336. </div>
  337. <div class="form-group input-group input-group-xs input-trigger">
  338. <input type="text" ng-model="condition.dateTo"
  339. class="form-control" placeholder="到"
  340. datepicker-popup="yyyy-MM-dd" is-open="condition.$toOpened"
  341. ng-required="true" min-date = "condition.dateFrom"
  342. current-text="今天" clear-text="清除" close-text="关闭"
  343. datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
  344. ng-focus="openFilterDatePicker($event, condition, '$toOpened')">
  345. <span class="input-group-btn">
  346. <button type="button" class="btn btn-default"
  347. ng-click="openFilterDatePicker($event, condition, '$toOpened')">
  348. <i class="fa fa-calendar"></i>
  349. </button>
  350. </span>
  351. </div>
  352. </div>
  353. </form>
  354. </div>
  355. </div>
  356. </div>
  357. <div ng-if="active === 'all'">
  358. <table class="order-table block order-table2" ng-table="tableParams" width="100%" style="table-layout:fixed">
  359. <thead>
  360. <tr class="header">
  361. <th width="180">客户名称</th>
  362. <th width="90">币别</th>
  363. <th width="100">本期应收</th>
  364. <th width="100">本期发货</th>
  365. <th width="100">本期未对账</th>
  366. <th width="100">本期已对账</th>
  367. <th width="100">本期已收</th>
  368. <th width="120">应收总额</th>
  369. <th width="80">操作</th>
  370. </tr>
  371. </thead>
  372. <tbody ng-repeat="check in ALLList">
  373. <tr >
  374. <td style="color: #3f84f6">{{::check.myEnterprise.enName}}</td>
  375. <td colspan="7">
  376. <div class="table-colspan-list" ng-repeat="count in check.amountDetailList">
  377. <span>{{count.currency || '-'}}</span>
  378. <span>{{count.thisPeriodAmount >= 0 ? (count.thisPeriodAmount | number:2) : '-'}}</span>
  379. <span>{{count.thisPeriodSendQty >= 0 ? (count.thisPeriodSendQty | number:2) : '暂无数据'}}</span>
  380. <span>{{count.thisPeriodTodoAmount >= 0 ? (count.thisPeriodTodoAmount | number:2) : '-'}}</span>
  381. <span>{{count.thisPeriodDoneAmount >= 0 ? (count.thisPeriodDoneAmount | number:2) : '-'}}</span>
  382. <span>{{count.thisPeriodReceipt >= 0 ? (count.thisPeriodReceipt | number:2) : '暂无数据'}}</span>
  383. <span>{{count.totalAmount >= 0 ? (count.totalAmount | number:2) : '-'}}</span>
  384. </div>
  385. </td>
  386. <td style="color: #3f84f6;cursor: pointer" ng-click="goToMNs(check)">明细</td>
  387. </tr>
  388. </tbody>
  389. <tbody ng-if="!ALLList || ALLList.length == 0">
  390. <tr>
  391. <td colspan="9">
  392. <div id="empty">
  393. <div class="left_img">
  394. <a><img src="static/img/empty/uas_empty.png"></a>
  395. <a>B2B 商务</a>
  396. </div>
  397. <div class="right_link">
  398. <!--<p ng-if="active != 'all'">您还未生成对账单,请立即新增对账!</p>-->
  399. <!--<a ng-if="active != 'all'" ui-sref="fa.apCheckList"><i class="fa fa-plus-square fa-fw"></i> 新增对账单</a>-->
  400. </div>
  401. </div>
  402. </td>
  403. </tr>
  404. </tbody>
  405. </table>
  406. </div>
  407. <div ng-if="active !== 'all'">
  408. <table class="order-table block" ng-table="tableParams">
  409. <thead>
  410. <tr class="header">
  411. <th width="150">对账期间</th>
  412. <th width="180">对账总额</th>
  413. <th width="180">对账人</th>
  414. <!--<th width="180">商品总数</th>-->
  415. <th width="100">对账结果</th>
  416. <th width="100">操作</th>
  417. </tr>
  418. </thead>
  419. <tbody ng-repeat="check in $data">
  420. <tr>
  421. <td class="first info" colspan="3">
  422. <div class="">
  423. <a href="javascript:void(0)" ng-if="!isUnread(check.id)">
  424. <i class="fa fa-circle-thin"></i>
  425. </a>
  426. <a href="javascript:void(0)" ng-if="isUnread(check.id)">
  427. <i class="fa fa-circle" style="color: #f40;"></i>
  428. </a>&nbsp;&nbsp;
  429. <span class="text-num" title="录单时间">{{::check.recordDate | date:'MM月dd日 HH:mm'}} <i class="fa fa-clock-o"></i></span>&nbsp;&nbsp;&nbsp;
  430. <span><i class="fa fa-star" ng-class="{'text-default':check.status==201}"></i> {{::check.custName}}</span>
  431. <span style="margin-left: 100px;">单据编号:</span>
  432. <span class="text-num"><a ui-sref="fa.apCheck_detail({id:check.id})" title="点击查看详情" ng-click="setOrdersRead(check.id)" style="color: #5078cb">{{::check.code}}</a></span>
  433. </div>
  434. <div class="static">
  435. <p><span class="f14 text-num">{{::check.beginDate | date:'yyyy/MM/dd'}} - {{::check.endDate | date:'yyyy/MM/dd'}}</span></p>
  436. <p>
  437. <strong class="text-num">{{::(isUser?'-':(check.checkAmount | number:2))}}</strong>
  438. <span ng-if="!isUser" class="text-number">{{::check.currency}}</span>
  439. </p>
  440. <p style="text-align: center;margin-left: 65px">
  441. 对账人:{{::check.recorder}}
  442. </p>
  443. <!--<p>-->
  444. <!--<strong class="text-num">{{::check.items.length}}</strong> 条<br>-->
  445. <!--</p>-->
  446. <!--<p>-->
  447. <!--<strong class="text-num">{{getTotalProd(check) | number}}</strong> <i class="fa fa-cubes"></i>-->
  448. <!--</p>-->
  449. </div>
  450. </td>
  451. <td class="status">
  452. <!--<div ng-if="check.checkStatus == '未对账'" class="text-center text-muted f14"><br>未对账!</div>-->
  453. <div></div>
  454. <div ng-if="check.checkStatus == '已确认'" class="text-center text-muted f14">
  455. <br> <i class="fa fa-check-square-o"></i> 已确认
  456. </div>
  457. <div ng-if="check.checkStatus == '不同意'" class="text-center text-muted f14">
  458. <br> <i class="fa fa-check-square-o"></i> 不同意
  459. </div>
  460. <div ng-if="check.checkStatus == '已作废'" class="text-center text-muted f14">
  461. <br> <i class="fa fa-check-square-o"></i> 已作废
  462. </div>
  463. </td>
  464. <td>
  465. <div ng-hide="check.status" class="block">
  466. <span class="text-trans error">未提交</span>
  467. </div>
  468. <div ng-show="check.status" class="block">
  469. <span class="text-trans success">已提交</span>
  470. </div>
  471. <div ng-if="check.checkStatus == '未对账'" class="text-center text-muted f14">
  472. <div class="" style="margin-top: 33px;margin-right: 20px;">
  473. <div class="pull-right" title="等待客户确认"><a>&nbsp;客户正在确认</a></div>
  474. </div>
  475. </div>
  476. <div ng-if="check.checkStatus == '不同意'" class="text-center text-muted f14">
  477. <div class="" style="margin-top: 33px;margin-right: 20px;">
  478. <div class="pull-right" title="客户不同意"><a>&nbsp;客户不同意</a></div>
  479. </div>
  480. </div>
  481. <div ng-if="check.checkStatus == '已确认'" class="text-center text-muted f14">
  482. <div class="" style="margin-top: 33px;margin-right: 20px;">
  483. <a ng-click="print(check)" class="pull-right" title="打印{{check.print? '(已打印)':'(未打印)'}}" ng-class="{'unPrinted' : !check.print, 'text-muted': check.print}"><i class="fa fa-print fa-lg"></i>&nbsp;打印</a>
  484. </div>
  485. </div>
  486. <!-- <a ui-sref="fa.apCheck_detail({id:check.id})" class="operate operate-undo text-center"
  487. target="_blank">查看详情</a> -->
  488. </td>
  489. </tr>
  490. </tbody>
  491. <tbody ng-if="tableParams.total() == 0">
  492. <tr>
  493. <td colspan="5">
  494. <div id="empty">
  495. <div class="left_img">
  496. <a><img src="static/img/empty/uas_empty.png"></a>
  497. <a>B2B 商务</a>
  498. </div>
  499. <div class="right_link">
  500. <!--<p ng-if="active != 'all'">您还未生成对账单,请立即新增对账!</p>-->
  501. <!--<a ng-if="active != 'all'" ui-sref="fa.apCheckList"><i class="fa fa-plus-square fa-fw"></i> 新增对账单</a>-->
  502. </div>
  503. </div>
  504. </td>
  505. </tr>
  506. </tbody>
  507. </table>
  508. </div>
  509. </div>
  510. <div ng-hide="!showNotCheck" class="infoms add-apCheckList" >
  511. <form class="form-horizontal"
  512. style="padding-top: 10px; padding-bottom: 20px;">
  513. <div class="form-group form-group-sm form-group-inline">
  514. <div class="col-sm-6 control-label">
  515. <div style="text-align: left">
  516. <label>应收客户:</label>
  517. <label style="text-align:left">
  518. {{suuorname}}
  519. </label>
  520. </div>
  521. </div>
  522. <div class="col-sm-6 control-label condition">
  523. <div>
  524. <label class="control-label">请选择月份:</label>
  525. <span ng-click="addMouth(-1)" style="display: inline-block;
  526. width: 32px;
  527. height: 32px;
  528. border: 1px solid #ddd;
  529. text-align: center;
  530. line-height: 32px;
  531. cursor: pointer;
  532. vertical-align: middle;">
  533. <img src="static/img/vendor/images/arrow-left-d-l.png" width="24"/>
  534. </span>
  535. <span class="control-label" style="padding-right: 5px;display: inline-block;vertical-align: middle;padding-top: 0;" ng-click="apCheckCondition.$open = false">
  536. <wui-date
  537. format="yyyy-mm"
  538. placeholder="请选择或输入日期"
  539. id="date4"
  540. btns="{'ok':'确定','now':'此刻'}"
  541. ng-model="thisMouth"
  542. >
  543. </wui-date>
  544. </span><span ng-show="MouthinShow" ng-click="addMouth(1)" style="display: inline-block;
  545. width: 32px;
  546. height: 32px;
  547. border: 1px solid #ddd;
  548. text-align: center;
  549. line-height: 32px;
  550. cursor: pointer;
  551. vertical-align: middle;">
  552. <img src="static/img/vendor/images/arrow-right-d-l.png" width="24"/></span>
  553. <label class="control-label com-check-radio" ng-click="apCheckCondition.$open = true" style="vertical-align: middle;padding-top: 0">
  554. <input type="radio" name="psa" ng-checked="apCheckCondition.$open === true" ng-model="apCheckCondition.$open" style="vertical-align: middle">自定义
  555. </label>
  556. </div>
  557. <div ng-hide="!apCheckCondition.$open" class="more open date fr apCheckCondition" style="margin-top: 14px;">
  558. <div class="form-inline">
  559. <div class="form-group">
  560. <div class="form-group input-group input-group-xs input-trigger">
  561. <input type="text" ng-model="apCheckCondition.dateFrom"
  562. class="form-control" placeholder="从"
  563. datepicker-popup="yyyy-MM-dd" is-open="apCheckCondition.$fromOpened"
  564. ng-required="true" max-date = "apCheckCondition.dateTo"
  565. current-text="今天" clear-text="清除" close-text="关闭"
  566. datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
  567. ng-focus="apCheckopenFilterDatePicker($event, apCheckCondition, '$fromOpened')"
  568. style="height: 26px">
  569. <span class="input-group-btn">
  570. <button type="button" class="btn btn-default"
  571. ng-click="apCheckopenFilterDatePicker($event, apCheckCondition, '$fromOpened')">
  572. <i class="fa fa-calendar"></i>
  573. </button>
  574. </span>
  575. </div>
  576. <em style="margin: 0 10px;display: inline-block">–</em>
  577. <div class="form-group input-group input-group-xs input-trigger">
  578. <input type="text" ng-model="apCheckCondition.dateTo"
  579. class="form-control" placeholder="到"
  580. datepicker-popup="yyyy-MM-dd" is-open="apCheckCondition.$toOpened"
  581. ng-required="true" min-date = "apCheckCondition.dateFrom"
  582. current-text="今天" clear-text="清除" close-text="关闭"
  583. datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
  584. ng-focus="apCheckopenFilterDatePicker($event, apCheckCondition, '$toOpened')" style="height: 26px">
  585. <span class="input-group-btn">
  586. <button type="button" class="btn btn-default"
  587. ng-click="apCheckopenFilterDatePicker($event, apCheckCondition, '$toOpened')">
  588. <i class="fa fa-calendar"></i>
  589. </button>
  590. </span>
  591. </div>
  592. </div>
  593. </div>
  594. </div>
  595. </div>
  596. </div>
  597. <div class="form-group form-group-sm form-group-inline">
  598. <div class="col-sm-12 control-label">
  599. <div style="display:inline-block;text-align: left;margin-top: 20px; width:32%;">
  600. <label>本期应收:</label>
  601. <label style="text-align:left;vertical-align: top;">
  602. <div ng-if="dataInfo.thisMonthCount.length > 0" ng-repeat="count in dataInfo.thisMonthCount">
  603. <span>{{count.currency}}:{{count.amount | number:2}}</span>
  604. </div>
  605. <div ng-if="dataInfo.thisMonthCount.length === 0">
  606. 0
  607. </div>
  608. </label>
  609. </div>
  610. <div style="display:inline-block;text-align: left;margin-top: 20px; width:32%;">
  611. <label>本期未对账:</label>
  612. <label style="text-align:left;vertical-align: top;">
  613. <div ng-if="dataInfo.thisMonthTodoCount.length > 0" ng-repeat="count in dataInfo.thisMonthTodoCount">
  614. <span>{{count.currency}}:{{count.amount | number:2}}</span>
  615. </div>
  616. <div ng-if="dataInfo.thisMonthTodoCount.length === 0">
  617. 0
  618. </div>
  619. </label>
  620. </div>
  621. <div style="display:inline-block;text-align: left;margin-top: 20px; width:32%;">
  622. <label>本期已收:</label>
  623. <label style="text-align:left;vertical-align: top;">
  624. <div ng-if="dataInfo.thisPeriodDoneAmount.length > 0" ng-repeat="count in dataInfo.thisPeriodDoneAmount">
  625. <span>{{count.currency}}:{{count.amount | number:2}}</span>
  626. </div>
  627. <div ng-if="!dataInfo.thisPeriodDoneAmount || dataInfo.thisPeriodDoneAmount.length === 0">
  628. 暂无数据
  629. </div>
  630. </label>
  631. </div>
  632. <div style="display:inline-block;text-align: left;margin-top: 20px; width:32%;">
  633. <label>本期发货:</label>
  634. <label style="text-align:left;vertical-align: top;">
  635. <div ng-if="dataInfo.thisPeriodSendAmount.length > 0" ng-repeat="count in dataInfo.thisPeriodSendAmount">
  636. <span>{{count.currency}}:{{count.amount | number:2}}</span>
  637. </div>
  638. <div ng-if="!dataInfo.thisPeriodSendAmount || dataInfo.thisPeriodSendAmount.length === 0">
  639. 暂无数据
  640. </div>
  641. </label>
  642. </div>
  643. <div style="display:inline-block;text-align: left;margin-top: 20px; width:32%;">
  644. <label>本期已对账:</label>
  645. <label style="text-align:left;vertical-align: top;">
  646. <div ng-if="dataInfo.thisMonthDoneCount.length > 0" ng-repeat="count in dataInfo.thisMonthDoneCount">
  647. <span>{{count.currency}}:{{count.amount | number:2}}</span>
  648. </div>
  649. <div ng-if="dataInfo.thisMonthDoneCount.length === 0">
  650. 0
  651. </div>
  652. </label>
  653. </div>
  654. <div style="display:inline-block;text-align: left;margin-top: 20px; width:32%;">
  655. <label>应收总额:</label>
  656. <label style="text-align:left;vertical-align: top;">
  657. <div ng-if="dataInfo.totalCount.length > 0" ng-repeat="count in dataInfo.totalCount">
  658. <span>{{count.currency }}:{{count.amount | number:2}}</span>
  659. </div>
  660. <div ng-if="dataInfo.totalCount.length === 0">
  661. 0
  662. </div>
  663. </label>
  664. </div>
  665. </div>
  666. </div>
  667. <div class="form-group form-group-sm form-group-inline">
  668. <div class="col-sm-12 text-right">
  669. <a ng-click="condition.$open2=!condition.$open2" class="text-simple"><span
  670. ng-bind="condition.$open2 ? '收起筛选条件' : '更多筛选条件'"></span><i
  671. class="fa fa-fw"
  672. ng-class="{'fa-angle-up': condition.$open2, 'fa-angle-down': !condition.$open2}"></i></a>
  673. <div class="btn-group btn-group-sm">
  674. <a class="btn btn-default" ng-click="searchOrder()" title="筛选"><i class="fa fa-search fa-fw btn-icon-left"></i>筛选</a>
  675. <a class="btn btn-default" ng-click="createApCheck(check.$selected)" ng-disabled="!data || data.length==0"><i class="fa fa-check-circle-o fa-fw btn-icon-left"></i>确认对账</a>
  676. <a class="btn btn-default" ng-click="exportApcheckList()" title="导出Excel" ng-disabled="!data || data.length==0"><i class="fa fa-file-text fa-fw btn-icon-left"></i>导出</a>
  677. </div>
  678. </div>
  679. </div>
  680. <div class="form-group form-group-sm form-group-inline"
  681. ng-show="condition.$open2">
  682. <!--<label class="col-sm-2 control-label">应付供应商:</label>-->
  683. <!--<div class="col-sm-4">-->
  684. <!--<div class="form-group form-group-sm has-feedback">-->
  685. <!--<input type="search" class="form-control input-sm"-->
  686. <!--ng-model="receiveName" placeholder="可用应付供应商名称筛选" /><span-->
  687. <!--class="form-control-feedback text-simple"><i-->
  688. <!--class="fa fa-search"></i></span>-->
  689. <!--</div>-->
  690. <!--</div>-->
  691. <label class="col-sm-2 control-label">送货工厂:</label>
  692. <div class="col-sm-4">
  693. <div class="form-group form-group-sm has-feedback">
  694. <input type="search" class="form-control input-sm"
  695. ng-model="factory" placeholder="请输入送货工厂名称" /><span
  696. class="form-control-feedback text-simple"><i
  697. class="fa fa-search"></i></span>
  698. </div>
  699. </div>
  700. <label class="col-sm-2 control-label">税&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;率:</label>
  701. <div class="col-sm-4">
  702. <div class="form-group form-group-sm has-feedback">
  703. <input type="search" class="form-control input-sm"
  704. ng-model="taxRate" placeholder="请输入税率" /><span
  705. class="form-control-feedback text-simple"><i
  706. class="fa fa-search"></i></span>
  707. </div>
  708. </div>
  709. </div>
  710. <div class="form-group form-group-sm form-group-inline"
  711. ng-show="condition.$open2">
  712. <label class="col-sm-2 control-label">物料名称:</label>
  713. <div class="col-sm-4">
  714. <div class="form-group form-group-sm has-feedback">
  715. <input type="search" class="form-control input-sm"
  716. ng-model="prodTitle" placeholder="请输入物料名称" /><span
  717. class="form-control-feedback text-simple"><i
  718. class="fa fa-search"></i></span>
  719. </div>
  720. </div>
  721. <label class="col-sm-2 control-label">规&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;格:</label>
  722. <div class="col-sm-4">
  723. <div class="form-group form-group-sm has-feedback">
  724. <input type="search" class="form-control input-sm"
  725. ng-model="prodSpec" placeholder="请输入物料规格" /><span
  726. class="form-control-feedback text-simple"><i
  727. class="fa fa-search"></i></span>
  728. </div>
  729. </div>
  730. </div>
  731. <!--<div class="form-group form-group-sm form-group-inline"-->
  732. <!--ng-show="condition.$open">-->
  733. <!--</div>-->
  734. </form>
  735. <!-- 标签scroll-table用于表头滚动 -->
  736. <div class="table-wrap" id="order-detail-list" scroll-table>
  737. <div class="table-header-wrap">
  738. <table class="table table-bordered">
  739. <tr>
  740. <th width="60" style="vertical-align: middle;">
  741. <input type="checkbox" name="checkbox" ng-model="checkboxes.checked" ng-click="checkAll()">
  742. </th>
  743. <th width="70">订单号</th>
  744. <th width="70">验收单</th>
  745. <th width="70">发货单</th>
  746. <th width="70">物料编号</th>
  747. <th width="70">物料名称</th>
  748. <th width="70">规格型号</th>
  749. <th width="70">验收数量</th>
  750. <th width="70">发货数量</th>
  751. <th width="50">单价</th>
  752. <th width="50">税率</th>
  753. <th width="70">小计</th>
  754. <th width="100">对账人</th>
  755. <!--<th width="35">序号</th>-->
  756. <!--<th width="60">类型</th>-->
  757. <!--<th width="60">单据<br>日期</th>-->
  758. <!--<th width="90">应付<br>供应商</th>-->
  759. <!--<th width="65">客户<br>料号</th>-->
  760. <!--<th width="65">送货<br>工厂</th>-->
  761. <!--<th width="30">币别</th>-->
  762. <!--<th width="60">金额</th>-->
  763. </tr>
  764. </table>
  765. </div>
  766. <div class="table-body-wrap">
  767. <table class="table table-bordered">
  768. <tr ng-repeat="check in data" ng-click="getTotalMoney()" class="thAlign" style="height: 40px;">
  769. <td style="padding:0;">
  770. <table class="table table-bordered child-table">
  771. <tr style="height:10px;"><td colspan="13"></td></tr>
  772. <tr>
  773. <th width="60">
  774. <input ng-model="check.$selected" name="checkbox" type="checkbox" ng-checked="check.$selected" ng-click="checkOneAll($event, check)" ng-if="check.allChecked !== 1">
  775. <span ng-if="check.allChecked === 1">已对账</span>
  776. </th>
  777. <th width="70" ng-bind="check.orderCode"></th>
  778. <th colspan="11">
  779. <div class="order-count">
  780. <span>合计:</span>
  781. 验收数量:<span>{{check.checkQty >= 0 ? (check.checkQty | number:2) :'暂无数据'}}</span>
  782. 发货数量:<span>{{check.sendQty >= 0 ? (check.sendQty | number:2) : '暂无数据'}}</span>
  783. 应收金额:<span>{{check.checkAmountList >= 0 ? (check.checkAmountList | number: 2) : '暂无数据'}}</span>
  784. 发货金额:<span>{{check.sendAmountList >= 0 ? (check.sendAmountList | number: 2) : '暂无数据'}}</span>
  785. </div>
  786. <a ng-show="check.showDetail" class="order-count-click" ng-click="check.showDetail = !check.showDetail">收起 <i class="fa fa-angle-up"></i></a>
  787. <a ng-show="!check.showDetail" class="order-count-click" ng-click="check.showDetail = !check.showDetail">展开 <i class="fa fa-angle-down"></i></a>
  788. </th>
  789. </tr>
  790. <tr ng-repeat="(index, childs) in check.details" ng-show="check.showDetail">
  791. <td width="60">
  792. <input ng-model="childs.$selected" name="checkbox" type="checkbox" ng-checked="childs.$selected" ng-click="stopPrevent($event)" ng-if="childs.haveChecked !== 1">
  793. <span ng-if="childs.haveChecked === 1">已对账</span>
  794. </td>
  795. <td width="70" rowspan="{{check.details.length}}" ng-if="index === 0"></td>
  796. <td width="70">{{::childs.inoutno}}</td>
  797. <td width="70">{{::childs.sendcode}}</td>
  798. <td width="70">{{::childs.prodcode}}</td>
  799. <td width="70" title="{{childs.prodtitle}}">
  800. <div style="display: -webkit-box; text-overflow: ellipsis; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 3; -webkit-box-orient: vertical;">{{::childs.prodtitle}}</div>
  801. </td>
  802. <td width="70" title="{{childs.prodspec}}">
  803. <div style="display: -webkit-box; text-overflow: ellipsis; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 3; -webkit-box-orient: vertical;">{{::childs.prodspec}}</div>
  804. </td>
  805. <td width="70">{{::childs.thischeckqty}}</td>
  806. <td width="70">{{::childs.qty}}</td>
  807. <td width="50">{{::childs.orderprice}}</td>
  808. <td width="50" align="center">{{::childs.taxrate}}</td>
  809. <td width="70">{{::(childs.orderprice || 0)*(childs.thischeckqty || 0) | number:2}}</td>
  810. <td width="100" ng-if="childs.haveChecked === 1">
  811. <div>{{::childs.recorder || '-'}}</div>
  812. <div>{{::childs.apCheckDate | date:'yyyy-MM-dd' || '-'}}</div>
  813. </td>
  814. <td width="100" ng-if="childs.haveChecked !== 1">
  815. 未对账
  816. </td>
  817. </tr>
  818. </table>
  819. </td>
  820. </tr>
  821. </table>
  822. </div>
  823. <!--<div style="padding: 10px 20px">本期间应收总额:{{totalMoney | number:2 || 0}}</div>-->
  824. </div>
  825. </div>
  826. </div>
  827. <style>
  828. .order-table2 tbody td {
  829. text-align: center;
  830. padding: 20px 0
  831. }
  832. .order-table2 tbody td .table-colspan-list{
  833. border-bottom:1px dotted #999;
  834. }
  835. .order-table2 tbody td .table-colspan-list:last-child{
  836. border:none;
  837. }
  838. .order-table2 tbody td .table-colspan-list span {
  839. display:inline-block;
  840. vertical-align: top;
  841. width:95px;
  842. margin:0 auto;
  843. line-height: 25px;
  844. }
  845. .order-table2 tbody td .table-colspan-list span:first-child {
  846. width:90px;
  847. }
  848. .order-table2 tbody td .table-colspan-list span:last-child {
  849. width:120px;
  850. }
  851. #order-detail-list .child-table{
  852. table-layout: auto;
  853. }
  854. #order-detail-list .child-table tr th{
  855. position:relative;
  856. background: #d3eafc;
  857. font-weight: bold;
  858. font-size:14px;
  859. padding:0 2px;
  860. vertical-align: middle;
  861. border:1px solid #fff;
  862. }
  863. #order-detail-list .child-table tr th:first-child{
  864. text-align: center;
  865. }
  866. #order-detail-list .child-table tr th .order-count{
  867. background: #d3eafc;
  868. font-weight:normal;
  869. }
  870. #order-detail-list .child-table tr th .order-count span{
  871. background: #d3eafc;
  872. font-weight:bold;
  873. margin-right:20px;
  874. }
  875. #order-detail-list .child-table tr th .order-count-click{
  876. position:absolute;
  877. top:10px;
  878. right:20px;
  879. display:inline-block;
  880. padding: 0 5px;
  881. line-height: 20px;
  882. background: #fff;
  883. color:#333;
  884. border:1px solid #333;
  885. border-radius:5px;
  886. text-decoration: none;
  887. }
  888. #order-detail-list .child-table tr td{
  889. padding:0 2px;
  890. vertical-align: middle;
  891. }
  892. </style>
  893. <style>
  894. .wui-date-picker.left {
  895. margin-right : 0 !important;
  896. right: 0;
  897. left: auto
  898. }
  899. .add-apCheckList {
  900. background: #fff
  901. }
  902. .add-apCheckList input[type="checkbox"] {
  903. /*width: 16px;
  904. height: 16px*/
  905. }
  906. .add-apCheckList .table-wrap {
  907. overflow: hidden
  908. }
  909. .add-apCheckList .table-header-wrap {
  910. background: #f9f9f9;
  911. overflow-x: hidden;
  912. overflow-y: scroll;
  913. }
  914. .add-apCheckList .table-header-wrap table,.add-apCheckList .table-body-wrap table
  915. {
  916. width: 100%;
  917. table-layout: fixed;
  918. border-collapse: collapse;
  919. border-spacing: 0;
  920. margin-bottom: 0
  921. }
  922. .add-apCheckList .table-header-wrap th {
  923. text-align: center;
  924. vertical-align:middle;
  925. }
  926. .add-apCheckList .table-body-wrap {
  927. max-height: 600px;
  928. overflow-x: auto;
  929. overflow-y: scroll;
  930. }
  931. .add-apCheckList td {
  932. word-break: break-all;
  933. text-align: center;
  934. }
  935. .add-apCheckList tbody {
  936. overflow: auto;
  937. }
  938. #order-detail-list .input-sm {
  939. border: #ccc 1px solid;
  940. }
  941. .infoms .has-feedback input[type="search"] {
  942. padding-right: 0 !important;
  943. }
  944. .infoms .table>tbody>tr>td{
  945. vertical-align: middle;
  946. }
  947. .infoms .form-horizontal .form-group-sm .control-label{
  948. font-size: 14px;
  949. }
  950. .infoms .form-group .form-control{
  951. font-size: 14px;
  952. }
  953. .wui-date.small .wui-date-picker {
  954. width: 260px
  955. }
  956. .wui-input {
  957. border: 1px solid #3f84f6;
  958. font-size: 14px;
  959. color: #3f84f6;
  960. font-weight: bold;
  961. }
  962. .wui-date-editor .iconfont {
  963. color: #3f84f6
  964. }
  965. .apCheckCondition ul {
  966. left: auto !important;
  967. right: 0;
  968. }
  969. </style>