mesDeviceUrgencyForm.html 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  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(mesDeviceUrgency.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="${mesDeviceUrgency}" action="${ctx}/mes/mesDeviceUrgency/save" method="post" class="form-horizontal">
  13. <div class="box-body">
  14. <div class="form-unit">${text('基本信息')}</div>
  15. <#form:hidden path="id"/>
  16. <div class="row">
  17. <div class="col-xs-6">
  18. <div class="form-group">
  19. <label class="control-label col-sm-4" title="">
  20. <span class="required ">*</span> ${text('设备')}:<i class="fa icon-question hide"></i></label>
  21. <div class="col-sm-8">
  22. <#form:treeselect id="deviceId" title="${text('设备')}"
  23. path="deviceId" labelPath="deviceName"
  24. url="${ctx}/mes/mesDevice/treeData"
  25. class="form-control required"
  26. allowClear="true"
  27. canSelectRoot="true"
  28. canSelectParent="true"
  29. callbackFuncName="deviceselectCallback"/>
  30. </div>
  31. </div>
  32. </div>
  33. <div class="col-xs-6">
  34. <div class="form-group">
  35. <label class="control-label col-sm-4" title="">
  36. <span class="required ">*</span> ${text('维修人员')}:<i class="fa icon-question hide"></i></label>
  37. <div class="col-sm-8">
  38. <#form:treeselect id="userCode" title="${text('用户选择')}"
  39. path="userCode" labelPath="userName"
  40. url="${ctx}/sys/office/treeData?isLoadUser=true"
  41. class=" required" allowClear="true"/>
  42. </div>
  43. </div>
  44. </div>
  45. <div class="col-xs-6">
  46. <div class="form-group">
  47. <label class="control-label col-sm-4" title="">
  48. <span class="required hide">*</span> ${text('故障现象')}:<i class="fa icon-question hide"></i></label>
  49. <div class="col-sm-8">
  50. <#form:listselect id="alarmId" title="选择故障现象" name="alarmId" value="${mesDeviceUrgency.alarmId}"
  51. labelName="alarmType" labelValue="${mesDeviceUrgency.alarmType}" url="${ctx}/mes/mesDeviceState/stateSelect"
  52. class="" btnClass="btn-sm" allowClear="true" readonly="false"
  53. itemCode="id" itemName="type"/>
  54. </div>
  55. </div>
  56. </div>
  57. </div>
  58. <div class="row">
  59. <div class="col-xs-12">
  60. <div class="form-group">
  61. <label class="control-label col-sm-2" title="">
  62. <span class="required">*</span> ${text('维修内容')}:<i class="fa icon-question hide"></i></label>
  63. <div class="col-sm-10">
  64. <#form:textarea path="content" rows="4" maxlength="1000" class="form-control required"/>
  65. </div>
  66. </div>
  67. </div>
  68. </div>
  69. <div class="row">
  70. <div class="col-xs-6">
  71. <div class="form-group">
  72. <label class="control-label col-sm-4" title="">
  73. <span class="required ">*</span> ${text('开始时间')}:<i class="fa icon-question hide"></i></label>
  74. <div class="col-sm-8">
  75. <#form:input path="startDate" readonly="true" maxlength="20" class="form-control laydate required"
  76. dataFormat="datetime" data-type="datetime" data-format="yyyy-MM-dd HH:mm"/>
  77. </div>
  78. </div>
  79. </div>
  80. <div class="col-xs-6">
  81. <div class="form-group">
  82. <label class="control-label col-sm-4" title="">
  83. <span class="required hide">*</span> ${text('结束时间')}:<i class="fa icon-question hide"></i></label>
  84. <div class="col-sm-8">
  85. <#form:input path="endDate" readonly="true" maxlength="20" class="form-control laydate"
  86. dataFormat="datetime" data-type="datetime" data-format="yyyy-MM-dd HH:mm"/>
  87. </div>
  88. </div>
  89. </div>
  90. <div class="col-xs-6">
  91. <div class="form-group">
  92. <label class="control-label col-sm-4" title="">
  93. <span class="required ">*</span> ${text('状态')}:<i class="fa icon-question hide"></i></label>
  94. <div class="col-sm-8">
  95. <#form:select path="state" dictType="mes_device_urgency_status" blankOption="true" class="form-control required"/>
  96. </div>
  97. </div>
  98. </div>
  99. <div class="col-xs-6">
  100. <div class="form-group">
  101. <label class="control-label col-sm-4" title="">
  102. <span class="required hide">*</span> ${text('备注')}:<i class="fa icon-question hide"></i></label>
  103. <div class="col-sm-8">
  104. <#form:input path="remark" maxlength="255" class="form-control"/>
  105. </div>
  106. </div>
  107. </div>
  108. </div>
  109. <div class="row">
  110. <div class="col-xs-12">
  111. <div class="form-group">
  112. <label class="control-label col-sm-2">
  113. <span class="required hide">*</span> ${text('图片上传')}:</label>
  114. <div class="col-sm-10">
  115. <#form:fileupload id="uploadImage" bizKey="${mesDeviceUrgency.id}" bizType="mesDeviceUrgency_image"
  116. uploadType="image" class="" readonly="false" preview="true"/>
  117. </div>
  118. </div>
  119. </div>
  120. </div>
  121. <h4 class="form-unit">${text('易耗品使用记录')}</h4>
  122. <div class="ml10 mr10 table-form">
  123. <table id="mesDeviceConsumableRecordDataGrid"></table>
  124. <% if (hasPermi('mes:mesDeviceRecord:edit')){ %>
  125. <a href="#" id="mesDeviceConsumableRecordDataGridAddRowBtn" class="btn btn-primary btn-sm mt10 mb10"><i class="fa fa-plus"></i> ${text('增行')}</a>
  126. <% } %>
  127. </div>
  128. </div>
  129. <div class="box-footer">
  130. <div class="row">
  131. <div class="col-sm-offset-2 col-sm-10">
  132. <% if (hasPermi('mes:mesDeviceUrgency:edit')){ %>
  133. <button type="submit" class="btn btn-sm btn-primary" id="btnSubmit"><i class="fa fa-check"></i> ${text('保 存')}</button>&nbsp;
  134. <% } %>
  135. <button type="button" class="btn btn-sm btn-default" id="btnCancel" onclick="js.closeCurrentTabPage()"><i class="fa fa-reply-all"></i> ${text('关 闭')}</button>
  136. </div>
  137. </div>
  138. </div>
  139. </#form:form>
  140. </div>
  141. </div>
  142. <% } %>
  143. <script>
  144. let url = "${ctx}/mes/mesDeviceState/stateSelect?treeCode=";
  145. function deviceselectCallback(id, act, index, layero, nodes) {
  146. console.log(id, act, index, layero, nodes);
  147. if(act == 'ok'){
  148. if(nodes.length > 0){
  149. $('#alarmIdDiv').attr('data-url',url+nodes[0].id);
  150. }else{
  151. $('#alarmIdDiv').attr('data-url',url);
  152. }
  153. }else if(act == 'clear'){
  154. $('#alarmIdDiv').attr('data-url',url);
  155. }
  156. }
  157. //初始化易耗品使用记录DataGrid对象
  158. $("#mesDeviceConsumableRecordDataGrid").dataGrid({
  159. data: ${toJson(mesDeviceUrgency.mesDeviceConsumableRecordList)},
  160. datatype: "local", // 设置本地数据
  161. autoGridHeight: function(){return 'auto'}, // 设置自动高度
  162. // 设置数据表格列
  163. columnModel: [
  164. {header:'状态', name:'status', editable:true, hidden:true},
  165. {header:'主键', name:'id', editable:true, hidden:true},
  166. {header:'易耗品', name:'consumableId', width:100,
  167. formatter: function(val, obj, row, act){
  168. return js.val(row, 'consumableId')+'|'+js.val(row, 'consumable.title');
  169. }, editable: true, edittype: "custom", editoptions: {
  170. custom_element: function(val, editOptions) {
  171. return js.template('listselectTpl', {
  172. id: 'consumable_'+editOptions.id, title: '易耗品选择',
  173. name: 'consumableId', value: val.split('|')[0],
  174. labelName: 'title', labelValue: val.split('|')[1],
  175. url: '${ctx}/mes/mesDeviceConsumable/consumableSelect', cssClass: 'required', readonly: false,
  176. itemCode: 'id', itemName: 'title'
  177. });
  178. }
  179. }
  180. },
  181. {header:'${text("使用数量")}', name:'num', width:150, editable:true, edittype:'text', editoptions:{'maxlength':'9', 'class':'form-control required digits'}},
  182. {header:'${text("操作")}', name:'actions', width:80, align:'center', formatter: function(val, obj, row, act){
  183. var actions = [];
  184. if (val == 'new'){
  185. actions.push('<a href="#" onclick="js.confirm(\'${text("你确认要删除这条数据吗?")}\', function(){$(\'#mesDeviceConsumableRecordDataGrid\').dataGrid(\'delRowData\',\''+obj.rowId+'\')});return false;"><i class="fa fa-trash-o"></i></a>&nbsp;');
  186. }else{
  187. actions.push('<a href="#" onclick="js.confirm(\'${text("你确认要删除这条数据吗?")}\', function(){$(\'#mesDeviceConsumableRecordDataGrid\').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;');
  188. }
  189. return actions.join('');
  190. }, editoptions: {defaultValue: 'new'}}
  191. ],
  192. // 编辑表格参数
  193. editGrid: true, // 是否是编辑表格
  194. editGridInitRowNum: 1, // 编辑表格的初始化新增行数
  195. editGridAddRowBtn: $('#mesDeviceConsumableRecordDataGridAddRowBtn'), // 子表增行按钮
  196. editGridAddRowBtnToHeader: true, // 子表增行按钮是否显示到表头上
  197. editGridAddRowInitData: {id: '', status: Global.STATUS_NORMAL}, // 新增行的时候初始化的数据
  198. // 编辑表格的提交数据参数
  199. editGridInputFormListName: 'mesDeviceConsumableRecordList', // 提交的数据列表名
  200. editGridInputFormListAttrs: 'id,consumableId,num,status', // 提交数据列表的属性字段
  201. // 加载成功后执行事件
  202. ajaxSuccess: function(data){
  203. }
  204. });
  205. $("#inputForm").validate({
  206. submitHandler: function(form){
  207. js.ajaxSubmitForm($(form), function(data){
  208. js.showMessage(data.message);
  209. if(data.result == Global.TRUE){
  210. js.closeCurrentTabPage(function(contentWindow){
  211. contentWindow.page();
  212. });
  213. }
  214. }, "json");
  215. }
  216. });
  217. </script>
  218. <script id="listselectTpl" type="text/template">//<!--<div>
  219. <#form:listselect id="{{d.id}}" title="{{d.title}}" name="{{d.name}}" value="{{d.value}}"
  220. labelName="{{d.labelName}}" labelValue="{{d.labelValue}}" url="{{d.url}}"
  221. class="{{d.cssClass}}" btnClass="btn-sm" allowClear="true" readonly="{{d.readonly}}"
  222. itemCode="{{d.itemCode}}" itemName="{{d.itemName}}"/>
  223. </div>//--></script>