system-inform.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343
  1. var pageNo = 1;
  2. var totalPages = 0;
  3. //单位列表
  4. getSystemListDataAjax();
  5. //获取单位列表 ajax请求
  6. function getSystemListDataAjax(queryParam = {}, pageNo = 1) {
  7. queryParam.pageNo = pageNo;
  8. // queryParam.pageSize = 4;
  9. ajaxRequest(UNIT_LIST, "POST", queryParam, function(result) {
  10. let data = result.pageList;
  11. let items = '';
  12. data.forEach(function(item, key) {
  13. let perms = item.parm;
  14. let permSave = JSON.stringify(perms)
  15. delete(item.parm)
  16. var systemStatus = item.status == "1" ? '启动' : '未启动';
  17. items += "<tr>" +
  18. "<td class='status' data-system='" + JSON.stringify(item) + "' data-perm=" + permSave + " data-id=" + item.id + " ></td>" +
  19. "<td>" + item.systemName + "</td>" +
  20. "<td><i class='logo-img' style='background-image:url(" + item.systemLogo + ")'></i></td>" +
  21. "<td>" + item.fullName + "</td>" +
  22. "<td>" + item.forShort + "</td>" +
  23. "<td>" + item.url + "</td>" +
  24. "<td>" + systemStatus + "</td>" +
  25. "<td>" + item.creatMan + "</td>" +
  26. "<td>" + getFormatDate(item.creatTime) + "</td>" +
  27. // "<td>" + item.parm + "</td>" +
  28. "</tr>"
  29. })
  30. $('#systemList').html(items);
  31. totalPages = result.totalPages;
  32. $('#totalPage').html(totalPages); //总共多少页
  33. $('#dataTotal').html(result.totalCount); //总共多少条数据
  34. $('#currentPage').val(pageNo); //当前页面
  35. let pageFrom = (pageNo - 1) * result.pageSize + 1; //开始
  36. let pageTo = result.pageNo * result.pageSize; //结束
  37. pageTo = pageTo > result.totalCount ? result.totalCount : pageTo;
  38. $('#pageFrom').html(pageFrom);
  39. $('#pageTo').html(pageTo);
  40. // 无数据时
  41. if (!data.length) {
  42. $('.pager.has-data').hide()
  43. $('.pager.no-data').show()
  44. } else {
  45. $('.pager.has-data').show()
  46. $('.pager.no-data').hide()
  47. }
  48. if (pageNo < totalPages) {
  49. $('#nextPageButton,#lastPageButton').removeClass('disabled');
  50. } else {
  51. $('#nextPageButton,#lastPageButton').addClass('disabled');
  52. }
  53. if (pageNo === 1) {
  54. $('#firstPageButton,#prevPageButton').addClass('disabled');
  55. } else {
  56. $('#firstPageButton,#prevPageButton').removeClass('disabled');
  57. }
  58. }, function(errorMsg) {
  59. alert("请求数据失败!");
  60. })
  61. }
  62. // /分页刷新按钮
  63. $('.pg-refresh').click(resetForm)
  64. //重置表单
  65. function resetForm() {
  66. pageNo = 1;
  67. getSystemListDataAjax();
  68. }
  69. //分页操作
  70. $('#firstPageButton').on('click', function() {
  71. pageNo = 1;
  72. getSystemListDataAjax(getSearchParamObj(), 1);
  73. })
  74. $('#lastPageButton').on('click', function() {
  75. pageNo = totalPages;
  76. getSystemListDataAjax(getSearchParamObj(), pageNo);
  77. })
  78. $('#prevPageButton').on('click', function() {
  79. pageNo -= 1;
  80. getSystemListDataAjax(getSearchParamObj(), pageNo);
  81. })
  82. $('#nextPageButton').on('click', function() {
  83. pageNo += 1;
  84. getSystemListDataAjax(getSearchParamObj(), pageNo);
  85. })
  86. //拼接搜索条件
  87. function getSearchParamObj() {
  88. let queryParam = {};
  89. return queryParam;
  90. }
  91. /*新增 修改 关闭 弹框*/
  92. var layer = layui.layer;
  93. var layerCreateIndex = '';
  94. var layerUpdateIndex = ''
  95. layui.use('layer', function() {
  96. var layer = layui.layer;
  97. //新增弹框
  98. $('.add').click(function() {
  99. layerCreateIndex = layer.open({
  100. type: 1,
  101. title: false,
  102. closeBtn: 0,
  103. shadeClose: true,
  104. skin: 'yourclass',
  105. area: ['400px', '300px'],
  106. content: $(".addUnitOut"),
  107. success: function() {
  108. $('.clsBtn,.cancel').click(function() {
  109. layer.close(layerCreateIndex);
  110. })
  111. }
  112. })
  113. })
  114. //修改弹框信息
  115. $('.edit').click(function() {
  116. if (!$('.pure-table tr').has('.checked').length) {
  117. layer.msg('请选择一条需要修改的信息!', { icon: 5 });
  118. } else {
  119. let dataId = $('.pure-table tr').find('.checked').data('id');
  120. let systemInfo = $('.pure-table tr').find('.checked').data('system');
  121. let perm = $('.pure-table tr').find('.checked').data('perm');
  122. $('.editSystemOut input[name=systemName]').val(systemInfo.systemName)
  123. $('.editSystemOut input[name=fullName]').val(systemInfo.fullName)
  124. $('.editSystemOut input[name=forShort').val(systemInfo.forShort)
  125. $('.editSystemOut input[name=url').val(systemInfo.url)
  126. $('.editSystemOut input[name=parm').val(perm)
  127. $('.editSystemOut input[name=id]').val(systemInfo.id)
  128. $('.editSystemOut input[name=creatMan').val(systemInfo.creatMan)
  129. $('.editSystemOut select[name=status').val(systemInfo.status)
  130. if (systemInfo.systemLogo) {
  131. $('#systemLogoShow').attr('src', systemInfo.systemLogo)
  132. $('#systemLogoShow').css('display', 'block')
  133. }
  134. layerUpdateIndex = layer.open({
  135. type: 1,
  136. title: false,
  137. closeBtn: 0,
  138. shadeClose: true,
  139. skin: 'yourclass',
  140. area: ['410px', '420px'],
  141. content: $(".editSystemOut"),
  142. success: function() {
  143. $('.clsBtn,.cancel').click(function() {
  144. layer.close(layerUpdateIndex);
  145. })
  146. }
  147. });
  148. $('#editystemFormBox input[name=systemLogoFile]').off('change').on('change', function() {
  149. // 先获取用户上传的文件对象
  150. let fileObj = this.files[0];
  151. // 生成一个文件读取的内置对象
  152. let fileReader = new FileReader();
  153. // 将文件对象传递给内置对象
  154. fileReader.readAsDataURL(fileObj); //这是一个异步执行的过程,所以需要onload回调函数执行读取数据后的操作
  155. // 将读取出文件对象替换到img标签
  156. fileReader.onload = function() { // 等待文件阅读器读取完毕再渲染图片
  157. $('#systemLogoShow').attr('src', fileReader.result)
  158. $('#systemLogoShow').css('display', 'block')
  159. }
  160. uploadImg('systemLogoEdit', function(result) {
  161. result = JSON.parse(result);
  162. if (!result.flag) {
  163. alert('上传图片失败')
  164. return;
  165. }
  166. $('#editystemFormBox input[name=systemLogo]').val(result.data)
  167. });
  168. });
  169. }
  170. })
  171. //删除信息
  172. $('.delete').click(function() {
  173. if (!$('.pure-table tr').has('.checked').length) {
  174. layer.msg('请选择一条需要删除的信息!', { icon: 5 });
  175. } else {
  176. let dataId = $('.pure-table tr').find('.checked').data('id');
  177. ajaxRequest(SYSTEM_DELETE, "POST", { "id": dataId }, function(result) {
  178. $(".pure-table tbody tr.selected").remove()
  179. layer.close(layer.layerCreateIndex);
  180. layer.msg('删除成功!', { icon: 6 });
  181. getSystemListDataAjax()
  182. }, function(errorMsg) {
  183. alert("用户删除失败!");
  184. })
  185. }
  186. })
  187. });
  188. /* 新增发送请求 */
  189. $('#addSystem').click(function() {
  190. //获取表单的值 并转换成对象
  191. let allParam = serializeArrayToObj($("#addSystemFormBox").serializeArray());
  192. //验证数据是否为空
  193. let res = validParamIsEmpty(allParam, {
  194. "systemName": "请填写系统名称",
  195. "fullName": "请填写系统全称",
  196. "forShort": "请填写系统简称",
  197. "url": "请填写官网地址",
  198. "parm": "请填写参数",
  199. });
  200. if (res.code == -1) {
  201. alert(res.msg);
  202. return;
  203. }
  204. //验证文件
  205. // 判断文件是否为空
  206. var file = $("input[name='systemLogo']").val(); //用户文件内容(文件)
  207. if (file == "") {
  208. alert("请选择上传的目标文件! ")
  209. return false;
  210. }
  211. //判断文件类型
  212. var fileExtension = file.substring(file.lastIndexOf(".") + 1).toLowerCase();
  213. let allowExtension = ['jpg', 'jpeg', 'png', 'gif'];
  214. if (allowExtension.indexOf(fileExtension.toLowerCase()) < 0) {
  215. alert("请选择图片文件!");
  216. return false;
  217. }
  218. //上传文件
  219. uploadImg('systemLogoAdd', function(data) {
  220. data = JSON.parse(data); //aa json字符串转对象
  221. //console.log(data.flag + 'flag')
  222. if (data.flag) {
  223. //将返回的路径 拼接到提交的数据对象里
  224. allParam['systemLogo'] = data.data;
  225. ajaxRequest(SYSTEM_ADD, "POST", allParam, function(result) {
  226. layer.close(layer.index);
  227. layer.msg('添加成功!', { icon: 6 });
  228. getSystemListDataAjax();
  229. $('#addSystemFormBox')[0].reset();
  230. }, function(errorMsg) {
  231. alert("系统信息添加失败!");
  232. })
  233. } else {
  234. //这里应该弹出删除失败的 后台返回的原因
  235. alert('上传图片失败');
  236. return;
  237. }
  238. });
  239. })
  240. /* 修改发送请求 */
  241. $('#dataUpdate').click(function() {
  242. //获取表单的值 并转换成对象
  243. let allParam = serializeArrayToObj($("#editystemFormBox").serializeArray());
  244. //验证数据是否为空
  245. let res = validParamIsEmpty(allParam, {
  246. "systemName": "请填写系统名称",
  247. "fullName": "请填写系统全称",
  248. "forShort": "请填写系统简称",
  249. "url": "请填写官网地址",
  250. "parm": "请填写参数",
  251. });
  252. if (res.code == -1) {
  253. alert(res.msg);
  254. return;
  255. }
  256. //验证文件
  257. // 判断文件是否为空
  258. if ($("input[name='systemLogoFile']").val()) {
  259. var file = $("input[name='systemLogoFile']").val(); //用户文件内容(文件)
  260. //判断文件类型
  261. var fileExtension = file.substring(file.lastIndexOf(".") + 1).toLowerCase();
  262. let allowExtension = ['jpg', 'jpeg', 'png', 'gif'];
  263. if (allowExtension.indexOf(fileExtension.toLowerCase()) < 0) {
  264. alert("请选择图片文件!");
  265. return false;
  266. }
  267. }
  268. ajaxRequest(SYSTEM_UPDATE, "POST", allParam, function(result) {
  269. if (result.flag) {
  270. layer.close(layerUpdateIndex);
  271. layer.msg('修改成功!', { icon: 6 });
  272. getSystemListDataAjax();
  273. //将返回的路径 拼接到提交的数据对象里
  274. // layer.close(layer.index);
  275. } else {
  276. //这里应该弹出删除失败的 后台返回的原因
  277. alert("系统信息添加失败!");
  278. alert(result.msg);
  279. return;
  280. }
  281. }, function(errorMsg) {
  282. alert("系统错误!");
  283. return;
  284. })
  285. })