Nav apraksta

addmaintainProject.js 6.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. /**
  2. * 添加或修改菜单
  3. * */
  4. $(function() {
  5. autosize($('textarea'));
  6. var isEdit = helper.request.queryString("isEdit");
  7. var mid = helper.request.queryString("mid");
  8. var txt = helper.request.queryString("txt");
  9. txt = decodeURIComponent(txt);
  10. var pid = helper.request.queryString("pid");
  11. var pTxt = helper.request.queryString("pTxt");
  12. pTxt = decodeURIComponent(pTxt);
  13. //菜单下拉数据
  14. getMenuLists();
  15. getbz()
  16. if(isEdit) {
  17. //修改
  18. if(pid == "000000000000000000000000" || pid == "undefined") {
  19. $('#menus').val("顶级分类");
  20. $('#menus').attr('data-id', '000000000000000000000000');
  21. } else {
  22. $('#menus').val(pTxt);
  23. $('#menus').attr('data-id', pid);
  24. }
  25. getMenusInfo();
  26. $('#save_btns').on('click', saveAccount);
  27. } else {
  28. //添加
  29. if(mid == "undefined") {
  30. $('#menus').val("顶级分类");
  31. $('#menus').attr('data-id', '000000000000000000000000');
  32. } else {
  33. $('#menus').val(txt);
  34. $('#menus').attr('data-id', mid);
  35. }
  36. $('#save_btns').on('click', saveAccount);
  37. }
  38. $('#menus').on('focus click', function() {
  39. $('#menusTreeView').removeClass('hidden').addClass('show');
  40. });
  41. $('#menus').on('keyup', function() {
  42. if($(this).val() == '') {
  43. $('menusTreeView').treeview('uncheckAll', {
  44. silent: true
  45. });
  46. $(this).attr('data-id', '000000000000000000000000');
  47. }
  48. });
  49. $('#menus + .caret').on('click', function() {
  50. $('#menusTreeView').removeClass('hidden').addClass('show');
  51. });
  52. $('#menusTreeView').mouseleave(function() {
  53. $(this).removeClass('show').addClass('hidden');
  54. });
  55. });
  56. //获取菜单信息
  57. function getMenusInfo() {
  58. var mid = helper.request.queryString("mid");
  59. $.ajax({
  60. type: "get",
  61. url: huayi.config.callcenter_url + "equipmentapi/api/WoRepairBase/getwxwptimesbyid",
  62. async: true,
  63. dataType: 'json',
  64. data: {
  65. id: mid
  66. },
  67. success: function(data) {
  68. if (data.state.toLowerCase() == 'success') {
  69. console.log(data.data[0].bzid)
  70. // $('#bzid').selectpicker('val', data.data[0].bzid).trigger('change');
  71. // $("#bzid option:selected").val(data.data[0].bzid)//班组
  72. $("#bzid").val(data.data[0].bzid); //排查部门
  73. $('#bzid').selectpicker('refresh');
  74. $('#bzid').selectpicker('render');
  75. $('#wxcenter').val(data.data[0].wxcenter); //维修项目
  76. $('#timecount').val(data.data[0].timecount); // 时长
  77. }
  78. }
  79. });
  80. }
  81. //获取详情
  82. function getValue() {
  83. $.ajax({
  84. type: "get",
  85. url: huayi.config.callcenter_url + "equipmentapi/api/WoRepairBase/getwxwptimesbyid",
  86. async: true,
  87. dataType: 'json',
  88. data: {
  89. id: mid
  90. },
  91. success: function(data) {
  92. if (data.state.toLowerCase() == 'success') {
  93. console.log(data.data[0].bzid)
  94. // $('#bzid').selectpicker('val', data.data[0].bzid).trigger('change');
  95. // $("#bzid option:selected").val(data.data[0].bzid)//班组
  96. $("#bzid").val(data.data[0].bzid); //排查部门
  97. $('#bzid').selectpicker('refresh');
  98. $('#bzid').selectpicker('render');
  99. $('#wxcenter').val(data.data[0].wxcenter); //维修项目
  100. $('#timecount').val(data.data[0].timecount); // 时长
  101. }
  102. }
  103. });
  104. }
  105. //添加保存菜单信息
  106. function saveAccount() {
  107. var mid = helper.request.queryString("mid");
  108. var apiUrl ="equipmentapi/api/WoRepairBase/addwxwptimes"
  109. if (mid) {
  110. apiUrl ="equipmentapi/api/WoRepairBase/upwxwptimestabs"
  111. }
  112. if(!$.trim($('#wxcenter').val())) {
  113. layer.confirm('维修项目不能为空!', {
  114. icon: 2,
  115. btn: ['确定'] //按钮
  116. });
  117. return;
  118. }
  119. $.ajax({
  120. type: "get",
  121. url: huayi.config.callcenter_url + apiUrl,
  122. async: true,
  123. dataType: 'json',
  124. data: {
  125. id: mid,
  126. parentid: $('#menus').attr('data-id'), //当前选择节点ID父级ID,无父级ID为'000000000000000000000000'
  127. wxcenter: $('#wxcenter').val(), //菜单名称
  128. bzid: $("#bzid option:selected").val(), //班组
  129. },
  130. success: function(data) {
  131. if (data.state.toLowerCase() == 'success') {
  132. var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
  133. parent.layer.close(index); //再执行关闭
  134. layer.msg(data.message);
  135. parent.location.reload();
  136. }
  137. }
  138. });
  139. }
  140. // 获取班组
  141. function getbz() {
  142. $("#bzid").html('');
  143. $("#bzid").append('<option selected="selected" value="">请选择班组</option>');
  144. $.getJSON(huayi.config.callcenter_url + "equipmentapi/api/WoRepairBase/getallbzcount", function(data) {
  145. if (data.state.toLowerCase() == "success") {
  146. var province = data.data;
  147. for (var i = 0; i < province.length; i++) {
  148. $("<option value='" + province[i].id + "'>" + province[i].role_name + "</option>").appendTo("#bzid");
  149. $('#bzid').selectpicker('refresh');
  150. }
  151. }else{
  152. $("#bzid").empty();
  153. $("#bzid").selectpicker('refresh');
  154. }
  155. })
  156. }
  157. //菜单下拉
  158. function getMenuLists() {
  159. var pid = helper.request.queryString("pid");
  160. $.getJSON(huayi.config.callcenter_url + '/equipmentapi/api/WoRepairBase/getwxwpstimetree', {
  161. }, function(result) {
  162. if(result.state.toLowerCase() == "success") {
  163. var defaultDatas = getTreeData(result.data)
  164. console.log(defaultDatas)
  165. var $sTree = $('#menusTreeView').treeview({
  166. color: "#428bca",
  167. expandIcon: 'glyphicon glyphicon-chevron-right',
  168. collapseIcon: 'glyphicon glyphicon-chevron-down',
  169. nodeIcon: 'fa fa-folder-o',
  170. //selectedIcon: "glyphicon glyphicon-stop",
  171. //icon: "glyphicon glyphicon-stop",
  172. //emptyIcon: 'glyphicon',
  173. //showCheckbox: true,
  174. selectable: true,
  175. state: {
  176. selected: true
  177. },
  178. data: defaultDatas,
  179. onNodeSelected: function(event, node) {
  180. $sTree.treeview('clearSearch');
  181. console.log(event, node)
  182. $('#menus').val(node.text);
  183. $('#menus').attr('data-id', node.id);
  184. $('#menusTreeView').removeClass('show').addClass('hidden');
  185. },
  186. onNodeUnselected: function(event, node) {
  187. $('#menus').val('顶级分类');
  188. $('#menus').attr('data-id', '000000000000000000000000');
  189. }
  190. });
  191. $('#menusTreeView').treeview('collapseAll', {
  192. silent: true
  193. });
  194. var findSNodes = function() {
  195. return $sTree.treeview('search', [$('#menus').val(), {
  196. ignoreCase: false,
  197. exactMatch: false
  198. }]);
  199. };
  200. $('#menus').on('keyup', function(e) {
  201. var selectableNodes = findSNodes();
  202. // var m = $('#menusTreeView').treeview('getParent', selectableNodes);
  203. // $('#menusTreeView').treeview('selectNode', [ m, { silent: true } ]);
  204. });
  205. }
  206. })
  207. }
  208. function getTreeData (data) {
  209. var newData=[]
  210. data.forEach(function (ele) {
  211. newData.push({
  212. id: ele.id,
  213. parentid: ele.pid,
  214. text: ele.wxcenter +'-'+ ele.name,
  215. children: (ele.child && ele.child.length > 0) ? getTreeData(ele.child) : []
  216. })
  217. })
  218. return newData
  219. }
  220. //格式化图标下拉
  221. function formatState(state) {
  222. if(!state.id) {
  223. return state.text;
  224. }
  225. var $state = $(
  226. '<span><i class="icon-color iconfont">' + state.id + '</i>' + state.text + '</span>'
  227. );
  228. return $state;
  229. };