orderForm.jsp 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703
  1. <%@ taglib prefix="from" uri="http://www.springframework.org/tags/form" %>
  2. <%@ page contentType="text/html;charset=UTF-8" %>
  3. <%@ include file="/WEB-INF/views/include/taglib.jsp" %>
  4. <html>
  5. <head>
  6. <title>订单管理</title>
  7. <meta name="decorator" content="default"/>
  8. <style>
  9. .form-horizontal .controls {
  10. margin-left: 0;
  11. }
  12. #increase, #decrease, .lineNum {
  13. width: 30px;
  14. height: 30px;
  15. }
  16. .lineNum {
  17. text-align: center;
  18. }
  19. .dateInput input {
  20. width: 150px;
  21. }
  22. .clause span {
  23. margin-left: 30px;
  24. }
  25. #productTable th {
  26. text-align: center;
  27. white-space: nowrap;
  28. }
  29. #productTable td {
  30. text-align: center;
  31. white-space: nowrap;
  32. }
  33. </style>
  34. <script type="text/javascript">
  35. $(document).ready(function () {
  36. $("#name").focus();
  37. $("#inputForm").validate({
  38. submitHandler: function (form) {
  39. if (onSubmitBefor() == false) {
  40. return;
  41. }
  42. loading('正在提交,请稍等...');
  43. form.submit();
  44. },
  45. errorContainer: "#messageBox",
  46. errorPlacement: function (error, element) {
  47. $("#messageBox").text("输入有误,请先更正。");
  48. if (element.is(":checkbox") || element.is(":radio") || element.parent().is(".input-append")) {
  49. error.appendTo(element.parent().parent());
  50. } else {
  51. error.insertAfter(element);
  52. }
  53. }
  54. });
  55. });
  56. function getCurPurchaseProduct(productId) {
  57. var $tr = $("#product_" + productId);
  58. var data = $tr.attr("data-value");
  59. return data;
  60. }
  61. function onSubmitBefor() {
  62. var clubId = $("#bpOrderUserinfo\\.clubId").val();
  63. if (!clubId) {
  64. alertx("请选择会所");
  65. return false;
  66. }
  67. var stagesFlag = $("#stagesFlag").val();
  68. if ('1' != stagesFlag) {
  69. return;
  70. }
  71. //剩余商品判断
  72. var flag = false;
  73. $('#productTable tbody tr').each(function (index, element) {
  74. var data = {};
  75. var obj = JSON.parse($(this).attr("data-value"));
  76. var num = parseInt(obj.num) + parseInt(obj.presentNum);//统计单种商品总数
  77. $('#stagesTable tbody tr').each(function (index, element) {
  78. var obk = JSON.parse($(this).attr("data-value"));
  79. for (var i = 0; i < obk.length; i++) {
  80. if (obj.productId == obk[i].productId) {
  81. num = num - parseInt(obk[i].productNum)
  82. }
  83. }
  84. });
  85. if (num != 0) {
  86. alertx("商品:[" + obj.name + "] 还剩余数量:" + num + " 未分配完成");
  87. flag = true;
  88. }
  89. });
  90. if (flag) {
  91. return false;
  92. }
  93. //分期总金额判断
  94. var stages_totalFee = Number($(".stages_totalFee").html());
  95. var stages_surplusFee = Number($(".stages_surplusFee").html());
  96. var stages_surplusShopFee = Number($(".stages_surplusShopFee").html());
  97. var payTotalFee = Number($(".payTotalFee").html());
  98. if (stages_surplusFee != 0 || stages_totalFee != payTotalFee) {
  99. alertx("分期总额不等于订单应付总额");
  100. return false;
  101. }
  102. if(stages_surplusShopFee != 0 ){
  103. alertx("还剩应付供应商金额不为零");
  104. return false;
  105. }
  106. }
  107. //设置运费动态变化
  108. $(document).on("change",'select#freePostFlag',function(){
  109. var options =$(this).val();
  110. // alert(options);
  111. if(options == 0){
  112. $(".freeDesc").text("包邮")
  113. }
  114. if(options == 1){
  115. $(".freeDesc").text("到付")
  116. }
  117. });
  118. </script>
  119. </head>
  120. <body>
  121. <input type="hidden" id="product_index" value="${fn:length(contractOrder.orderProduct)}">
  122. <input type="hidden" id="ctx" value="${ctx}">
  123. <ul class="nav nav-tabs">
  124. <li><a href="${ctx}/bulkpurchase/contractOrder?contractId=${contractOrder.contractId}">采购的订单列表</a></li>
  125. <li class="active"><a
  126. href="${ctx}/bulkpurchase/order/form?id=${contractOrder.id}">${empty contractOrder.id?'添加':'编辑'}订单</a></li>
  127. </ul>
  128. <br/>
  129. <form:form id="inputForm" modelAttribute="contractOrder" action="${ctx}/bulkpurchase/contractOrder/save" method="post"
  130. class="form-horizontal">
  131. <form:hidden path="id"/>
  132. <form:hidden path="contractId"/>
  133. <sys:message content="${message}"/>
  134. <!-- 初始化的地址 start -->
  135. <input type="hidden" id="curProvince" name="curProvince" value="${contractOrder.bpOrderUserinfo.province }">
  136. <input type="hidden" id="curCity" name="curCity" value="${contractOrder.bpOrderUserinfo.city }">
  137. <input type="hidden" id="curTown" name="curTown" value="${contractOrder.bpOrderUserinfo.town }">
  138. <!-- 初始化的地址 end -->
  139. <table id="contentTable" class="table table-striped table-bordered table-condensed">
  140. <form:hidden path="bpOrderUserinfo.id"/>
  141. <form:hidden path="bpOrderUserinfo.clubId" class="required"/>
  142. <form:hidden path="bpOrderUserinfo.userId"/>
  143. <form:hidden path="orderInvoice.id"/>
  144. <thead>
  145. <input id="CmclubSelected" class="btn btn-primary" type="button" value="添加会所"
  146. onclick="showClubSelect('iframe:${ctx}/bulkpurchase/cmClub')"/>
  147. <tr>
  148. <td colspan="4">用户信息</td>
  149. </tr>
  150. </thead>
  151. <tr>
  152. <td>订单ID</td>
  153. <td>${contractOrder.id}</td>
  154. <td>订单号</td>
  155. <td><form:input path="no" readonly="true" class="input-xlarg required"/></td>
  156. </tr>
  157. <tr>
  158. <td>买家</td>
  159. <td><form:input path="bpOrderUserinfo.name" readonly="true" cssClass="input-xlarge"/></td>
  160. <td>收货人<span class="help-inline"><font color="red">*</font> </span></td>
  161. <td><form:input path="bpOrderUserinfo.shouHuoRen" class="input-medium required"/></td>
  162. </tr>
  163. <tr>
  164. <td>电话</td>
  165. <td><form:input path="bpOrderUserinfo.phone" class="input-xlarge " maxlength="15"/></td>
  166. <td>手机<span class="help-inline"><font color="red">*</font> </span></td>
  167. <td><form:input path="bpOrderUserinfo.mobile" minlength="11" maxlength="11"
  168. class="input-medium required "/></td>
  169. </tr>
  170. <tr>
  171. <td> 收货地址<span class="help-inline"><font color="red">*</font> </span></td>
  172. <td><%--form:input path="bpOrderUserinfo.address" class="input-medium required"/>--%>
  173. <form:select path="bpOrderUserinfo.province" class="input-xlarge required" id="province"
  174. onchange="loadCity()" style="width:100px;">
  175. <form:option value="" label="省" provinceId=""/>
  176. </form:select>
  177. <form:select path="bpOrderUserinfo.city" class="input-xlarge required" id="city" onchange="loadTown()"
  178. style="width:100px;">
  179. <form:option value="" label="市" cityId=""/>
  180. </form:select>
  181. <form:select path="bpOrderUserinfo.town" class="input-xlarge required" id="town" style="width:100px;">
  182. <form:option value="" label="区"/>
  183. </form:select>
  184. <from:input path="bpOrderUserinfo.address" class="input-group required"></from:input>
  185. </td>
  186. </tr>
  187. </table>
  188. <br>
  189. <table id="orderTable" class="table table-striped table-bordered table-condensed">
  190. <thead>
  191. <tr>
  192. <td colspan="4">订单详情</td>
  193. </tr>
  194. </thead>
  195. <tr>
  196. <td>收货人邮编</td>
  197. <td><form:input path="bpOrderUserinfo.postalCode"/></td>
  198. <td>下单时间</td>
  199. <td>
  200. <%--<fmt:formatDate value="${contractOrder.createDate}" pattern="yyyy-MM-dd HH:mm"/>--%>
  201. <input name="createDate" id="createDate" path="contractOrder.createDate" type="text" maxlength="20" class="input-medium Wdate "
  202. value="<fmt:formatDate value="${contractOrder.createDate}" pattern="yyyy-MM-dd HH:mm:ss"/>"
  203. onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',isShowClear:false});"/>
  204. </td>
  205. </tr>
  206. <tr>
  207. <td>订单备注</td>
  208. <td><form:input path="remarks"/></td>
  209. <td>订单状态</td>
  210. <td class="orderStatus">
  211. <%--<form:select path="status" class="input-medium required">--%>
  212. <%--<form:options items="${fns:getDictList('order_status')}" itemLabel="label" itemValue="value"--%>
  213. <%--htmlEscape="false"/>--%>
  214. <%--</form:select>--%>
  215. ${fns:getDictLabel(contractOrder.status,'order_status' ,'未付款' )}
  216. </td>
  217. </tr>
  218. <tr>
  219. <td><font color="red">*</font>是否包邮</td>
  220. <td>
  221. <form:select id="freePostFlag" path="freePostFlag" class="required">
  222. <form:options class="freePost" items="${fns:getDictList('yes_no')}" itemLabel="label" itemValue="value"
  223. htmlEscape="false"/>
  224. </form:select>
  225. </td>
  226. <td>来源</td>
  227. <td>
  228. <c:if test="${empty contractOrder.orderSource}">
  229. <form:select id="orderSource" path="orderSource" class="required">
  230. <form:option value="4" label="客服"/>
  231. <form:option value="2" label="CRM"/>
  232. <form:option value="5" label="外单"/>
  233. </form:select>
  234. </c:if>
  235. ${fns:getDictLabel(contractOrder.orderSource,'bp_orderSource' ,'' )}
  236. <%--<from:hidden path="orderSource"/>--%>
  237. </td>
  238. </tr>
  239. </table>
  240. <c:if test="${empty contractOrder.confirmFlag || contractOrder.confirmFlag eq 0 }">
  241. <input id="shopSelected" class="btn btn-primary" type="button" value="添加商品"
  242. onclick="showShopSelect('iframe:${ctx}/bulkpurchase/purchaseProduct/list?flag=1')"/>
  243. </c:if>
  244. <table id="productTable" class="table table-striped table-bordered table-condensed">
  245. <thead>
  246. <tr>
  247. <th>商品ID</th>
  248. <th hidden></th>
  249. <th hidden></th>
  250. <th>商品名称</th>
  251. <th>供应商名称</th>
  252. <th>数量(赠品数)</th>
  253. <th>单价</th>
  254. <th>折扣</th>
  255. <th>折后单价</th>
  256. <th>税率</th>
  257. <th>单个税费</th>
  258. <th>税费</th>
  259. <th>总价</th>
  260. <th>应付金额</th>
  261. <th>应付供应商</th>
  262. <th>应付第三方</th>
  263. <th>应付采美</th>
  264. <th>能否复购</th>
  265. <th>操作</th>
  266. </tr>
  267. </thead>
  268. <tbody>
  269. <c:forEach items="${contractOrder.orderProduct}" var="orderProduct" varStatus="index">
  270. <tr id="product_${orderProduct.productId}" data-value='${fns:toJson(orderProduct)}'
  271. data-index="${index.index}">
  272. <td>${orderProduct.productId}</td>
  273. <td hidden>${orderProduct.shopId}</td>
  274. <td hidden>${orderProduct.shopName}</td>
  275. <td>${orderProduct.name}</td>
  276. <td><input type="hidden" name="orderProduct[${index.index}].enabledStatus"
  277. id="orderProduct${index.index}.enabledStatus"
  278. value='${fns:toJson(orderProduct)}'>${orderProduct.shopName}</td>
  279. <td>${orderProduct.num}(${orderProduct.presentNum})</td>
  280. <td>${orderProduct.price}</td>
  281. <td>${orderProduct.discount}</td>
  282. <td>${orderProduct.discountPrice}</td>
  283. <td>${orderProduct.taxRate}</td>
  284. <td>${orderProduct.addedValueTax}</td>
  285. <td>${orderProduct.totalAddedValueTax}</td>
  286. <td>${orderProduct.totalFee}</td>
  287. <td>${orderProduct.shouldPayFee}</td>
  288. <td>${orderProduct.shopFee}</td>
  289. <td>${orderProduct.otherFee}</td>
  290. <td>${orderProduct.cmFee}</td>
  291. <td>
  292. <c:if test="${orderProduct.buyAgainFlag eq 1}">
  293. </c:if>
  294. <c:if test="${orderProduct.buyAgainFlag ne 1}">
  295. </c:if>
  296. </td>
  297. <td>
  298. <%--已确认订单(0未确认 1已确认) 供应商金额审核未全部通过 --%>
  299. <c:if test="${contractOrder.confirmFlag eq 1 and orderProduct.shopFeeFlag eq 0 and (contractOrder.orderSource eq 2 or contractOrder.orderSource eq 4 or contractOrder.orderSource eq 1)}">
  300. <shiro:hasPermission name="orderproduct:orderProduct:edit">
  301. <a href="javascript:void(0);" onclick="shopFeeWin(${orderProduct.id})">修改应付金额</a>&nbsp;&nbsp;
  302. </shiro:hasPermission>
  303. </c:if>
  304. <a href="javascript:void(0);" onclick="editShop($(this))">设置</a>&nbsp;&nbsp;
  305. <a href="javascript:void(0);" onclick="deleteShop($(this))">删除商品</a>
  306. </td>
  307. </tr>
  308. </c:forEach>
  309. </tbody>
  310. </table>
  311. <br><br>
  312. <table id="orderPrice" class="table table-striped table-bordered table-condensed">
  313. <thead>
  314. <tr>
  315. <td colspan="4">订单金额</td>
  316. </tr>
  317. </thead>
  318. <tr>
  319. <td>商品总金额</td>
  320. <td><span class="productTotalFee"><fmt:formatNumber
  321. value="${empty contractOrder.productTotalFee?'0.00':(contractOrder.productTotalFee)}"
  322. pattern="#0.00"/></span> 元
  323. </td>
  324. <from:hidden path="productTotalFee"/>
  325. <td>商品总数</td>
  326. <td class="productCount">${empty contractOrder.productCount?'0':(contractOrder.productCount)}</td>
  327. <from:hidden path="productCount"/>
  328. </tr>
  329. <tr>
  330. <td>账户余额支付金额</td>
  331. <td><span class="balancePayFee">0.00</span> 元</td>
  332. <td>赠送商品数</td>
  333. <td class="presentCount">${empty contractOrder.presentCount?'0':(contractOrder.presentCount)}</td>
  334. <from:hidden path="presentCount"/>
  335. </tr>
  336. <tr>
  337. <td>小计总额</td>
  338. <td><span class="orderTotalFee"><fmt:formatNumber
  339. value="${empty contractOrder.orderTotalFee?'0.00':(contractOrder.orderTotalFee)}"
  340. pattern="#0.00"/></span> 元
  341. </td>
  342. <from:hidden path="orderTotalFee"/>
  343. <td>运费</td>
  344. <td class="freeDesc"> ${contractOrder.freePostFlag ==1?"到付":"包邮"}
  345. </td>
  346. </tr>
  347. <tr>
  348. <td>经理折扣</td>
  349. <td>
  350. <%--<input type="text" id="changeValue" name="changeValue" value="<fmt:formatNumber value="${contractOrder.discount}" type="currency" pattern="0.00"/>"/>--%>
  351. <from:input path="discount" value="${empty contractOrder.discount ?'0.00':(contractOrder.discount)}"
  352. cssClass="input-small number" onkeyup="num(this)"/>
  353. <input type="button" onclick="setProductTotalFee()" value="确认折扣">
  354. </td>
  355. <td>订单总额</td>
  356. <td><span class="payTotalFee"><fmt:formatNumber
  357. value="${empty contractOrder.payTotalFee?'0.00':(contractOrder.payTotalFee)}"
  358. pattern="#0.00"/></span> 元
  359. </td>
  360. <from:hidden path="payTotalFee"/>
  361. </tr>
  362. <tr id="cooFreeTr">
  363. <td>是否分期免息
  364. <form:select path="cooFreeFlag" class="required">
  365. <%--<form:options class="cooFree" items="${fns:getDictList('yes_no')}" itemLabel="label" itemValue="value"--%>
  366. <%--htmlEscape="false"/>--%>
  367. <form:option value="1" label="否"/>
  368. <form:option value="0" label="是"/>
  369. </form:select>
  370. </td>
  371. <td>手续费率:<from:input path="cooFreeRate" value="${empty contractOrder.cooFreeRate ?'0':(contractOrder.cooFreeRate)}"
  372. cssClass="input-small number" onkeyup="onlyNum(this)"/>%
  373. </td>
  374. <td>分期免息金额:<span class="cooFreeAmount"><fmt:formatNumber
  375. value="${empty contractOrder.cooFreeAmount?'0.00':(contractOrder.cooFreeAmount)}"
  376. pattern="#0.00"/></span> 元
  377. </td>
  378. <from:hidden path="cooFreeAmount"/>
  379. <td></td>
  380. </tr>
  381. </table>
  382. <br>
  383. <div>
  384. <label>发票信息:</label>
  385. <input id="invoice1" name="invoice" type="radio">
  386. <label for="invoice1">不需要发票</label>
  387. <input id="invoice2" name="invoice" type="radio">
  388. <label for="invoice2">需要发票</label>
  389. <div class="panel panel-default hide" id="invoiceTable">
  390. <table class="table">
  391. <td>发票类型</td>
  392. <td><input type="radio" checked="checked">普通发票</td>
  393. <tr>
  394. <td>发票内容</td>
  395. <td><input type="radio" checked="checked">明细</td>
  396. </tr>
  397. <tr>
  398. <td>发票抬头</td>
  399. <td><form:input path="orderInvoice.invoiceTitle" cssClass="input-xxlarge"/></td>
  400. </tr>
  401. </table>
  402. </div>
  403. </div>
  404. <div>
  405. <label>分期信息:</label>
  406. <input id="stages1" name="stages" type="radio" value="0">
  407. <label for="stages1">不需要分期</label>
  408. <input id="stages2" name="stages" type="radio" value="1">
  409. <label for="stages2">需要分期</label>
  410. <form:hidden path="stagesFlag"/>
  411. <div class="panel panel-default stagesTable hide">
  412. <div class="controls">
  413. <table id="stagesTable" class="table table-striped table-bordered table-condensed" width="100%">
  414. <thead>
  415. <tr>
  416. <td colspan="4">
  417. <button type="button" id="decrease">-</button>
  418. <input type="hidden" id="lineNum" value="${fn:length(contractOrder.orderStages)}">
  419. <input type="text" class="lineNum" value="${fn:length(contractOrder.orderStages)}"
  420. onchange="crease($(this))">
  421. <button type="button" id="increase">+</button>
  422. </td>
  423. <td colspan="2">
  424. 还剩应付金额:<label class="stages_surplusFee"></label>
  425. </td>
  426. <td colspan="2">
  427. 还剩应付供应商:<label class="stages_surplusShopFee"></label>
  428. </td>
  429. </tr>
  430. <tr id="stagesTr">
  431. <th class="hide"></th>
  432. <th>期数</th>
  433. <th>日期</th>
  434. <th>分期说明</th>
  435. <th width="20%">产品</th>
  436. <th>金额</th>
  437. <th>产品添加</th>
  438. <th>采美佣金</th>
  439. <th>第三方</th>
  440. <c:if test="${not empty contractOrder.orderStages && fn:length(contractOrder.orderStages)>0}">
  441. <c:forEach items="${contractOrder.orderStages[0].orderStagesShopList}" var="bpOrderStagesShop" varStatus="x">
  442. <th>${bpOrderStagesShop.shopName}</th>
  443. </c:forEach>
  444. </c:if>
  445. </tr>
  446. </thead>
  447. <tbody id="companyProClubcaseList">
  448. <c:forEach items="${contractOrder.orderStages}" var="items" varStatus="index">
  449. <tr data-value='${fns:toJson(items.orderStagesProductList)}'>
  450. <form:hidden path="orderStages[${index.index}].enabledStatus"
  451. value="${fns:toJson(items.orderStagesProductList)}"/>
  452. <td>第${index.index+1}期</td>
  453. <td><input name="orderStages[${index.index}].date" type="text" maxlength="20"
  454. class="input-mini Wdate required"
  455. value="<fmt:formatDate value="${items.date}" pattern="yyyy-MM-dd"/>"
  456. onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});"/>
  457. </td>
  458. <td><form:input path="orderStages[${index.index}].description" cssclass="input-small"/></td>
  459. <td class="orderStagesProductList">
  460. <c:forEach items="${items.orderStagesProductList}" var="products" varStatus="s">
  461. ${products.productName} × ${products.productNum}<br>
  462. </c:forEach>
  463. </td>
  464. <td><form:input path="orderStages[${index.index}].fee" class="input-mini required"
  465. number="true" onkeyup="num(this)" onchange="changeStagesFee($(this))"/></td>
  466. <td><a href="javascript:void(0);" onclick="editStages($(this))">设置</a></td>
  467. <%--采美佣金 第三方--%>
  468. <td><form:input path="orderStages[${index.index}].cmFee" class="input-mini required"
  469. number="true" onkeyup="cmNum(this)" onchange="changeStagesShopFee($(this))"/></td>
  470. <td><form:input path="orderStages[${index.index}].otherFee" class="input-mini required"
  471. number="true" onkeyup="cmNum(this)" onchange="changeStagesShopFee($(this))"/></td>
  472. <%--应付供应商--%>
  473. <c:forEach items="${items.orderStagesShopList}" var="bpOrderStagesShop" varStatus="x">
  474. <td><form:input path="orderStages[${index.index}].orderStagesShopList[${x.index}].shopFee" class="input-mini required"
  475. number="true" onkeyup="num(this)" onchange="changeStagesShopFee($(this))"/></td>
  476. </c:forEach>
  477. </tr>
  478. </c:forEach>
  479. </tbody>
  480. <tfoot>
  481. <tr>
  482. <td colspan="8" style="text-align: center;">
  483. 总额:<label class="stages_totalFee"></label>
  484. </td>
  485. </tr>
  486. <tr>
  487. <td colspan="8" style="text-align: center;">
  488. <c:if test="${empty contractOrder.stagesRemarks}">
  489. <textarea id="stagesRemarks" name="stagesRemarks" style="width: 400px;height: 60px;border: 0;">
  490. ${fns:getDictList('bp_orderBankInfo')[0]}
  491. ${fns:getDictList('bp_orderBankInfo')[1]} ${fns:getDictList('bp_orderBankInfo')[2]}
  492. </textarea>
  493. </c:if>
  494. <c:if test="${not empty contractOrder.stagesRemarks}"><form:textarea path="stagesRemarks"
  495. style="width: 400px;height: 60px;border: 0;"/></c:if>
  496. </td>
  497. </tr>
  498. </tfoot>
  499. </table>
  500. </div>
  501. <%-- 分期--%>
  502. <div class="clause">
  503. <label>售后条款:</label><br>
  504. <c:if test="${contractOrder.confirmFlag ne 1}">
  505. <c:if test="${empty contractOrder.clauseContent || fn:length(contractOrder.clauseContent)<=0}">
  506. <c:forEach items="${bpClauses}" var="items" varStatus="index">
  507. <c:if test="${items.clauseType ne 0 }">
  508. <span>
  509. <input id="clauseId${index.index+1}" class="clauseId" name="clauseId" type="radio"
  510. value="${items.id}"${(contractOrder.clauseId)==(items.id)?'checked="checked"':''}
  511. class="required" class="clauseId">
  512. <input type="hidden" class="clauseContent" id="clauseContent${index.index+1}"
  513. value="${fns:escapeHtml(items.content)}">
  514. <input type="hidden" class="clauseName" id="clauseName${index.index+1}" value="${items.name}">
  515. <a href="javascript:void(0);"
  516. onclick="openClauseInfo(${index.index+1});"><label>${items.name}</label></a>
  517. </span>
  518. </c:if>
  519. </c:forEach>
  520. </c:if>
  521. <c:if test="${not empty contractOrder.clauseContent && fn:length(contractOrder.clauseContent)>0}">
  522. <span><input type="hidden" id="clauseContent97" value="${fns:escapeHtml(contractOrder.clauseContent)}"/>
  523. <a href="javascript:void(0);" id="clauseName97"
  524. onclick="openClauseInfo(97);"><label>${contractOrder.clauseName}</label></a></span>
  525. </c:if>
  526. </c:if>
  527. <c:if test="${contractOrder.confirmFlag eq 1 }">
  528. <span><input type="hidden" id="clauseContent99" value="${fns:escapeHtml(contractOrder.clauseContent)}"/>
  529. <a href="javascript:void(0);" id="clauseName99"
  530. onclick="openClauseInfo(99);"><label>${contractOrder.clauseName}</label></a></span>
  531. </c:if>
  532. </div>
  533. </div>
  534. <%--不分期--%>
  535. <div class="panel stagesTable1 ">
  536. <div class="clause1">
  537. <label>售后条款:</label><br>
  538. <c:if test="${contractOrder.confirmFlag ne 1}">
  539. <c:if test="${empty contractOrder.clauseContent || fn:length(contractOrder.clauseContent)<=0}">
  540. <c:forEach items="${bpClauses}" var="items" varStatus="index">
  541. <c:if test="${items.clauseType ne 1}">
  542. <span>
  543. <input id="clauseId${index.index+1}" class="clauseId" name="clauseId" type="radio"
  544. value="${items.id}"${(contractOrder.clauseId)==(items.id)?'checked="checked"':''} >
  545. <input type="hidden" class="clauseContent" id="clauseContent${index.index+1}"
  546. value="${fns:escapeHtml(items.content)}">
  547. <input type="hidden" class="clauseName" id="clauseName${index.index+1}" value="${items.name}">
  548. <a href="javascript:void(0);"
  549. onclick="openClauseInfo(${index.index+1});"><label>${items.name}</label></a>
  550. </span>
  551. </c:if>
  552. </c:forEach>
  553. </c:if>
  554. <c:if test="${not empty contractOrder.clauseContent && fn:length(contractOrder.clauseContent)>0}">
  555. <span><input type="hidden" id="clauseContent96" value="${fns:escapeHtml(contractOrder.clauseContent)}"/>
  556. <a href="javascript:void(0);" id="clauseName96" onclick="openClauseInfo(96);"><label>${contractOrder.clauseName}</label></a></span>
  557. </c:if>
  558. </c:if>
  559. <c:if test="${contractOrder.confirmFlag eq 1 }">
  560. <span><span><input type="hidden" id="clauseContent98"
  561. value="${fns:escapeHtml(contractOrder.clauseContent)}"/>
  562. <a href="javascript:void(0);" id="clauseName98" type="hidden" onclick="openClauseInfo(98);"><label>${contractOrder.clauseName}</label></a></span>
  563. </c:if>
  564. </div>
  565. </div>
  566. </div>
  567. <div class="form-actions">
  568. <c:if test="${contractOrder.confirmFlag ne 1 }">
  569. <shiro:hasPermission name="contractorder:contractOrder:orderEdit">
  570. <input id="btnSubmit" class="btn btn-primary" type="submit" value="保 存"/>&nbsp;
  571. </shiro:hasPermission>
  572. </c:if>
  573. <input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
  574. </div>
  575. </form:form>
  576. <script type="text/javascript" src="${ctxStatic}/modules/bulkpurchase/loadAddress.js"></script>
  577. <script type="text/javascript" src="${ctxStatic}/modules/bulkpurchase/orderForm.js"></script>
  578. <script type="text/javascript" src="${ctxStatic}/modules/bulkpurchase/stages.js"></script>
  579. <script>
  580. $(function () {
  581. var tablehtml = $(".stagesTable1").html();
  582. var tablehtml2 = $(".stagesTable").html();
  583. if ($('#stages2').is(':checked')) {
  584. $(".stagesTable1").html();
  585. $(".stagesTable").html(tablehtml2);
  586. console.log("stages2");
  587. }
  588. if ($('#stages1').is(':checked')) {
  589. $(".stagesTable1").html(tablehtml);
  590. $(".stagesTable").html();
  591. console.log("stages1");
  592. }
  593. $('#btnSubmit').on('click', function () {
  594. if ($('.clauseId').is(':checked')) {
  595. $('.clauseId:checked').siblings('.clauseContent').attr("name", "clauseContent");
  596. $('.clauseId:checked').siblings('.clauseName').attr("name", "clauseName");
  597. }
  598. $('#inputForm').submit();
  599. })
  600. });
  601. // 修改应付供应商金额
  602. function shopFeeWin(id) {
  603. var html = "<div style='padding:20px;'><font color='red'>*</font>应付供应商金额:<input onkeyup='num(this)' id='shopFee' name='shopFee' rows='1' cols='12'/></div>";
  604. var submit = function (v, h, f) {
  605. if (f.shopFee == '') {
  606. $.jBox.tip("请输入修改后的供应商金额", 'error', {focusId: "shopFee"});
  607. return false;
  608. } else if (f.shopFee < 0) {
  609. $.jBox.tip("输入的供应商金额不正确", 'error', {focusId: "shopFee"});
  610. return false;
  611. }
  612. location.href = "${ctx}/bulkpurchase/purchaseProduct/formShopFee?id=" + id + "&shopFee=" + f.shopFee+ "&clubId=" + ${contractOrder.bpOrderUserinfo.clubId};
  613. return true;
  614. };
  615. $.jBox(html, {title: "确定修改应付供应商金额?", submit: submit});
  616. }
  617. /**
  618. * @param obj
  619. * jquery控制input只能输入数字和两位小数
  620. */
  621. function num(obj) {
  622. obj.value = obj.value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符
  623. obj.value = obj.value.replace(/^\./g, ""); //验证第一个字符是数字
  624. obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个, 清除多余的
  625. obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
  626. obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
  627. }
  628. function onlyNum(obj) {
  629. obj.value = obj.value.replace(/[^\d]/g, ""); //清除"数字"以外的字符
  630. if (obj.value >= 100 || obj.value < 0){
  631. obj.value = 0;
  632. }
  633. //分期免息金额
  634. setProductTotalFee();
  635. }
  636. $(document).on("change",'select#cooFreeFlag',function(){
  637. var options =$(this).val();
  638. console.log("options:"+options);
  639. if(options == 0){
  640. //免息
  641. $("#stages1").attr("checked",true);//设置为不需要分期
  642. $(".stagesTable1").show();
  643. $(".stagesTable").hide();
  644. $("#stagesFlag").val(0);
  645. $('#cooFreeRate').attr("readOnly",false);
  646. setProductTotalFee();
  647. }
  648. if(options == 1){
  649. //不免息
  650. $("#cooFreeRate").val('0');
  651. $(".cooFreeAmount").html('0.00');
  652. $("#cooFreeAmount").val('0.00');
  653. $('#cooFreeRate').attr("readOnly", true);
  654. setProductTotalFee();
  655. }
  656. });
  657. /**
  658. * 应付采美可取负数
  659. * @param obj
  660. */
  661. function cmNum(obj) {
  662. obj.value = obj.value.replace(/[^\d.-]/g, ""); //清除"数字"和".""-"以外的字符
  663. obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个, 清除多余的
  664. obj.value = obj.value.replace(/\-{2,}/g, "-"); //只保留第一个, 清除多余的
  665. obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
  666. obj.value = obj.value.replace("-", "$#$").replace(/\-/g, "").replace("$#$", "-");
  667. obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
  668. }
  669. </script>
  670. </body>
  671. </html>