materielTemplateEdit.html 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <html xmlns:th="http://www.thymeleaf.org">
  2. <head>
  3. <title>私塾家</title>
  4. <script th:include="sys/common/metaCSS" th:remove="tag"></script>
  5. <script th:include="sys/common/metaJS" th:remove="tag"></script>
  6. <link th:href="@{/static/js/select/fselect.css}" rel="stylesheet" type="text/css">
  7. <script src="sys/js/jquery.validate.min.js" th:src="@{/static/sys/js/jquery.validate.min.js}"></script>
  8. <script src="sys/js/jquery-validation/messages_zh.js" th:src="@{/static/sys/js/jquery-validation/messages_zh.js}"></script>
  9. <script src="sys/js/My97DatePicker/WdatePicker.js" th:src="@{/static/sys/js/My97DatePicker/WdatePicker.js}"></script>
  10. <script src="sys/js/select/fSelect.js" th:src="@{/static/js/select/fselect.js}"></script>
  11. <style>
  12. body {
  13. min-width: 180px;
  14. }
  15. .select1 {
  16. width: 100%;
  17. height: 32px;
  18. line-height: 32px;
  19. border-top: solid 1px #a7b5bc;
  20. border-left: solid 1px #a7b5bc;
  21. border-right: solid 1px #ced9df;
  22. border-bottom: solid 1px #ced9df;
  23. opacity: 1;
  24. margin-bottom: 10px;
  25. }
  26. .btn {
  27. width: 100px;
  28. }
  29. label.control-label-error {
  30. color: Red;
  31. }
  32. .forminfo li label {
  33. width: 85px;
  34. line-height: 34px;
  35. display: block;
  36. float: left;
  37. }
  38. </style>
  39. </head>
  40. <body>
  41. <div class="formbody">
  42. <form id="submitFrom" method="post" class="form-horizontal form-validate">
  43. <ul class="forminfo">
  44. <li class="clearfix" id="clearfix">
  45. <label>模板名称:<b>*</b></label>
  46. <input type="text" name="templateName" class="dfinput fl" id="templateName" th:value="${template.templateName}"/>
  47. <input type="hidden" name="id" class="dfinput fl" id="id" th:if="${template.id}" th:value="${template.id}"/>
  48. </li>
  49. <div class="templatediv" th:each="item:${template.infoList}">
  50. <li class="clearfix" >
  51. <label>物料名称:<b>*</b></label>
  52. <input type="text" name="materielName" readonly="readonly" class="dfinput fl materielName" th:onclick="'addAdmin(this)'" th:value="${item.materielName}"/>
  53. </li>
  54. <li class="clearfix" >
  55. <label>物料编码:<b>*</b></label>
  56. <input type="text" name="materielCode" class="dfinput fl materielCode" th:value="${item.materielCode}"/>
  57. </li>
  58. <li class="clearfix" >
  59. <label>物料数量:<b>*</b></label>
  60. <input type="text" name="materielCount" class="dfinput fl materielCount" th:value="${item.materielCount}"/>
  61. </li>
  62. <li class="clearfix" >
  63. <label>损耗数量:<b>*</b></label>
  64. <input type="text" name="costCount" class="dfinput fl costCount" th:value="${item.costCount}"/>
  65. </li>
  66. <li class="clearfix">
  67. <label></label>
  68. <input type="button" class="delOneRow" value="删除"/>
  69. </li>
  70. </div>
  71. <li><input type="button" id="addOneRow" value="添加一行" class="btn"/></li>
  72. <li>
  73. <label>&nbsp;</label>
  74. <button type="submit" class="btn">保存</button>
  75. <button type="button" class="btn" onclick="closeWin();">取消</button>
  76. </li>
  77. </ul>
  78. </form>
  79. </div>
  80. </body>
  81. <script type="text/javascript">
  82. $(function(){
  83. $('.select1').on('change',function(){
  84. //判断是否选取prompt属性,无返回值;
  85. if($(this).val()){
  86. var selectText = $(this).find('option:selected').attr("code");
  87. $(this).closest('.templatediv').find('input[name=materieCode]').first().val(selectText);
  88. }
  89. });
  90. $("#addOneRow").click(function(){
  91. var tempTr=$(".templatediv:first").clone(true);
  92. $(".templatediv:last").after(tempTr);
  93. $(".templatediv:last").find('input[name=materielName]').first().val("");
  94. $(".templatediv:last").find('input[name=materieCode]').first().val("");
  95. $(".templatediv:last").find('input[name=materielCount]').first().val("");
  96. $(".templatediv:last").find('input[name=costCount]').first().val("");
  97. $('.select1').on('change',function(){
  98. //判断是否选取prompt属性,无返回值;
  99. if($(this).val()){
  100. var selectText = $(this).find('option:selected').attr("code");
  101. $(this).closest('.templatediv').find('input[name=materieCode]').first().val(selectText);
  102. }
  103. });
  104. });
  105. $(".delOneRow").click(function() {
  106. if ($(".templatediv").length < 2) {
  107. alert("至少保留一行!");
  108. }
  109. else{
  110. if (confirm("确认删除?")) {
  111. $(this).parent().parent().remove();
  112. }
  113. }
  114. });
  115. $("#submitFrom").validate({
  116. rules : {
  117. },
  118. messages: {
  119. },
  120. errorPlacement : function(error, element) {
  121. error.appendTo(element.parent());
  122. },
  123. submitHandler : function(form) {
  124. roleFrom();
  125. }
  126. });
  127. });
  128. function roleFrom(){
  129. var url="[[${sysUrl}]]/sys/bookList/saveTemplate";
  130. //取值
  131. var params = $("#submitFrom").serialize();
  132. $.post(url,params,function(data){
  133. if(data != null){
  134. if(data.code='999'){
  135. layer.msg("新增成功",{icon:1});
  136. closeWin();
  137. }else{
  138. layer.msg(data.meta.message,{icon:11});
  139. closeWin();
  140. }
  141. }
  142. });
  143. }
  144. function closeWin(){
  145. window.location.href ='[[${sysUrl}]]/sys/bookList/materielTemplateList.html';
  146. }
  147. function addAdmin(obj){
  148. var objIndex = $(".templatediv").index($(obj).closest('.templatediv'));
  149. var title ='选择物料';
  150. layer.open({
  151. type: 2,
  152. title: title,
  153. closeBtn: 1, //不显示关闭按钮
  154. shift: 0.8,
  155. //offset: '100px',
  156. area: ['80%', '80%'],
  157. content: '[[${sysUrl}]]/sys/bookList/selectMaterielList.html?divIndex='+objIndex
  158. });
  159. }
  160. </script>
  161. </html>