mesWarehouseInForm.html 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. <% layout('/layouts/default.html', {title: '入库单管理', libs: ['validate','fileupload','dataGrid']}){ %>
  2. <div class="main-content">
  3. <div class="box box-main">
  4. <div class="box-header with-border">
  5. <div class="box-title">
  6. <i class="fa icon-note"></i> ${text(mesWarehouseIn.isNewRecord ? '新增入库单' : '编辑入库单')}
  7. </div>
  8. <div class="box-tools pull-right">
  9. <button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
  10. </div>
  11. </div>
  12. <#form:form id="inputForm" model="${mesWarehouseIn}" action="${ctx}/mes/mesWarehouseIn/save" method="post" class="form-horizontal">
  13. <div class="box-body">
  14. <div class="form-unit">${text('基本信息')}</div>
  15. <#form:hidden path="id"/>
  16. <#form:hidden path="from" />
  17. <div class="row">
  18. <div class="col-xs-12">
  19. <div class="form-group">
  20. <label class="control-label col-sm-2" title="">
  21. <span class="required hide">*</span> ${text('备注')}:<i class="fa icon-question hide"></i></label>
  22. <div class="col-sm-4">
  23. <#form:textarea path="remark" rows="3" maxlength="200" class="form-control"/>
  24. </div>
  25. </div>
  26. </div>
  27. </div>
  28. <div class="row">
  29. <div class="col-xs-12">
  30. <div class="form-group">
  31. <label class="control-label col-sm-2">
  32. <span class="required hide">*</span> ${text('图片上传')}:</label>
  33. <div class="col-sm-8">
  34. <#form:fileupload id="uploadImage" bizKey="${mesWarehouseIn.id}" bizType="mesWarehouseIn_image"
  35. uploadType="image" class="" readonly="false" preview="true"/>
  36. </div>
  37. </div>
  38. </div>
  39. </div>
  40. <h4 class="form-unit">${text('入库物料')}</h4>
  41. <div class="ml10 mr10 table-form">
  42. <table id="mesWarehouseInItemsDataGrid"></table>
  43. <% if (hasPermi('mes:mesWarehouseIn:edit')){ %>
  44. <a href="#" id="mesWarehouseInItemsDataGridAddRowBtn" class="btn btn-primary btn-sm mt10 mb10"><i class="fa fa-plus"></i> ${text('增行')}</a>
  45. <% } %>
  46. </div>
  47. </div>
  48. <div class="box-footer">
  49. <div class="row">
  50. <div class="col-sm-offset-2 col-sm-10">
  51. <% if (hasPermi('mes:mesWarehouseIn:edit')){ %>
  52. <button type="submit" class="btn btn-sm btn-primary" id="btnSubmit"><i class="fa fa-check"></i> ${text('保 存')}</button>&nbsp;
  53. <% } %>
  54. <button type="button" class="btn btn-sm btn-default" id="btnCancel" onclick="js.closeCurrentTabPage()"><i class="fa fa-reply-all"></i> ${text('关 闭')}</button>
  55. </div>
  56. </div>
  57. </div>
  58. </#form:form>
  59. </div>
  60. </div>
  61. <% } %>
  62. <script>
  63. //初始化入库单关联物料表DataGrid对象
  64. $("#mesWarehouseInItemsDataGrid").dataGrid({
  65. data: ${toJson(mesWarehouseIn.mesWarehouseInItemsList)},
  66. datatype: "local", // 设置本地数据
  67. autoGridHeight: function(){return 'auto'}, // 设置自动高度
  68. // 设置数据表格列
  69. columnModel: [
  70. {header:'状态', name:'status', editable:true, hidden:true},
  71. {header:'主键', name:'id', editable:true, hidden:true},
  72. {header:'${text("物品")}', name:'title', width:150,
  73. formatter: function(val, obj, row, act){
  74. return js.val(row, 'warehouseId')+'|'+js.val(row, 'title');
  75. }, editable: true, edittype: "custom", editoptions: {
  76. custom_element: function(val, editOptions) {
  77. return js.template('listselectTpl', {
  78. id: 'user_'+editOptions.id, title: '物料选择',
  79. name: 'warehouseId', value: val.split('|')[0],
  80. labelName: 'title', labelValue: val.split('|')[1],
  81. url: '${ctx}/mes/mesWarehouse/warehouseSelect', cssClass: 'required', readonly: false,
  82. itemCode: 'id', itemName: 'title'
  83. });
  84. }
  85. }
  86. },
  87. {header:'${text("入库记录id")}', name:'warehouseInId', editable:true, hidden:true},
  88. {header:'${text("批次")}', name:'batchSn', width:150, editable:true, edittype:'text', editoptions:{'maxlength':'100', 'class':'form-control required'}},
  89. {header:'${text("数量")}', name:'count', width:150, editable:true, edittype:'text', editoptions:{'maxlength':'8', 'class':'form-control required digits','dataFormat':'number'}},
  90. {header:'${text("操作")}', name:'actions', width:80, align:'center', formatter: function(val, obj, row, act){
  91. var actions = [];
  92. if (val == 'new'){
  93. actions.push('<a href="#" onclick="js.confirm(\'${text("你确认要删除这条数据吗?")}\', function(){$(\'#mesWarehouseInItemsDataGrid\').dataGrid(\'delRowData\',\''+obj.rowId+'\')});return false;"><i class="fa fa-trash-o"></i></a>&nbsp;');
  94. }else{
  95. actions.push('<a href="#" onclick="js.confirm(\'${text("你确认要删除这条数据吗?")}\', function(){$(\'#mesWarehouseInItemsDataGrid\').dataGrid(\'setRowData\',\''+obj.rowId+'\',null,{display:\'none\'});$(\'#'+obj.rowId+'_status\').val(\''+Global.STATUS_DELETE+'\');});return false;"><i class="fa fa-trash-o"></i></a>&nbsp;');
  96. }
  97. return actions.join('');
  98. }, editoptions: {defaultValue: 'new'}}
  99. ],
  100. // 编辑表格参数
  101. editGrid: true, // 是否是编辑表格
  102. editGridInitRowNum: 1, // 编辑表格的初始化新增行数
  103. editGridAddRowBtn: $('#mesWarehouseInItemsDataGridAddRowBtn'), // 子表增行按钮
  104. editGridAddRowBtnToHeader: true, // 子表增行按钮是否显示到表头上
  105. editGridAddRowInitData: {id: '', status: Global.STATUS_NORMAL}, // 新增行的时候初始化的数据
  106. // 编辑表格的提交数据参数
  107. editGridInputFormListName: 'mesWarehouseInItemsList', // 提交的数据列表名
  108. editGridInputFormListAttrs: 'status,id,warehouseId,warehouseInId.id,count,batchSn', // 提交数据列表的属性字段
  109. // 加载成功后执行事件
  110. ajaxSuccess: function(data){
  111. }
  112. });
  113. </script>
  114. <script id="treeselectTpl" type="text/template">//<!--<div>
  115. <#form:treeselect id="{{d.id}}" title="{{d.title}}" name="{{d.name}}" value="{{d.value}}"
  116. labelName="{{d.labelName}}" labelValue="{{d.labelValue}}" url="{{d.url}}"
  117. class="{{d.cssClass}}" btnClass="btn-sm" allowClear="true"/>
  118. </div>//--></script>
  119. <script id="listselectTpl" type="text/template">//<!--<div>
  120. <#form:listselect id="{{d.id}}" title="{{d.title}}" name="{{d.name}}" value="{{d.value}}"
  121. labelName="{{d.labelName}}" labelValue="{{d.labelValue}}" url="{{d.url}}"
  122. class="{{d.cssClass}}" btnClass="btn-sm" allowClear="true" readonly="{{d.readonly}}"
  123. itemCode="{{d.itemCode}}" itemName="{{d.itemName}}"/>
  124. </div>//--></script>
  125. <script>
  126. $("#inputForm").validate({
  127. submitHandler: function(form){
  128. js.ajaxSubmitForm($(form), function(data){
  129. js.showMessage(data.message);
  130. if(data.result == Global.TRUE){
  131. js.closeCurrentTabPage(function(contentWindow){
  132. contentWindow.page();
  133. });
  134. }
  135. }, "json");
  136. }
  137. });
  138. </script>