Aucune description

department.1.js 5.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. /**
  2. * 科室管理 前台处理数据 (当时有问题)
  3. * */
  4. $(function() {
  5. $('.tool_bars').authorizeButton();
  6. $.when(helper.getDropList.getProlistDrop($('#sc_pro')),
  7. helper.getDropList.getBuildlistDrop($('#sc_build'), ''),
  8. helper.getDropList.getFloorlistDrop($('#sc_floor'), ''))
  9. .then(function(){
  10. $('#sc_pro').on('change', function(){
  11. helper.getDropList.getBuildlistDrop($('#sc_build'), $(this).val())
  12. });
  13. $('#sc_build').on('change', function(){
  14. helper.getDropList.getFloorlistDrop($('#sc_floor'), $(this).val());
  15. });
  16. });
  17. btn_search();
  18. $("#sc_btns").on('click', btn_search);
  19. });
  20. function btn_search() {
  21. var loadIndex = layer.load();
  22. getList().then(function(data) {
  23. $("#container").empty();
  24. $("#container").append('<table id="gridList"></table>');
  25. gridList(data);
  26. layer.close(loadIndex);
  27. });
  28. }
  29. //获取数据
  30. function getList() {
  31. var dtd = $.Deferred(); //在函数内部,新建一个Deferred对象
  32. $.ajax({
  33. type: "get",
  34. url: huayi.config.callcenter_url + "configurationapi/api/Department/getlist",
  35. dataType: 'json',
  36. async: true,
  37. data: {
  38. keyword: $("#sc_keyWords").val(), // 否 string 模糊查询(名称)
  39. projectid: $('#sc_pro').val() ,//否 string 项目id
  40. building: $('#sc_build').val(),// 否 string 楼栋id
  41. floorid: $('#sc_floor').val(), //否 string 楼层id
  42. },
  43. success: function(data) {
  44. if (data.state.toLowerCase() === 'success') {
  45. dtd.resolve(data.rows); // 改变Deferred对象的执行状态
  46. }
  47. }
  48. });
  49. return dtd.promise(); // 返回promise对象
  50. }
  51. //加载表格
  52. function gridList(jsonDatas) {
  53. var $gridList = $("#gridList");
  54. $gridList.jqGrid({
  55. datatype: 'jsonstring',
  56. datastr: jsonDatas,
  57. autowidth: true,
  58. rownumbers: true, //如果为ture则会在表格左边新增一列,显示行顺序号,从1开始递增。此列名为'rn'.
  59. rownumWidth: 60,
  60. shrinkToFit: false, //此属性用来说明当初始化列宽度时候的计算类型,如果为ture,则按比例初始化列宽度。如果为false,则列宽度使用colModel指定的宽度
  61. gridview: true, //构造一行数据后添加到grid中,如果设为true则是将整个表格的数据都构造完成后再添加到grid中,但treeGrid, subGrid, or afterInsertRow 不能用
  62. treeGrid: true, //启用或者禁用treegrid模式
  63. treeGridModel: "adjacency", //treeGrid所使用的方法
  64. ExpandColumn: "building", //指定那列来展开tree grid,默认为第一列,只有在treeGrid为true时起作用
  65. height: '100%',
  66. postData: {},
  67. colModel: [{
  68. label: "主键",
  69. name: "id",
  70. hidden: true,
  71. key: true
  72. },
  73. {
  74. label: '科室名称',
  75. name: 'departmenname',
  76. width: 200,
  77. align: 'left'
  78. },
  79. {
  80. label: '楼宇名称',
  81. name: 'buildname',
  82. width: 130,
  83. align: 'left'
  84. },
  85. {
  86. label: '楼层名称',
  87. name: 'floorname',
  88. width: 130,
  89. align: 'left'
  90. },
  91. {
  92. label: '项目名称',
  93. name: 'projectname',
  94. width: 200,
  95. align: 'left'
  96. },
  97. {
  98. label: '固定电话',
  99. name: 'telephone',
  100. // width: 200,
  101. align: 'left'
  102. },
  103. {
  104. label: '手机号',
  105. name: 'mobile',
  106. // width: 200,
  107. align: 'left'
  108. },
  109. {
  110. label: '备用电话',
  111. name: 'elsephone',
  112. // width: 200,
  113. align: 'left'
  114. },
  115. {
  116. label: '邮箱',
  117. name: 'email',
  118. // width: 200,
  119. align: 'left'
  120. },
  121. {
  122. label: '备注',
  123. name: 'remark',
  124. width: 200,
  125. align: 'left'
  126. }
  127. ]
  128. });
  129. }
  130. function btn_add() {
  131. var mid = $("#gridList").jqGridRowValue().id;
  132. var txt = $("#gridList").jqGridRowValue().departmenname;
  133. layer.open({
  134. type: 2,
  135. content: "template/addOrEditDept.html?mid=" + mid + "&txt=" + $(txt).text(), //iframe的url,no代表不显示滚动条
  136. title: '添加科室信息',
  137. resize: false,
  138. area: ['80%', '90%'], //宽高
  139. });
  140. }
  141. function btn_edit() {
  142. var mid = $("#gridList").jqGridRowValue().id;
  143. var pid = $("#gridList").jqGridRowValue().parent;
  144. var pTxt = $("#gridList").getRowData(pid).departmenname;
  145. if (!mid) {
  146. layer.confirm('您还没有选择科室', {
  147. icon: 7,
  148. btn: ['确定', '取消'],
  149. });
  150. return;
  151. }
  152. layer.open({
  153. type: 2,
  154. content: "template/addOrEditDept.html?isEdit=true&mid=" + mid + "&pid=" + pid + "&pTxt=" + $(pTxt).text(), //iframe的url,no代表不显示滚动条
  155. title: '修改科室信息',
  156. resize: false,
  157. area: ['80%', '90%'], //宽高
  158. });
  159. }
  160. function btn_delete() {
  161. var mid = $("#gridList").jqGridRowValue().id;
  162. if (!mid) {
  163. layer.confirm('您还没有选择科室', {
  164. icon: 7,
  165. btn: ['确定', '取消'],
  166. });
  167. return;
  168. }
  169. layer.confirm('您确定要删除当前选项吗?', {
  170. icon: 7,
  171. btn: ['确定', '取消'],
  172. yes: function(index, layero) {
  173. $.post(huayi.config.callcenter_url + "configurationapi/api/Department/delete", {
  174. ids: mid,
  175. }, function(result) {
  176. result = JSON.parse(result);
  177. if (result.state.toLowerCase() == "success") {
  178. layer.msg("删除成功");
  179. btn_search();
  180. }
  181. })
  182. },
  183. });
  184. }
  185. /**
  186. * 计算level的值
  187. * @data 整个数据
  188. * @cpid 要处理的数据的parent_id
  189. * @n level的值
  190. * */
  191. function getLevel(data, cpid, n) {
  192. for (var i = 0; i < data.length; i++) {
  193. if (cpid === data[i].id) {
  194. n++;
  195. if (data[i].parent_id === null) {
  196. return n;
  197. } else {
  198. return getLevel(data, data[i].parent_id, n)
  199. }
  200. }
  201. }
  202. }
  203. /**
  204. * 计算isLeaf, expanded的值
  205. * @data 整个数据
  206. * @cid 要处理的数据的id
  207. * */
  208. function getLeaf(data, cid) {
  209. //isLeaf 最后一个没有子节点时为 true
  210. //expanded 最后一个没有子节点时为 false
  211. for (var i = 0; i < data.length; i++) {
  212. if (cid === data[i].parent_id) {
  213. return true;
  214. }
  215. }
  216. }