暂无描述

addOrEditMatters.js 4.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. /**
  2. * 检查事项增加或编辑
  3. * */
  4. var indexNum = 0;
  5. $(function() {
  6. var pro_Id = helper.request.queryString("edit_id");
  7. // autosize($('textarea'));
  8. if(pro_Id) { //修改
  9. helper.getDropList.getProlistDrop($('#pro_title'))
  10. .then(function() {
  11. getProject(pro_Id);
  12. });
  13. } else {
  14. //项目名称
  15. helper.getDropList.getProlistDrop($('#pro_title'));
  16. }
  17. //添加编辑保存按钮点击
  18. $('#pro_save').on('click', saveProject);
  19. });
  20. //获取详情
  21. function getProject(ids) {
  22. $.getJSON(huayi.config.callcenter_url + "equipmentapi/api/MattersMgr/getsingle", {
  23. id: ids,
  24. }, function(data) {
  25. if(data.state == "success") {
  26. var res = data.data;
  27. $('#pro_title').selectpicker('val', res.projectid).trigger('change'); //项目名称
  28. $('#plan_title').val(res.matter); //检查事项名称
  29. $('#matterType').find('input[value="'+ res.checktype +'"]').prop('checked', true);// 是 int 检查类型 2保养,3巡检
  30. //事项内容,如:[””,””}]
  31. if(res.contents && res.contents.length > 0) {
  32. for(var i = 0, len = res.contents.length; i < len; i++) {
  33. var tplstr = '<div class="custom_item col-md-12" data-ide="identifier_' + i + '">' +
  34. '<div class="form-group col-md-10 col-sm-10">' +
  35. '<input type="text" id="fieldname_' + i + '" value="'+ res.contents[i] +'" class="form-control input_matters" placeholder="请输入字段名" />' +
  36. '</div>' +
  37. '<button class="form-control btn btn-default" style="width:60px;margin-left:15px" onclick="btn_delete($(this))">删除</button>' +
  38. '</div>';
  39. $('#custom').prepend(tplstr);
  40. }
  41. indexNum = res.contents.length;
  42. }
  43. }
  44. });
  45. }
  46. //保存
  47. function saveProject() {
  48. var pro_Id = helper.request.queryString("edit_id");
  49. var wUrl, loadIndex, planinterval;
  50. if(!$.trim($('#pro_title').val())) {
  51. layer.confirm('请选择项目名称!', {
  52. icon: 2,
  53. btn: ['确定'] //按钮
  54. });
  55. return;
  56. }
  57. if(!$.trim($('#plan_title').val())) {
  58. layer.confirm('检查事项名称不能为空!', {
  59. icon: 2,
  60. btn: ['确定'] //按钮
  61. });
  62. return;
  63. }
  64. if(pro_Id) {
  65. wURL = "equipmentapi/api/MattersMgr/update";
  66. } else {
  67. wURL = "equipmentapi/api/MattersMgr/add";
  68. }
  69. $.ajax({
  70. type: 'post',
  71. url: huayi.config.callcenter_url + wURL,
  72. dataType: 'json',
  73. async: true,
  74. beforeSend: function() { //触发ajax请求开始时执行
  75. $('#pro_save').attr("disabled", true);
  76. $('#pro_save').text('保存中...');
  77. loadIndex = layer.load();
  78. },
  79. data: {
  80. id: pro_Id, //是 string id
  81. projectid: $('#pro_title').val(), // 是 string 项目名称id
  82. matter: $('#plan_title').val(), // 是 string 检查事项
  83. contents: getFields(),// 否 List<string> 事项内容,如:[””,””}]
  84. type: $('#matterType').find('input[name="matterTypeOptions"]:checked').val(), //是 int 检查类型 2保养,3巡检
  85. },
  86. success: function(data) {
  87. layer.close(loadIndex);
  88. if(data.state == "success") {
  89. var index = parent.layer.getFrameIndex(window.name);
  90. parent.layer.close(index);
  91. parent.$('#table_all').bootstrapTable('refresh');
  92. parent.layer.msg("保存成功");
  93. } else {
  94. $('#pro_save').attr("disabled", false);
  95. $('#pro_save').text('保存');
  96. }
  97. },
  98. error: function(textStatus) {
  99. layer.close(loadIndex);
  100. layer.confirm('网络繁忙,请稍后再试...', {
  101. closeBtn: 0,
  102. btn: ['确定'] //按钮
  103. });
  104. $('#pro_save').attr("disabled", false);
  105. $('#pro_save').text('保存');
  106. },
  107. complete: function(XMLHttpRequest, textStatus) {
  108. layer.close(loadIndex);
  109. if(textStatus == 'timeout') {
  110. var xmlhttp = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHttp");
  111. xmlhttp.abort();
  112. layer.confirm('网络超时,请稍后再试...', {
  113. closeBtn: 0,
  114. btn: ['确定'] //按钮
  115. });    
  116. }
  117. $('#pro_save').attr("disabled", false);
  118. $('#pro_save').text('保存');
  119. },
  120. });
  121. }
  122. //添加自定义字段
  123. function btn_add() {
  124. var tplstr = '';
  125. tplstr = '<div class="custom_item col-md-12" data-ide="identifier_' + indexNum + '">' +
  126. '<div class="form-group col-md-10 col-sm-10">' +
  127. '<input type="text" id="fieldname_' + indexNum + '" class="form-control input_matters" placeholder="请输入事项内容" />' +
  128. '</div>' +
  129. '<button class="form-control btn btn-default" style="width:60px;margin-left:15px" onclick="btn_delete($(this))">删除</button>' +
  130. '</div>';
  131. $('#custom').prepend(tplstr);
  132. indexNum++;
  133. }
  134. //删除自定义字段
  135. function btn_delete(el) {
  136. el.parent().remove();
  137. }
  138. //获取所添加字段的值
  139. function getFields() {
  140. var contents = []; //自定义字段的数组[{”字段名”,”字段名”}]
  141. var custom_items = $('#custom').find('.custom_item');
  142. $.each(custom_items, function(i, v) {
  143. var fieldname = $(v).find('input[id*="fieldname_"]').val();
  144. if($.trim(fieldname)) {
  145. contents.push(fieldname);
  146. }
  147. });
  148. //去重
  149. contents = helper.methods.unique(contents);
  150. return contents;
  151. }