checkPaymentOrder.jsp 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863
  1. <%@ page contentType="text/html;charset=UTF-8" %>
  2. <%@ include file="/WEB-INF/views/include/taglib.jsp" %>
  3. <html>
  4. <head>
  5. <title>订单财务信息</title>
  6. <meta name="decorator" content="default"/>
  7. <style type="text/css">
  8. .table th {
  9. text-align: center
  10. }
  11. .table td {
  12. text-align: center
  13. }
  14. #searchForm {
  15. white-space: nowrap
  16. }
  17. .pay-wrapper {
  18. padding: 0 10px
  19. }
  20. .pay-list-item {
  21. margin-bottom: 30px
  22. }
  23. .pay-table th {
  24. background: #f9f9f9 !important;
  25. }
  26. .pay-table tr.t2 td {
  27. background: #f2fbff !important;
  28. }
  29. .pay-table tr.t2 th {
  30. background: #e9f3f7 !important;
  31. }
  32. .pay-table tr.t1 th {
  33. background: #eee !important
  34. }
  35. .pay-table td {
  36. background: #fff !important
  37. }
  38. .pay-table .item0 {
  39. padding: 0;
  40. margin: 0;
  41. font-size: 12px;
  42. }
  43. input[type="checkbox"]::before {
  44. content: '\a0';
  45. display: inline-block;
  46. vertical-align: .2em;
  47. width: .8em;
  48. height: .8em;
  49. margin-right: .2em;
  50. border-radius: .2em;
  51. text-indent: .15em;
  52. line-height: .65
  53. }
  54. #select-all {
  55. width: 70px;
  56. height: 30px;
  57. -webkit-border-radius: 5px;
  58. -moz-border-radius: 5px;
  59. border-radius: 5px;
  60. background: #fff;
  61. border: 1px solid #ddd;
  62. margin-bottom: 10px
  63. }
  64. #select-all:active {
  65. background: #3daae9;
  66. color: #fff
  67. }
  68. .pay-more-func {
  69. float: right;
  70. color: #2fa4e7;
  71. cursor: pointer
  72. }
  73. .pay-more-func span:first-child {
  74. margin-right: 6px
  75. }
  76. .pay-more-func span:hover {
  77. color: #7aa9c3
  78. }
  79. .mask {
  80. width: 100%;
  81. height: 100%;
  82. position: fixed;
  83. top: 0;
  84. background: rgba(0, 0, 0, 0.7);
  85. display: none
  86. }
  87. .revise-popup-content, .tips-popup-content {
  88. width: 40%;
  89. height: auto;
  90. padding-bottom: 30px;
  91. background: #fff;
  92. -webkit-border-radius: 5px;
  93. -moz-border-radius: 5px;
  94. border-radius: 5px;
  95. position: absolute;
  96. top: 50%;
  97. left: 50%;
  98. transform: translate(-50%, -50%)
  99. }
  100. .revise-popup-content {
  101. width: 450px;
  102. height: 360px;
  103. overflow-y: scroll;
  104. padding: 0 15px 30px 15px
  105. }
  106. .tips-popup-content {
  107. width: 30%
  108. }
  109. .tips-popup-content p {
  110. text-align: center;
  111. padding: 80px;
  112. font-size: 20px
  113. }
  114. .revise-popup-content h4, .tips-popup-content h4 {
  115. padding-left: 10px;
  116. height: 40px;
  117. line-height: 40px;
  118. border-bottom: 1px solid #eee;
  119. margin-bottom: 20px
  120. }
  121. .revise-popup-content div {
  122. margin-top: 7px;
  123. text-align: center
  124. }
  125. .revise-popup-content label {
  126. width: 70px;
  127. text-align: right;
  128. vertical-align: text-bottom
  129. }
  130. .revise-popup-content button {
  131. width: 80px;
  132. height: 30px;
  133. -webkit-border-radius: 5px;
  134. -moz-border-radius: 5px;
  135. border-radius: 5px
  136. }
  137. .revise-popup-content > div:nth-of-type(4) > span:first-child {
  138. margin-left: -104px
  139. }
  140. .revise-popup-content > div:nth-of-type(4) > span:last-child {
  141. margin-left: 30px
  142. }
  143. .revise-popup-content > div:nth-of-type(4) > span span {
  144. margin-left: 10px
  145. }
  146. .revise-popup-content > div:last-child {
  147. text-align: center;
  148. margin-top: 20px
  149. }
  150. .revise-popup-content input {
  151. width: 100px;
  152. margin-bottom: 0px
  153. }
  154. .popup-cfm-btn, .tips-cfm-btn {
  155. background: #3daae9;
  156. color: #fff;
  157. border: none
  158. }
  159. .tips-cfm-btn {
  160. width: 100px;
  161. height: 40px;
  162. margin: auto;
  163. display: block;
  164. -webkit-border-radius: 5px;
  165. -moz-border-radius: 5px;
  166. border-radius: 5px
  167. }
  168. .popup-cancel-btn {
  169. background: #fff;
  170. color: #555;
  171. border: 1px solid #ddd;
  172. margin-left: 20px
  173. }
  174. .popup-tips {
  175. color: red;
  176. display: none
  177. }
  178. #close-btn, #close-btn1 {
  179. top: 8px;
  180. right: 10px;
  181. width: 18px;
  182. position: absolute;
  183. cursor: pointer
  184. }
  185. .tips-input-wrapper {
  186. width: 100px
  187. }
  188. .reset-btn {
  189. background: #fff;
  190. color: #555;
  191. border: 1px solid #ddd;
  192. margin-right: 20px
  193. }
  194. .pay-status {
  195. height: 40px;
  196. line-height: 40px;
  197. display: block
  198. }
  199. .form-search label {
  200. width: 80px;
  201. text-align: left;
  202. margin-top: 12px
  203. }
  204. .remark-textarea {
  205. width: 95%;
  206. height: 100px;
  207. resize: none
  208. }
  209. .remark-title {
  210. text-align: left !important
  211. }
  212. .remark-title span {
  213. color: red
  214. }
  215. .ul-form {
  216. white-space: nowrap;
  217. margin-left: -10px !important
  218. }
  219. .ul-form label {
  220. width: 90px;
  221. text-align: left;
  222. margin-top: 15px
  223. }
  224. .time-space-symbols {
  225. width: 100px;
  226. display: inline-block;
  227. text-align: center
  228. }
  229. #btnSubmit {
  230. width: 128px;
  231. margin-left: 435px
  232. }
  233. .pay-status label {
  234. margin-left: 0
  235. }
  236. .pay-status label:first-child {
  237. margin-left: 10px
  238. }
  239. .zeroCost .message {
  240. display: none;
  241. position: absolute;
  242. background: #FFF;
  243. white-space: nowrap;
  244. border: 1px solid black;
  245. }
  246. .zeroCost:hover .message {
  247. display: inline-block;
  248. color: black;
  249. padding: 5px;
  250. margin-left: 10px;
  251. }
  252. .weishaIcon {
  253. background: darkorange;
  254. color: white;
  255. margin: 0 0px;
  256. padding: 0 3px;
  257. font-style: normal;
  258. font-size: 12px;
  259. display: inline-block;
  260. border-radius: 2px
  261. }
  262. </style>
  263. <script type="text/javascript">
  264. $(document).ready(function () {
  265. });
  266. function page(n, s) {
  267. $("#pageNo").val(n);
  268. $("#pageSize").val(s);
  269. $("#searchForm").submit();
  270. return false;
  271. }
  272. </script>
  273. </head>
  274. <body>
  275. <ul class="nav nav-tabs">
  276. <li class="active tab-li"><a href="${ctx}/shopOrder/checkPaymentOrder">订单财务信息</a></li>
  277. </ul>
  278. <form:form id="searchForm" onsubmit="submitFunc()" modelAttribute="newOrder"
  279. action="${ctx}/shopOrder/checkPaymentOrder" method="post" class="breadcrumb form-search">
  280. <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
  281. <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
  282. <div class="ul-form">
  283. <label>子订单ID:</label>
  284. <form:input path="shopOrderIDs" htmlEscape="false" onkeyup="onlynum(this)" maxlength="8" class="input-medium"/>
  285. <label>子订单编号:</label>
  286. <form:input path="shopOrderNo" htmlEscape="false" maxlength="20" class="input-medium"/>
  287. <label>订单ID:</label>
  288. <form:input path="orderID" htmlEscape="false" onkeyup="onlynum(this)" maxlength="8" class="input-medium"/>
  289. <label>订单编号:</label>
  290. <form:input path="orderNo" htmlEscape="false" maxlength="20" class="input-medium"/><br>
  291. <label>供应商:</label>
  292. <form:input path="shopName" htmlEscape="false" maxlength="20" class="input-medium"/>
  293. <label>机构:</label>
  294. <form:input path="clubName" htmlEscape="false" maxlength="20" class="input-medium"/>
  295. <label class="control-label">下单时间:</label>
  296. <form:input path="startTime" type="text" maxlength="10" class="input-medium Wdate" value="${startTime}"
  297. onclick="WdatePicker({dateFmt:'yyyy-MM-dd ',isShowClear:false});"/>
  298. <span class="time-space-symbols">至</span>
  299. <form:input path="endTime" type="text" maxlength="10" class="input-medium Wdate" value="${endTime}"
  300. onclick="WdatePicker({dateFmt:'yyyy-MM-dd ',isShowClear:false});"/>
  301. <div class="pay-status">
  302. <label>收款状态:</label>
  303. <form:select path="receiptStatus" class="select-ele input-medium required">
  304. <form:option value="" label="所有"/>
  305. <form:options items="${fns:getDictList('receiptStatus')}" itemLabel="label" itemValue="value"
  306. htmlEscape="false"/>
  307. </form:select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  308. <label>付款状态:</label>
  309. <form:select path="payStatus" class="select-ele input-medium required">
  310. <form:option value="" label="所有"/>
  311. <form:options items="${fns:getDictList('payStatus')}" itemLabel="label" itemValue="value"
  312. htmlEscape="false"/>
  313. </form:select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  314. <label>退款状态:</label>
  315. <form:select path="refundType" class="select-ele input-medium required">
  316. <form:option value="" label="所有"/>
  317. <form:option value="0" label="无退款"/>
  318. <form:option value="1" label="部分退款"/>
  319. <form:option value="2" label="已退款"/>
  320. </form:select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  321. <label>返佣订单:</label>
  322. <form:select path="rebateOrder" class="select-ele input-medium required">
  323. <form:option value="" label="请选择"/>
  324. <form:option value="1" label="是"/>
  325. <form:option value="0" label="否"/>
  326. </form:select>
  327. </div>
  328. <div class="pay-status">
  329. <label>组织:</label>
  330. <form:select path="organizeID" class="select-ele input-medium required">
  331. <form:option value="" label="请选择"/>
  332. <form:option value="0" label="采美"/>
  333. <form:option value="9999" label="呵呵商城"/>
  334. <c:forEach items="${organizeList}" var="organize" varStatus="index">
  335. <form:option value="${organize.id}" label="${organize.organizeName}"/>
  336. </c:forEach>
  337. </form:select>
  338. <input id="btnSubmit" class="btn btn-primary" type="submit" value="查询"/>
  339. </div>
  340. <div class="clearfix"></div>
  341. </div>
  342. </form:form>
  343. <sys:message content="${message}"/>
  344. <div class="pay-wrapper">
  345. <c:forEach items="${page.list}" var="s" varStatus="sIndex">
  346. <div class="pay-list-item">
  347. <table class="table table-striped table-bordered table-condensed pay-table">
  348. <tr class="t1">
  349. <th class="item0">序号</th>
  350. <th colspan="2">母订单编号(ID)</th>
  351. <th>下单时间</th>
  352. <th>订单金额</th>
  353. <th>订单状态</th>
  354. <th>收款状态</th>
  355. <th>应收金额</th>
  356. <th>已收金额</th>
  357. <th>付款状态</th>
  358. <th>应付金额</th>
  359. <th>已付金额</th>
  360. <th>退款状态</th>
  361. <th>退款金额</th>
  362. <th colspan="3">机构</th>
  363. <th>经理折扣</th>
  364. <th>机构运费</th>
  365. <th>是否返佣</th>
  366. </tr>
  367. <tr>
  368. <td rowspan="0" class="item0">${(page.pageNo-1)*page.pageSize+sIndex.index+1}</td>
  369. <td colspan="2">${s.orderNo}(${s.orderID})</td>
  370. <td>${s.orderTime}</td>
  371. <td><fmt:formatNumber value="${s.payTotalFee}" type="number" pattern="#,##0.00"/></td>
  372. <td>
  373. <c:if test="${s.status eq 11 || s.status eq 12 || s.status eq 13 ||s.status eq 21 ||s.status eq 22 ||
  374. s.status eq 23 || s.status eq 31 ||s.status eq 32 ||s.status eq 33}">交易中<br>(${fns:getDictLabel(s.status,"order_detail_status","" )})</c:if>
  375. <c:if test="${s.status eq 0 || s.status eq 4 || s.status eq 5 || s.status eq 6 || s.status eq 7}">${fns:getDictLabel(s.status,"order_detail_status","" )}</c:if>
  376. </td>
  377. <td>
  378. <a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1"
  379. style="text-decoration: underline">
  380. <c:if test="${s.receiptStatus == 1}">
  381. <font color="red">待收款</font>
  382. </c:if>
  383. <c:if test="${s.receiptStatus == 2}">
  384. <font color="#ff8c00">部分收款</font>
  385. </c:if>
  386. <c:if test="${s.receiptStatus == 3}">
  387. <font color="green">已收款</font>
  388. </c:if>
  389. <c:if test="${s.receiptStatus == 4}">
  390. ----
  391. </c:if>
  392. </a>
  393. </td>
  394. <td>
  395. <fmt:formatNumber value="${s.payableAmount}" type="number" pattern="#,##0.00"/>
  396. (余额抵扣:<fmt:formatNumber value="${s.balancePayFee}" type="number" pattern="#,##0.00"/>)
  397. </td>
  398. <td>
  399. <a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord.rpc?orderID=${s.orderID}&from=1"
  400. style="text-decoration: underline">
  401. <c:if test="${s.alreadyReceipt eq '----'}">
  402. ${s.alreadyReceipt}
  403. </c:if>
  404. <c:if test="${s.alreadyReceipt ne '----'}">
  405. <fmt:formatNumber value="${s.alreadyReceipt}" type="number" pattern="#,##0.00"/>
  406. </c:if>
  407. </a>
  408. </td>
  409. <td>
  410. <c:if test="${s.payStatus == 1 || empty s.payStatus || s.payStatus == 0}"><font
  411. color="red">待付款</font></c:if>
  412. <c:if test="${s.payStatus == 2}"><font color="#ff8c00">部分付款</font></c:if>
  413. <c:if test="${s.payStatus == 3}"><font color="green">已付款</font>
  414. <c:if test="${s.zeroCostFlag eq 1}">
  415. <a href="javascript:;" class="zeroCost"><span><img src="/static/images/info.jpg"
  416. style="width: 15px;margin-bottom: 4px"></span>
  417. <div class="message">
  418. <span>商品成本为0,直接置为已付款,无需付款供应商</span>
  419. </div>
  420. </a>
  421. </c:if>
  422. </c:if>
  423. <c:if test="${s.payStatus == 4}">----</c:if>
  424. </td>
  425. <td><fmt:formatNumber value="${s.shouldPayShopAmount}" type="number" pattern="#,##0.00"/></td>
  426. <td>
  427. <c:if test="${s.paid eq '----'}">
  428. ${s.alreadyReceipt}
  429. </c:if>
  430. <c:if test="${s.paid ne '----'}">
  431. <fmt:formatNumber value="${s.paid}" type="number" pattern="#,##0.00"/>
  432. </c:if>
  433. </td>
  434. <td>
  435. <c:if test="${s.refundType == 1}">
  436. 部分退款
  437. </c:if>
  438. <c:if test="${s.refundType == 2}">
  439. 已退款
  440. </c:if>
  441. <c:if test="${s.refundType != 1 && s.refundType != 2}">
  442. 无退款
  443. </c:if>
  444. </td>
  445. <td><fmt:formatNumber value="${s.returnValue}" type="number" pattern="#,##0.00"/></td>
  446. <td colspan="3">
  447. <c:if test="${s.organizeID == '1'}">
  448. <span class="org-note">星范</span>
  449. </c:if>
  450. ${s.clubName}
  451. <c:if test="${s.orderType eq 2}">
  452. <font color="red">(呵呵商城)</font>
  453. </c:if>
  454. <c:if test="${s.organizeID == 3}">
  455. </c:if>
  456. </td>
  457. <td><fmt:formatNumber value="${s.discountFee}" type="number" pattern="#,##0.00"/></td>
  458. <td>
  459. <c:if test="${s.freight == 0}">
  460. 包邮
  461. </c:if>
  462. <c:if test="${s.freight == -1}">
  463. 到付
  464. </c:if>
  465. <c:if test="${s.freight == -2}">
  466. 仪器到付-产品包邮
  467. </c:if>
  468. <c:if test="${s.freight != -1 && s.freight != 0 && s.freight != -2}">
  469. <fmt:formatNumber value="${s.freight}" type="currency"/>
  470. <c:if test="${s.returnedFreightFlag eq true}"><font color="red">(已退)</font></c:if>
  471. </c:if>
  472. </td>
  473. <td>
  474. <c:if test="${s.rebateOrder == '1'}">是</c:if>
  475. <c:if test="${s.rebateOrder == '0'}">否</c:if>
  476. </td>
  477. </tr>
  478. <c:forEach items="${s.newShopOrders}" var="so" varStatus="soIndex">
  479. <tr class="t2">
  480. <th colspan="3">子订单编号(ID)</th>
  481. <th colspan="3">供应商</th>
  482. <th colspan="2">商品费</th>
  483. <th colspan="2">已付供应商</th>
  484. <th>供应商退款</th>
  485. <th colspan="2">应付供应商</th>
  486. <th colspan="3">应付税费</th>
  487. <th>供应商运费</th>
  488. <th>付第三方</th>
  489. <th>成本类型</th>
  490. </tr>
  491. <tr class="t2">
  492. <td colspan="3">${so.shopOrderNo}(${so.shopOrderID})</td>
  493. <td colspan="3">${so.shopName}</td>
  494. <td colspan="2" class="product-fee"><fmt:formatNumber value="${so.shopProductAmount}"
  495. type="number" pattern="#,##0.00"/></td>
  496. <td colspan="2"><fmt:formatNumber value="${so.payedShopAmount}" type="number"
  497. pattern="#,##0.00"/></td>
  498. <td>
  499. <c:if test="${so.refundAmount > 0}">
  500. <fmt:formatNumber value="${so.refundAmount}" type="number" pattern="#,##0.00"/>
  501. </c:if>
  502. </td>
  503. <td colspan="2">
  504. <c:if test="${so.differenceType ne 1 && so.differenceType ne 2 }">
  505. <font color="#E15616"><fmt:formatNumber value="${so.shouldPayShopAmount}" type="number"
  506. pattern="#,##0.00"/></font>
  507. </c:if>
  508. <%--1少付2多付--%>
  509. <c:if test="${so.differenceType eq 1 && so.differencePrice > 0}">
  510. <font color="black">${so.shouldPayShopAmount+so.differencePrice}</font><font color="red">(原应付:${so.shouldPayShopAmount},已补差价:${so.differencePrice})</font>
  511. </c:if>
  512. <c:if test="${so.differenceType eq 2 && so.differencePrice > 0}">
  513. <font color="black">${so.shouldPayShopAmount-so.differencePrice}</font><font color="red">(原应付:${so.shouldPayShopAmount},已退差价:${so.differencePrice})</font>
  514. </c:if>
  515. </td>
  516. <td colspan="3"><fmt:formatNumber value="${so.shopTaxFee}" type="number"
  517. pattern="#,##0.00"/></td>
  518. <td class="product-freight"><fmt:formatNumber value="${so.shopPostFee}" type="number"
  519. pattern="#,##0.00"/></td>
  520. <td><fmt:formatNumber value="${so.shopOtherFee}" type="number" pattern="#,##0.00"/></td>
  521. <td><c:if test="${empty so.costType || so.costType == '1'}">固定成本</c:if><c:if
  522. test="${so.costType == '2'}">比例成本</c:if></td>
  523. </tr>
  524. <tr>
  525. <th colspan="3">商品名</th>
  526. <th>规格</th>
  527. <th>数量<%--(赠品)--%></th>
  528. <th>退货</th>
  529. <th colspan="2">单价</th>
  530. <th colspan="3">机构税率 / 单税费 / 总税费</th>
  531. <th colspan="2">总价</th>
  532. <th colspan="3">供应商税率 / 单税费 / 总税费</th>
  533. <th>成本(单)</th>
  534. <th colspan="2">成本(总)</th>
  535. </tr>
  536. <c:forEach items="${so.newOrderProducts}" var="p" varStatus="pIndex">
  537. <tr class="pay-product-item">
  538. <td colspan="3" class="product-name">
  539. <c:if test="${p.productType eq 1}"><font color="red">协商赠品:</font></c:if>
  540. <c:if test="${p.productType eq 2}"><font color="red">促销赠品:</font></c:if>
  541. ${p.name}
  542. </td>
  543. <td style="width:80px;">${p.unit}</td>
  544. <td class="p-num" data-num="${p.num + p.presentNum}">
  545. ${p.num}
  546. <c:if test="${p.presentNum > 0}">(赠:${p.presentNum})</c:if>
  547. </td>
  548. <td><font color="${p.returnedNum>0?'red':''}">${p.returnedNum}</font></td>
  549. <td colspan="2"><fmt:formatNumber value="${empty p.touchPrice?p.discountPrice:p.touchPrice}"
  550. type="number" pattern="#,##0.00"/>
  551. <c:if test="${p.includedTax != null and p.includedTax != '' and p.includedTax ne 2}">
  552. <label style="color: red">
  553. (${p.includedTax eq 1?'含税':(p.invoiceType eq 1 or p.invoiceType eq 2)?'不含税-能开票':'不含税-不能开票'})
  554. </label>
  555. </c:if>
  556. </td>
  557. <td>${(p.includedTax ne '' and p.includedTax eq 0 and p.invoiceType eq 3)?'---':empty p.taxRate?0.0:p.taxRate}${(p.includedTax ne '' and p.includedTax eq 0 and p.invoiceType eq 3)?'':'%'}</td>
  558. <td>${(p.includedTax ne '' and (p.includedTax eq 1 or (p.includedTax eq 0 and p.invoiceType eq 3)))?'---': empty p.addedValueTax ?0.00:p.addedValueTax}</td>
  559. <td><c:choose>
  560. <c:when test="${(p.includedTax ne '' and (p.includedTax eq 1 or (p.includedTax eq 0 and p.invoiceType eq 3)))}">
  561. ---
  562. </c:when>
  563. <c:otherwise>
  564. <fmt:formatNumber
  565. value="${empty p.totalAddedValueTax ?0.00:(p.addedValueTax * (p.num+p.presentNum-p.returnedNum))}"
  566. type="number" pattern="#,##0.00"/>
  567. </c:otherwise>
  568. </c:choose></td>
  569. <td colspan="2"><fmt:formatNumber
  570. value="${((empty p.touchPrice?p.discountPrice:p.touchPrice) + p.addedValueTax)*(p.num+p.presentNum-p.returnedNum)}"
  571. type="number" pattern="#,##0.00"/></td>
  572. <td>${(p.includedTax ne '' and p.includedTax eq 0 and p.invoiceType eq 3)?'---':empty p.supplierTaxRate?0.0:p.supplierTaxRate}${(p.includedTax ne '' and p.includedTax eq 0 and p.invoiceType eq 3)?'':'%'}</td>
  573. <td>${(p.includedTax ne '' and (p.includedTax eq 1 or (p.includedTax eq 0 and p.invoiceType eq 3)))?'---': empty p.singleShouldPayTotalTax ?0.00:p.singleShouldPayTotalTax}</td>
  574. <td><c:choose>
  575. <c:when test="${(p.includedTax ne '' and (p.includedTax eq 1 or (p.includedTax eq 0 and p.invoiceType eq 3)))}">
  576. ---
  577. </c:when>
  578. <c:otherwise>
  579. <fmt:formatNumber
  580. value="${empty p.shouldPayTotalTax ?0.00:(p.singleShouldPayTotalTax * (p.num+p.presentNum-p.returnedNum))}"
  581. type="number" pattern="#,##0.00"/>
  582. </c:otherwise>
  583. </c:choose></td>
  584. <td><fmt:formatNumber value="${p.costPrice}" type="number" pattern="#,##0.00"/></td>
  585. <td colspan="2"><fmt:formatNumber
  586. value="${p.costPrice * (p.num + p.presentNum - p.returnedNum)}" type="number"
  587. pattern="#,##0.00"/></td>
  588. </tr>
  589. </c:forEach>
  590. </c:forEach>
  591. </table>
  592. <div style="float:right">
  593. <a href="${ctx}/bulkpurchase/cmRefundsProduct/toRefundRecord?orderID=${s.orderID}&from=3">收付款记录</a>&nbsp;&nbsp;&nbsp;
  594. <a href="${ctx}/bulkpurchase/cmRefundsProduct/toRecturnRecordByOrderID?orderID=${s.orderID}&from=3">用户退款/货记录</a>&nbsp;&nbsp;&nbsp;
  595. <a href="${ctx}/shopOrder/refundRecord?orderID=${s.orderID}">供应商退/付款记录</a>
  596. </div>
  597. </div>
  598. </c:forEach>
  599. </div>
  600. <div class="pagination">${page}</div>
  601. <script>
  602. (function () {
  603. var payTableEle = $('.pay-table'),
  604. payProductEle = $('.pay-product-item');
  605. var getCheckedArr = sessionStorage.getItem('checkedIndexArr'),
  606. allCheckedEle = $('.pay-all-status');
  607. if (getCheckedArr) {
  608. getCheckedArr = JSON.parse(getCheckedArr);
  609. if (getCheckedArr.length > 0) {
  610. allCheckedEle.prop('checked', false);
  611. $.each(getCheckedArr, function (index, value) {
  612. $('.pay-checkbox').eq(value).prop('checked', true);
  613. })
  614. } else {
  615. allCheckedEle.prop('checked', true);
  616. }
  617. } else {
  618. allCheckedEle.prop('checked', true);
  619. }
  620. $('.tab-li').on('click', function () {
  621. if (getCheckedArr) {
  622. sessionStorage.removeItem('checkedIndexArr');
  623. }
  624. })
  625. function renderPopup(p, f, t, th, s, ps, plist) {
  626. if (plist == '') {
  627. $('.div-table tr:gt(0)').remove();
  628. return;
  629. }
  630. var tsize = plist.size(),
  631. str = '';
  632. for (var i = 0; i < tsize; i++) {
  633. var current = $(plist.get(i));
  634. str += '<tr>' +
  635. '<td>' + current.find('.p-name').text() + '</td>' +
  636. '<td class="tips-input-wrapper">' +
  637. '<input type="number" data-num=' + current.find('.p-num').attr('data-num') + ' data-copid=' + current.find('.p-copId').attr('value') + ' data-ov=' + current.find('.p-costprice').text().replace(',', '') + ' value=' + current.find('.p-costprice').text().replace(',', '') + ' class="modify-product-costprice">' +
  638. '</td>' +
  639. '<td class="tips-input-wrapper">' +
  640. '<input type="number" data-num=' + current.find('.p-num').attr('data-num') + ' data-ov=' + current.find('.p-taxes').text().replace(',', '') + ' value=' + current.find('.p-taxes').text().replace(',', '') + ' class="modify-product-taxes">' +
  641. '</td>' +
  642. '</tr>';
  643. }
  644. $('.div-table').append(str);
  645. }
  646. function showTips1(content) {
  647. var block = $('.popup-tips');
  648. block.text(content);
  649. block.show();
  650. }
  651. function btnToGrey() {
  652. $('.popup-cfm-btn').css({'background': '#ddd', 'color': '#555'});
  653. $('.popup-cfm-btn').attr('disabled', true);
  654. }
  655. function btnToNormal() {
  656. $('.popup-cfm-btn').css({'background': '#3daae9', 'color': '#fff'});
  657. $('.popup-cfm-btn').attr('disabled', false);
  658. }
  659. function showTips(text) {
  660. $('.tips-popup p').text(text);
  661. $('.tips-popup').show();
  662. }
  663. function toZero(thisEle) {
  664. if (Number(thisEle.val()) < 0) {
  665. thisEle.val(0);
  666. }
  667. }
  668. //恢复默认值
  669. $('.reset-btn').on('click', function () {
  670. var elements = $('.modify-product-costprice,#div-freight,.modify-product-taxes,#div-third-party-fee,#proportional');
  671. elements.each(function () {
  672. $(this).attr('value', $(this).attr('data-ov'));
  673. });
  674. validAndAdd();
  675. });
  676. $('#close-btn, .popup-cancel-btn').on('click', function () {
  677. $('.revise-popup').hide();
  678. renderPopup('', '', '', '', '', '', '');
  679. })
  680. $("#popup-product-fee").on("input propertychange", function () {
  681. toZero($(this));
  682. renderSupplierFee();
  683. })
  684. $("#popup-freight").on("input propertychange", function () {
  685. toZero($(this));
  686. renderSupplierFee();
  687. })
  688. $("#popup-taxes").on("input propertychange", function () {
  689. toZero($(this));
  690. renderSupplierFee();
  691. })
  692. $("#popup-third-party").on("input propertychange", function () {
  693. toZero($(this));
  694. if (!$(this).text().trim()) {
  695. showTips1('');
  696. $('.popup-tips').hide();
  697. btnToNormal();
  698. }
  699. });
  700. $('#close-btn1').on('click', function () {
  701. $('.tips-popup').hide();
  702. });
  703. $('body').on('input propertychange', '.modify-product-costprice', function () {
  704. validAndAdd();
  705. });
  706. $('body').on('input propertychange', '#div-freight', function () {
  707. validAndAdd();
  708. });
  709. $('body').on('input propertychange', '.modify-product-taxes', function () {
  710. validAndAdd();
  711. });
  712. $('body').on('input propertychange', '#div-third-party-fee', function () {
  713. validAndAdd();
  714. });
  715. $('body').on('input propertychange', '#proportional', function () {
  716. validAndAdd();
  717. });
  718. // $('#myTab a:first').tab('show');
  719. $('#myTab a').click(function (e) {
  720. e.preventDefault();
  721. var parentLi = $(this).closest('li'),
  722. index = parentLi.index(),
  723. reviseContentEle = $('.revise-content');
  724. parentLi.addClass('active').siblings().removeClass('active');
  725. reviseContentEle.eq(index).show().siblings('.revise-content').hide();
  726. if ($('#li-fixed-cost,#li-proportional-cost').length == 2) {
  727. validAndAdd();
  728. }
  729. })
  730. $('.pay-all-status').on('click', function () {
  731. var thisStatus = $(this).prop('checked');
  732. if (thisStatus) {
  733. $('.pay-other-status').prop('checked', false);
  734. }
  735. })
  736. $('.pay-other-status').on('click', function () {
  737. var thisStatus = $(this).prop('checked');
  738. if (thisStatus) {
  739. $('.pay-all-status').prop('checked', false);
  740. }
  741. })
  742. /*$('.pay-table').each(function () {
  743. var productFee = $(this).find('.product-fee');
  744. var index = 0,
  745. fee = 0;
  746. productFee.each(function () {
  747. fee += Number($(this).text());
  748. $(this).attr('data-index', index);
  749. if (index === 0) {
  750. $(this).attr('rowspan', 0);
  751. } else {
  752. $(this).remove();
  753. }
  754. index++;
  755. });
  756. productFee.text(fee);
  757. })*/
  758. })()
  759. /**
  760. * @param obj
  761. * jquery控制input只能输入数字
  762. */
  763. function onlynum(obj) {
  764. obj.value = obj.value.replace(/[^\d]/g, ""); //清除"数字"以外的字符
  765. }
  766. function submitFunc() {
  767. var checkedArr = [];
  768. $('.pay-checkbox').each(function (index) {
  769. var thisStatus = $(this).prop('checked');
  770. if (thisStatus) {
  771. checkedArr.push(index);
  772. }
  773. })
  774. if (checkedArr.length > 0) {
  775. sessionStorage.setItem('checkedIndexArr', JSON.stringify(checkedArr));
  776. } else {
  777. sessionStorage.setItem('checkedIndexArr', []);
  778. }
  779. }
  780. </script>
  781. </body>
  782. </html>