这是个是全部的jsp 页面:

  1. <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
  2. <html>
  3. <link rel="icon" href="../../../static/images/favicon.png">
  4. <title>会员列表</title>
  5. <link type="text/css" rel="stylesheet" href="../../../static/layui/css/layui.css">
  6. <style type="text/css">
  7. body {
  8. height: 100%;
  9. width: 100%;
  10. /*overflow: hidden;*/
  11. background-size: cover;
  12. margin: 0 auto;
  13. }
  14.  
  15. .body_bg {
  16. /*height: 1000px;;*/
  17. text-align: center;
  18. display: block;
  19. padding-left: 15px;
  20. padding-right: 15px;
  21. }
  22.  
  23. .t_title {
  24. height: 65px;
  25. font-size: 20px;
  26. display: block;
  27. /*padding: 10px;*/
  28. text-align: left;
  29. }
  30.  
  31. .t_test {
  32. background-color: white;
  33. width: 100%;
  34.  
  35. }
  36.  
  37. .table_scroll {
  38. height: 505px;
  39. overflow-y: auto;
  40. }
  41.  
  42. td {
  43. font-size: 12px !important;
  44. }
  45.  
  46. .layui-form-checkbox span {
  47. height: 30px;
  48. }
  49.  
  50. .layui-field-title {
  51. border-top: 1px solid white;
  52. }
  53.  
  54. table {
  55. width: 100% !important;
  56. }
  57.  
  58. </style>
  59. <body>
  60. <div class="body_bg">
  61. <!--标题-->
  62. <div class="t_title">
  63. <fieldset class="layui-elem-field layui-field-title">
  64. <blockquote class="layui-elem-quote">
  65. <legend>会员列表</legend>
  66. </blockquote>
  67. </fieldset>
  68. </div>
  69. <div class="t_test">
  70. <!--搜索 按钮-->
  71. <div class="layui-form-item">
  72. <!--按钮-->
  73. <div style="padding-bottom: 10px; width:100%;height:40px">
  74. <%-- <div class="layui-input-inline" style="width: 149px">
  75. <button class="layui-btn" id="addLeaguerInfoCustom ">
  76. <i class="layui-icon" style="font-size: 20px; ">&#xe608;</i> 添加自定义会员
  77. </button>
  78. </div>--%>
  79. <div class="layui-input-inline" style="width: 147px;">
  80. <button class="layui-btn" id="addLeaguerInfoSpecial">
  81. <i class="layui-icon" style="font-size: 20px; "></i> 添加特殊会员
  82. </button>
  83. </div>
  84.  
  85. </div>
  86. <!--搜索-->
  87. <form class="layui-form">
  88. <!-- <div class="layui-input-inline">
  89. <input type="text" name="date" id="date" lay-verify="date" placeholder="yyyy-MM-dd"
  90. autocomplete="off"
  91. class="layui-input">
  92. </div>
  93. <div class="layui-input-inline">
  94. <input type="text" name="date" id="date1" lay-verify="date" placeholder="yyyy-MM-dd"
  95. autocomplete="off"
  96. class="layui-input">
  97. </div>-->
  98. <div class="layui-input-inline">
  99. <input type="tel" name="searContent" autocomplete="off"
  100. placeholder="姓名/手机号" class="layui-input">
  101. </div>
  102. </form>
  103. <div class="layui-input-inline " style="width: 90px">
  104. <button class="layui-btn" id="searchEmailCompany" data-type="reload">
  105. <i class="layui-icon" style="font-size: 20px; "></i> 搜索
  106. </button>
  107. </div>
  108. </div>
  109. <!--蓝色分割线-->
  110. <hr class="layui-bg-blue">
  111. <!--表格分页-->
  112. <div class="yys-fluid yys-wrapper">
  113. <div class="layui-row lay-col-space20">
  114. <div class="layui-cos-xs12 layui-col-sm12 layui-col-md12 layui-col-lg12">
  115. <section class="yys-body animated rotateInDownLeft">
  116. <div class="yys-body-content clearfix changepwd">
  117. <div class="layui-col-lg12 layui-col-md10 layui-col-sm12 layui-col-xs12" style="width:100%">
  118. <div class="user-tables">
  119. <table id="userTables" lay-filter="userTables"></table>
  120. </div>
  121. </div>
  122. </div>
  123. </section>
  124. </div>
  125. </div>
  126. </div>
  127. </div>
  128. </div>
  129. <script type="application/javascript" src="../../../static/layui/layui.all.js"></script>
  130. <script type="text/html" id="userbar">
  131. <a class="layui-btn layui-btn-xs" lay-event="detail">查看</a>
  132. <a class="layui-btn layui-btn-xs" lay-event="change">修改</a>
  133. {{#
  134. var statusBut= function(date){
  135. if(date==0){
  136. return '<a class="layui-btn layui-btn-xs" lay-event="edit">禁用</a>';
  137. }else if(date==1){
  138. return'<a class="layui-btn layui-btn-xs" lay-event="edit">启用</a>';
  139. }
  140. }
  141. }}
  142. {{ statusBut(d.status)}}
  143. <a class="layui-btn layui-btn-xs" lay-event="recharge">充值</a>
  144. </script>
  145. <script type="text/html" id="TimeTpl">
  146. {{#
  147. var parseDate= function(date){
  148. if(date){
  149. var t=new Date(date);
  150. return t.getFullYear()+"-"+(t.getMonth()+1)+"-"+t.getDate()+" "+t.getHours()+":"+t.getMinutes();
  151. }
  152. }
  153. }}
  154. {{parseDate(d.updateTime)}}
  155. </script>
  156. <script type="text/html" id="statusTpl">
  157. {{#
  158. var statusTxt= function(date){
  159. if(date==0){
  160. return "正常";
  161. }else if(date==1){
  162. return '
  163. <spng style="color:red">禁用</spng>';
  164. }
  165. }
  166. }}
  167. {{ statusTxt(d.status)}}
  168. </script>
  169. <script>
  170. var $ = null;
  171. layui.use(["jquery", "upload", "form", "table", "layer", "element", "laydate"], function () {
  172. $ = layui.jquery;
  173. var element = layui.element,
  174. layer = layui.layer,
  175. upload = layui.upload,
  176. form = layui.form,
  177. laydate = layui.laydate,
  178. table = layui.table;
  179. //日期
  180. laydate.render({
  181. elem: '#date'
  182. });
  183. laydate.render({
  184. elem: '#date1'
  185. });
  186.  
  187. //添加自定义会员
  188. $("#addLeaguerInfoCustom").click(function () {
  189. var roleHtml = '';
  190. $.post('${pageContext.request.contextPath}/leaguer/getRoleList', {}, function (data) {
  191. if (data.code == 200) {
  192. console.log(data.body)
  193. $.each(data.body, function (i, role) {
  194. console.log(role)
  195. roleHtml = roleHtml + '<option value="' + role.id + '">' + role.title + '</option>';
  196. })
  197. layer.open({
  198. title: '添加普通会员',
  199. type: 1,
  200. area: ['700px', '450px'],
  201. offset: ['50px', '250px'],
  202. content: '<blockquote class="layui-elem-quote layui-text">注意事项: 请填写相关的数据信息! </blockquote>' +
  203. '<form class="layui-form"> ' +
  204. '<div class="layui-form-item">' +
  205. '<div class="layui-inline">' +
  206. '<label class="layui-form-label">姓名</label>' +
  207. '<div class="layui-input-inline">' +
  208. '<input type="text" required lay-verify="required" name="leaguerName" class="layui-input" value="" >' +
  209. '</div></div>' +
  210. '<div class="layui-inline">' +
  211. '<label class="layui-form-label">角色</label>' +
  212. '<div class="layui-input-inline">' +
  213. '<select name="roleId" >' +
  214. '<option value="">请选择一个角色</option>' +
  215. roleHtml +
  216. '</select>' +
  217. '</div></div>' +
  218. '</div>' +
  219. '<div class="layui-form-item">' +
  220. '<div class="layui-inline">' +
  221. '<label class="layui-form-label">手机号</label>' +
  222. '<div class="layui-input-inline">' +
  223. '<input type="text" required lay-verify="required" name="leaguerPhone" class="layui-input" value="" >' +
  224. '</div></div>' +
  225. '<div class="layui-inline">' +
  226. '<label class="layui-form-label">客服电话</label>' +
  227. '<div class="layui-input-inline">' +
  228. '<input type="text" required lay-verify="required" name="servicePhone" class="layui-input" value="" >' +
  229. '</div></div>' +
  230. '</div>' +
  231. '<div class="layui-form-item" style="width: 621px;">' +
  232. '<label class="layui-form-label">公司名称</label>' +
  233. '<div class="layui-input-block">' +
  234. '<input type="text" required lay-verify="required" name="company" class="layui-input" value="" >' +
  235. '</div>' +
  236. '</div>' +
  237.  
  238. '<div class="layui-form-item">' +
  239. '<div class="layui-inline">' +
  240. '<label class="layui-form-label">logo图标</label>' +
  241. '<div class="layui-input-inline">' +
  242. '<div class="layui-upload">' +
  243. '<button type="button" class="layui-btn" id="logn_upload">上传图片</button>' +
  244. '<div class="layui-upload-list">' +
  245. '<img class="layui-upload-img" id="demo1" style=" width: 100px; height: 100px; margin-bottom: 8px;">' +
  246. '<p id="demoText"></p>' +
  247. '</div>' +
  248. '</div>' +
  249. '<input type="text" hidden name="logoUrl" value="" >' +
  250. '</div></div>' +
  251. '</div>' +
  252. '</form>',
  253. btnAlign: 'c',
  254. btn: ['确定', '取消'],
  255. yes: function (index, layero) {
  256. var str = $("input[name=isIndividual]").val();
  257. if (str == "on") {
  258. str = "1";
  259. } else {
  260. str = "0";
  261. }
  262. if ($("input[name=leaguerName]").val() == null || $("input[name=leaguerName]").val() == "") {
  263. layer.msg('请输入姓名', {
  264. icon: 5,
  265. time: 2000,
  266. area: '200px',
  267. type: 0,
  268. anim: 6
  269. }, function () {
  270. $("input[name=leaguerName]").focus();
  271. });
  272. return false;
  273. } else if ($("select[name=roleId]").val() == null || $("select[name=roleId]").val() == "") {
  274. layer.msg('请选择角色', {
  275. icon: 5,
  276. time: 2000,
  277. area: '200px',
  278. type: 0,
  279. anim: 6
  280. }, function () {
  281. $("input[name=roleId]").focus();
  282. });
  283. return false;
  284. } else if ($("input[name=leaguerPhone]").val() == null || $("input[name=leaguerPhone]").val() == "") {
  285. layer.msg('请输入手机号', {
  286. icon: 5,
  287. time: 2000,
  288. area: '200px',
  289. type: 0,
  290. anim: 6
  291. }, function () {
  292. $("input[name=leaguerPhone]").focus();
  293. });
  294. return false;
  295. } else if ($("input[name=servicePhone]").val() == null || $("input[name=servicePhone]").val() == "") {
  296. layer.msg('请输入客服电话', {
  297. icon: 5,
  298. time: 2000,
  299. area: '200px',
  300. type: 0,
  301. anim: 6
  302. }, function () {
  303. $("input[name=servicePhone]").focus();
  304. });
  305. return false;
  306. } else if ($("input[name=company]").val() == null || $("input[name=company]").val() == "") {
  307. layer.msg('请输入企业名称', {
  308. icon: 5,
  309. time: 2000,
  310. area: '200px',
  311. type: 0,
  312. anim: 6
  313. }, function () {
  314. $("input[name=company]").focus();
  315. });
  316. return false;
  317. }
  318. // else if ($("input[name=logoUrl]").val() == null || $("input[name=logoUrl]").val() == "") {
  319. // layer.msg('请上传logo', {icon: 5, time: 2000, area: '200px', type: 0, anim: 6,}, function () {
  320. // $("input[name=logoUrl]").focus();
  321. // });
  322. // return false;
  323. // }
  324.  
  325. var formData = {
  326. leaguerName: $("input[name=leaguerName]").val(),
  327. roleId: $("select[name=roleId]").val(),
  328. leaguerPhone: $("input[name=leaguerPhone]").val(),
  329. servicePhone: $("input[name=servicePhone]").val(),
  330. company: $("input[name=company]").val(),
  331. logoUrl: $("input[name=logoUrl]").val()
  332. };
  333. console.log(formData);
  334. $.post('${pageContext.request.contextPath}/leaguer/addLeaguerCustom', formData, function (data) {
  335. //判断是否发送成功
  336. if (data.code == 200) {
  337. layer.msg(data.message);
  338. layer.close(index);
  339. parent.document.getElementById('my_iframe').contentWindow.location.reload(true);
  340. } else {
  341. layer.msg("保存失败...", {type: 1});
  342. }
  343. })
  344. }, btn2: function (index, layero) {
  345. layer.msg("取消");
  346. //return false 开启该代码可禁止点击该按钮关闭
  347. }, cancel: function () {
  348. layer.msg("关闭窗口");
  349. //右上角关闭回调
  350. //return false 开启该代码可禁止点击该按钮关闭
  351. },
  352. success: function () {
  353. layui.use('form', function () {
  354. var form = layui.form; //只有执行了这一步,部分表单元素才会修饰成功
  355. form.render('checkbox');
  356. form.render('select');
  357. form.on('checkbox(istrue)', function (data) {
  358. /* if(data.elem.checked){
  359. emailConfig['isenterprise']=1;
  360. }; //是否被选中,true或者false*/
  361. });
  362. //普通图片上传
  363. var uploadInst = upload.render({
  364. elem: '#logn_upload'
  365. , url: '/leaguer/upload/headImg'
  366. , before: function (obj) {
  367. //预读本地文件示例,不支持ie8
  368. obj.preview(function (index, file, result) {
  369. $('#demo1').attr('src', result); //图片链接(base64)
  370. });
  371. }
  372. , done: function (res) {
  373. //如果上传失败
  374. if (res.code > 0) {
  375. return layer.msg('上传失败');
  376. }
  377. if (res.code == 0) {
  378. $("input[name=logoUrl]").val(res.data.src);
  379. //do something (比如将res返回的图片链接保存到表单的隐藏域)
  380. }
  381. //上传成功
  382. }
  383. , error: function () {
  384. //演示失败状态,并实现重传
  385. var demoText = $('#demoText');
  386. demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-mini demo-reload">重试</a>');
  387. demoText.find('.demo-reload').on('click', function () {
  388. uploadInst.upload();
  389. });
  390. }
  391. });
  392. element.init();
  393. });
  394. }
  395. });
  396.  
  397. } else {
  398. layer.msg("获取角色失败...", {type: 1});
  399. }
  400. })
  401. return;
  402. })
  403.  
  404. //添加特殊会员
  405. $("#addLeaguerInfoSpecial").click(function () {
  406. var roleHtml = '';
  407. $.post('${pageContext.request.contextPath}/leaguer/getRoleList', {}, function (data) {
  408. if (data.code == 200) {
  409. console.log(data.body)
  410. $.each(data.body, function (i, role) {
  411. console.log(role)
  412. if (role.id !=1) {
  413. roleHtml = roleHtml + '<option value="' + role.id + '">' + role.title + '</option>';
  414. }
  415. })
  416. layer.open({
  417. title: '添加特殊会员',
  418. type: 1,
  419. area: ['700px', '450px'],
  420. offset: ['50px', '250px'],
  421. content: '<blockquote class="layui-elem-quote layui-text">注意事项: 请填写相关的数据信息! </blockquote>' +
  422. '<form class="layui-form"> ' +
  423. '<div class="layui-form-item">' +
  424. '<div class="layui-inline">' +
  425. '<label class="layui-form-label">姓名</label>' +
  426. '<div class="layui-input-inline">' +
  427. '<input type="text" required lay-verify="required" name="leaguerName" class="layui-input" value="" >' +
  428. '</div></div>' +
  429. '<div class="layui-inline">' +
  430. '<label class="layui-form-label">角色</label>' +
  431. '<div class="layui-input-inline">' +
  432. '<select name="roleId" >' +
  433. '<option value="">请选择一个角色</option>' +
  434. roleHtml +
  435. '</select>' +
  436. '</div></div>' +
  437. '</div>' +
  438. '<div class="layui-form-item">' +
  439. '<div class="layui-inline">' +
  440. '<label class="layui-form-label">手机号</label>' +
  441. '<div class="layui-input-inline">' +
  442. '<input type="text" required lay-verify="required" name="leaguerPhone" class="layui-input" value="" >' +
  443. '</div></div>' +
  444. '<div class="layui-inline">' +
  445. '<label class="layui-form-label">客服电话</label>' +
  446. '<div class="layui-input-inline">' +
  447. '<input type="text" required lay-verify="required" name="servicePhone" class="layui-input" value="" >' +
  448. '</div></div>' +
  449. '</div>' +
  450. '<div class="layui-form-item" style="width: 621px;">' +
  451. '<label class="layui-form-label">公司名称</label>' +
  452. '<div class="layui-input-block">' +
  453. '<input type="text" required lay-verify="required" name="company" class="layui-input" value="" >' +
  454. '</div>' +
  455. '</div>' +
  456.  
  457. '<div class="layui-form-item">' +
  458. '<div class="layui-inline">' +
  459. '<label class="layui-form-label">logo图标</label>' +
  460. '<div class="layui-input-inline">' +
  461. // '<input type="text" required lay-verify="required" name="type" class="layui-input" value="" >' +
  462.  
  463. '<div class="layui-upload">' +
  464. ' <button type="button" class="layui-btn" id="logn_upload">上传图片</button>' +
  465. ' <div class="layui-upload-list">' +
  466. ' <img class="layui-upload-img" id="demo1" src="../../../static/upload/user/headImage/leibao.png" style=" width: 100px; height: 100px; margin-bottom: 8px;">' +
  467. '<p id="demoText"></p>' +
  468. ' </div>' +
  469. ' </div>' +
  470. '<input type="text" hidden name="logoUrl" value="" >' +
  471. '</div></div>' +
  472. '</div>' +
  473. '</form>',
  474. btnAlign: 'c',
  475. btn: ['确定', '取消'],
  476. yes: function (index, layero) {
  477. var str = $("input[name=isIndividual]").val();
  478. if (str == "on") {
  479. str = "1";
  480. } else {
  481. str = "0";
  482. }
  483. if ($("input[name=leaguerName]").val() == null || $("input[name=leaguerName]").val() == "") {
  484. layer.msg('请输入姓名', {
  485. icon: 5,
  486. time: 2000,
  487. area: '200px',
  488. type: 0,
  489. anim: 6,
  490. }, function () {
  491. $("input[name=leaguerName]").focus();
  492. });
  493. return false;
  494. } else if ($("select[name=roleId]").val() == null || $("select[name=roleId]").val() == "") {
  495. layer.msg('请选择角色', {
  496. icon: 5,
  497. time: 2000,
  498. area: '200px',
  499. type: 0,
  500. anim: 6,
  501. }, function () {
  502. $("input[name=roleId]").focus();
  503. });
  504. return false;
  505. } else if ($("input[name=leaguerPhone]").val() == null || $("input[name=leaguerPhone]").val() == "") {
  506. layer.msg('请输入手机号', {
  507. icon: 5,
  508. time: 2000,
  509. area: '200px',
  510. type: 0,
  511. anim: 6,
  512. }, function () {
  513. $("input[name=leaguerPhone]").focus();
  514. });
  515. return false;
  516. } else if ($("input[name=servicePhone]").val() == null || $("input[name=servicePhone]").val() == "") {
  517. layer.msg('请输入客服电话', {
  518. icon: 5,
  519. time: 2000,
  520. area: '200px',
  521. type: 0,
  522. anim: 6,
  523. }, function () {
  524. $("input[name=servicePhone]").focus();
  525. });
  526. return false;
  527. } else if ($("input[name=company]").val() == null || $("input[name=company]").val() == "") {
  528. layer.msg('请输入企业名称', {
  529. icon: 5,
  530. time: 2000,
  531. area: '200px',
  532. type: 0,
  533. anim: 6,
  534. }, function () {
  535. $("input[name=company]").focus();
  536. });
  537. return false;
  538. }
  539.  
  540. var formData = {
  541. leaguerName: $("input[name=leaguerName]").val(),
  542. roleId: $("select[name=roleId]").val(),
  543. leaguerPhone: $("input[name=leaguerPhone]").val(),
  544. servicePhone: $("input[name=servicePhone]").val(),
  545. company: $("input[name=company]").val(),
  546. logoUrl: $("input[name=logoUrl]").val()
  547. };
  548. console.log(formData);
  549. $.post('${pageContext.request.contextPath}/leaguer/addLeaguerSpecial', formData, function (data) {
  550. //判断是否发送成功
  551. if (data.code == 200) {
  552. layer.msg(data.message);
  553. layer.close(index);
  554. parent.document.getElementById('my_iframe').contentWindow.location.reload(true);
  555. } else {
  556. layer.msg("保存失败...", {type: 1});
  557. }
  558. })
  559. }, btn2: function (index, layero) {
  560. layer.msg("取消");
  561. //return false 开启该代码可禁止点击该按钮关闭
  562. }, cancel: function () {
  563. layer.msg("关闭窗口");
  564. //右上角关闭回调
  565. //return false 开启该代码可禁止点击该按钮关闭
  566. },
  567. success: function () {
  568. layui.use('form', function () {
  569. var form = layui.form; //只有执行了这一步,部分表单元素才会修饰成功
  570. form.render('checkbox');
  571. form.render('select');
  572. form.on('checkbox(istrue)', function (data) {
  573. /* if(data.elem.checked){
  574. emailConfig['isenterprise']=1;
  575. }; //是否被选中,true或者false*/
  576. });
  577. //普通图片上传
  578. var uploadInst = upload.render({
  579. elem: '#logn_upload'
  580. , url: '/leaguer/upload/headImg'
  581. , before: function (obj) {
  582. //预读本地文件示例,不支持ie8
  583. obj.preview(function (index, file, result) {
  584. $('#demo1').attr('src', result); //图片链接(base64)
  585. });
  586. }
  587. , done: function (res) {
  588. //如果上传失败
  589. if (res.code > 0) {
  590. return layer.msg('上传失败');
  591. }
  592. if (res.code == 0) {
  593. $("input[name=logoUrl]").val(res.data.src);
  594. //do something (比如将res返回的图片链接保存到表单的隐藏域)
  595. }
  596. //上传成功
  597. }
  598. , error: function () {
  599. //演示失败状态,并实现重传
  600. var demoText = $('#demoText');
  601. demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-mini demo-reload">重试</a>');
  602. demoText.find('.demo-reload').on('click', function () {
  603. uploadInst.upload();
  604. });
  605. }
  606. });
  607. element.init();
  608. });
  609. }
  610. });
  611.  
  612. } else {
  613. layer.msg("获取角色失败...", {type: 1});
  614. }
  615. })
  616. return;
  617. })
  618.  
  619. //表格加载
  620. var a = table.render({
  621. elem: "#userTables",
  622. skin: 'line', //行边框风格
  623. cols: [[
  624. // {checkbox: false, width: 60, fixed: true},
  625. {type: 'numbers', title: '序号', width: '30'},
  626. {
  627. field: "leaguerName",
  628. width: 90,
  629. title: "姓名",
  630. align: "left"
  631. },
  632. {
  633. field: "leaguerPhone",
  634. width: 130,
  635. title: "手机号",
  636. align: "left"
  637. },
  638. {
  639. field: "balanceMoney",
  640. width: 100,
  641. title: "余额(元)",
  642. align: "left"
  643. },
  644. {
  645. field: "company",
  646. width: 120,
  647. title: "公司名称",
  648. align: "left"
  649. },
  650. {
  651. field: "status",
  652. width: 60,
  653. title: "状态",
  654. align: "left",
  655. templet: '#statusTpl'
  656. },
  657. {
  658. field: "title",
  659. width: 120,
  660. title: "角色",
  661. align: "left"
  662. },
  663. {
  664. field: "updateTime",
  665. width: 140,
  666. title: "更新时间",
  667. align: "left",
  668. templet: '#TimeTpl'
  669. },
  670. {
  671. title: "常用操作",
  672. width: 200,
  673. align: "left",
  674. toolbar: "#userbar",
  675. fixed: "right"
  676. }
  677. ]],
  678. url: "/leaguer/getLeaguerInfoList?t="+new Date(),
  679. // data: userData,
  680. page: { //分页设定
  681. layout: ['count', 'prev', 'page', 'next'] //自定义分页布局
  682. , curr: 1 //设定初始在第 1 页
  683. , limit: 10//每页多少数据
  684. , groups: 5 //只显示 5 个连续页码
  685. },
  686. even: true
  687. });
  688.  
  689. //表格按钮监听
  690. table.on("tool(userTables)", function (e) {
  691. var leaguerDate = e.data;
  692. // console.log(leaguerDate);
  693. if (e.event === "edit" && leaguerDate.status == 0) {
  694. var formData = {
  695. leaguerId: leaguerDate.leaguerId,
  696. status: 1
  697. };
  698. $.post('/leaguer/setLeaguerStatus', formData, function (data) {
  699. //判断是否发送成功
  700. if (data.code == 200) {
  701. layer.msg(data.message);
  702. // layer.close(index);
  703. parent.document.getElementById('my_iframe').contentWindow.location.reload(true);
  704. } else {
  705. layer.msg(data.message, {type: 1});
  706. }
  707. })
  708. }
  709. if (e.event === "edit" && leaguerDate.status == 1) {
  710. var formData = {
  711. leaguerId: leaguerDate.leaguerId,
  712. status: 0
  713. };
  714. $.post('/leaguer/setLeaguerStatus', formData, function (data) {
  715. //判断是否发送成功
  716. if (data.code == 200) {
  717. layer.msg(data.message);
  718. // layer.close(index);
  719. parent.document.getElementById('my_iframe').contentWindow.location.reload(true);
  720. } else {
  721. layer.msg(data.message, {type: 1});
  722. }
  723. })
  724. }
  725. if (e.event === "detail") {
  726. var formData5 = {
  727. leaguerId: leaguerDate.leaguerId
  728. };
  729. $.post('/leaguer/getLeaguerInfoById', formData5, function (data) {
  730. var json = eval(data);
  731. var mapDate = data.body;
  732. console.log(data);
  733. if (data.code == 200) {
  734. var leaguer = data.body.leaguer;
  735. console.log(data.body)
  736. var roleHtml = '';
  737. $.each(data.body.roleList, function (i, role) {
  738. console.log(role);
  739. if (leaguer.roleId == role.id) {
  740. roleHtml = roleHtml + '<option value="' + role.id + '" selected="">' + role.title + '</option>';
  741. } else {
  742. if (role.id == 2 || role.id == 3) {
  743. roleHtml = roleHtml + '<option value="' + role.id + '">' + role.title + '</option>';
  744. }
  745. }
  746. })
  747.  
  748. layer.open({
  749. title: '查看会员',
  750. type: 1,
  751. area: ['700px', '450px'],
  752. offset: ['50px', '250px'],
  753. content: '<blockquote class="layui-elem-quote layui-text">注意事项: 请填写相关的数据信息! </blockquote>' +
  754. '<form class="layui-form"> ' +
  755. '<div class="layui-form-item">' +
  756. '<div class="layui-inline">' +
  757. '<label class="layui-form-label">姓名</label>' +
  758. '<div class="layui-input-inline">' +
  759. '<input type="text" required lay-verify="required" name="leaguerName" class="layui-input" value="' + undefined_data(leaguer.leaguerName) + '" disabled="" >' +
  760. '</div></div>' +
  761. '<div class="layui-inline">' +
  762. '<label class="layui-form-label">角色</label>' +
  763. '<div class="layui-input-inline">' +
  764. '<select name="roleId" disabled="">' +
  765. '<option value="">请选择一个角色</option>' +
  766. roleHtml +
  767. '</select>' +
  768. '</div></div>' +
  769. '</div>' +
  770. '<div class="layui-form-item">' +
  771. '<div class="layui-inline">' +
  772. '<label class="layui-form-label">手机号</label>' +
  773. '<div class="layui-input-inline">' +
  774. '<input type="text" required lay-verify="required" name="leaguerPhone" class="layui-input" value="' + undefined_data(leaguer.leaguerPhone) + '" disabled="" >' +
  775. '</div></div>' +
  776. '<div class="layui-inline">' +
  777. '<label class="layui-form-label">客服电话</label>' +
  778. '<div class="layui-input-inline">' +
  779. '<input type="text" required lay-verify="required" name="servicePhone" class="layui-input" value="' + undefined_data(leaguer.servicePhone) + '" disabled="" >' +
  780. '</div></div>' +
  781. '</div>' +
  782. '<div class="layui-form-item" style="width: 621px;">' +
  783. '<label class="layui-form-label">公司名称</label>' +
  784. '<div class="layui-input-block">' +
  785. '<input type="text" required lay-verify="required" name="company" class="layui-input" value="' + undefined_data(leaguer.company) + '" disabled="">' +
  786. '</div>' +
  787. '</div>' +
  788.  
  789. '<div class="layui-form-item">' +
  790. '<div class="layui-inline">' +
  791. '<label class="layui-form-label">logo图标</label>' +
  792. '<div class="layui-input-inline">' +
  793. // '<input type="text" required lay-verify="required" name="type" class="layui-input" value="" >' +
  794.  
  795. '<div class="layui-upload">' +
  796. // ' <button type="button" class="layui-btn" id="logn_upload">上传图片</button>' +
  797. ' <div class="layui-upload-list">' +
  798. ' <img class="layui-upload-img" src="' + leaguer.logoUrl + '" id="demo1" style=" width: 100px; height: 100px; margin-bottom: 8px;">' +
  799. '<p id="demoText"></p>' +
  800. ' </div>' +
  801. ' </div>' +
  802. '<input type="text" hidden name="logoUrl" value="' + leaguer.logoUrl + '" >' +
  803. '</div></div>' +
  804. '</div>' +
  805. '</form>',
  806. btnAlign: 'c',
  807. btn: ['确定'],
  808. yes: function (index, layero) {
  809. layer.close(index);
  810. }, btn2: function (index, layero) {
  811. layer.msg("取消");
  812. //return false 开启该代码可禁止点击该按钮关闭
  813. }, cancel: function () {
  814. layer.msg("关闭窗口");
  815. //右上角关闭回调
  816. //return false 开启该代码可禁止点击该按钮关闭
  817. },
  818. success: function () {
  819. layui.use('form', function () {
  820. var form = layui.form; //只有执行了这一步,部分表单元素才会修饰成功
  821. form.render('checkbox');
  822. form.render('select');
  823. form.on('checkbox(istrue)', function (data) {
  824. /* if(data.elem.checked){
  825. emailConfig['isenterprise']=1;
  826. }; //是否被选中,true或者false*/
  827. });
  828. //普通图片上传
  829. var uploadInst = upload.render({
  830. elem: '#logn_upload'
  831. , url: '/leaguer/upload/headImg'
  832. , before: function (obj) {
  833. //预读本地文件示例,不支持ie8
  834. obj.preview(function (index, file, result) {
  835. $('#demo1').attr('src', result); //图片链接(base64)
  836. });
  837. }
  838. , done: function (res) {
  839. //如果上传失败
  840. if (res.code > 0) {
  841. return layer.msg('上传失败');
  842. }
  843. if (res.code == 0) {
  844. $("input[name=logoUrl]").val(res.data.src);
  845. //do something (比如将res返回的图片链接保存到表单的隐藏域)
  846. }
  847. //上传成功
  848.  
  849. }
  850. , error: function () {
  851. //演示失败状态,并实现重传
  852. var demoText = $('#demoText');
  853. demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-mini demo-reload">重试</a>');
  854. demoText.find('.demo-reload').on('click', function () {
  855. uploadInst.upload();
  856. });
  857. }
  858. });
  859. element.init();
  860. });
  861. }
  862. });
  863. } else {
  864. layer.open({
  865. title: "查询数据失败"
  866. , content: "查询数据失败"
  867. , time: 20000
  868. });
  869. }
  870. });
  871. }
  872. if (e.event === "change") {
  873. var formData4 = {
  874. leaguerId: leaguerDate.leaguerId
  875. };
  876. $.post('/leaguer/getLeaguerInfoById', formData4, function (data) {
  877. var json = eval(data);
  878. var mapDate = data.body;
  879. console.log(data);
  880. if (data.code == 200) {
  881. var leaguer = data.body.leaguer;
  882. console.log(data.body)
  883. var roleHtml = '';
  884. $.each(data.body.roleList, function (i, role) {
  885. console.log(role);
  886. if (leaguer.roleId == role.id) {
  887. roleHtml = roleHtml + '<option value="' + role.id + '" selected="">' + role.title + '</option>';
  888. } else {
  889. if (role.id == 2 || role.id == 3) {
  890. roleHtml = roleHtml + '<option value="' + role.id + '">' + role.title + '</option>';
  891. }
  892. }
  893. })
  894.  
  895. layer.open({
  896. title: '修改会员',
  897. type: 1,
  898. area: ['700px', '450px'],
  899. offset: ['50px', '250px'],
  900. content: '<blockquote class="layui-elem-quote layui-text">注意事项: 请填写相关的数据信息! </blockquote>' +
  901. '<form class="layui-form"> ' +
  902. '<div class="layui-form-item">' +
  903. '<div class="layui-inline">' +
  904. '<label class="layui-form-label">姓名</label>' +
  905. '<div class="layui-input-inline">' +
  906. '<input type="text" required lay-verify="required" name="leaguerName" class="layui-input" value="' + undefined_data(leaguer.leaguerName) + '" >' +
  907. '</div></div>' +
  908. '<div class="layui-inline">' +
  909. '<label class="layui-form-label">角色</label>' +
  910. '<div class="layui-input-inline">' +
  911. '<select name="roleId" >' +
  912. '<option value="">请选择一个角色</option>' +
  913. roleHtml +
  914. '</select>' +
  915. '</div></div>' +
  916. '</div>' +
  917. '<div class="layui-form-item">' +
  918. '<div class="layui-inline">' +
  919. '<label class="layui-form-label">手机号</label>' +
  920. '<div class="layui-input-inline">' +
  921. '<input type="text" required lay-verify="required" name="leaguerPhone" class="layui-input" value="' + undefined_data(leaguer.leaguerPhone) + '" >' +
  922. '</div></div>' +
  923. '<div class="layui-inline">' +
  924. '<label class="layui-form-label">客服电话</label>' +
  925. '<div class="layui-input-inline">' +
  926. '<input type="text" required lay-verify="required" name="servicePhone" class="layui-input" value="' + undefined_data(leaguer.servicePhone) + '" >' +
  927. '</div></div>' +
  928. '</div>' +
  929. '<div class="layui-form-item" style="width: 621px;">' +
  930. '<label class="layui-form-label">公司名称</label>' +
  931. '<div class="layui-input-block">' +
  932. '<input type="text" required lay-verify="required" name="company" class="layui-input" value="' + undefined_data(leaguer.company) + '" >' +
  933. '</div>' +
  934. '</div>' +
  935.  
  936. '<div class="layui-form-item">' +
  937. '<div class="layui-inline">' +
  938. '<label class="layui-form-label">logo图标</label>' +
  939. '<div class="layui-input-inline">' +
  940. '<div class="layui-upload">' +
  941. ' <button type="button" class="layui-btn" id="logn_upload">上传图片</button>' +
  942. ' <div class="layui-upload-list">' +
  943. ' <img class="layui-upload-img" src="' + leaguer.logoUrl + '" id="demo1" style=" width: 100px; height: 100px; margin-bottom: 8px;">' +
  944. '<p id="demoText"></p>' +
  945. ' </div>' +
  946. ' </div>' +
  947. '<input type="text" hidden name="logoUrl" value="' + leaguer.logoUrl + '" >' +
  948. '</div></div>' +
  949. '</div>' +
  950. '</form>',
  951. btnAlign: 'c',
  952. btn: ['保存', '取消'],
  953. yes: function (index, layero) {
  954. var str = $("input[name=isIndividual]").val();
  955. if (str == "on") {
  956. str = "1";
  957. } else {
  958. str = "0";
  959. }
  960. if ($("input[name=leaguerName]").val() == null || $("input[name=leaguerName]").val() == "") {
  961. layer.msg('请输入姓名', {
  962. icon: 5,
  963. time: 2000,
  964. area: '200px',
  965. type: 0,
  966. anim: 6
  967. }, function () {
  968. $("input[name=leaguerName]").focus();
  969. });
  970. return false;
  971. } else if ($("select[name=roleId]").val() == null || $("select[name=roleId]").val() == "") {
  972. layer.msg('请选择角色', {
  973. icon: 5,
  974. time: 2000,
  975. area: '200px',
  976. type: 0,
  977. anim: 6
  978. }, function () {
  979. $("input[name=roleId]").focus();
  980. });
  981. return false;
  982. } else if ($("input[name=leaguerPhone]").val() == null || $("input[name=leaguerPhone]").val() == "") {
  983. layer.msg('请输入手机号', {
  984. icon: 5,
  985. time: 2000,
  986. area: '200px',
  987. type: 0,
  988. anim: 6
  989. }, function () {
  990. $("input[name=leaguerPhone]").focus();
  991. });
  992. return false;
  993. } else if ($("input[name=servicePhone]").val() == null || $("input[name=servicePhone]").val() == "") {
  994. layer.msg('请输入客服电话', {
  995. icon: 5,
  996. time: 2000,
  997. area: '200px',
  998. type: 0,
  999. anim: 6
  1000. }, function () {
  1001. $("input[name=servicePhone]").focus();
  1002. });
  1003. return false;
  1004. } else if ($("input[name=company]").val() == null || $("input[name=company]").val() == "") {
  1005. layer.msg('请输入企业名称', {
  1006. icon: 5,
  1007. time: 2000,
  1008. area: '200px',
  1009. type: 0,
  1010. anim: 6
  1011. }, function () {
  1012. $("input[name=company]").focus();
  1013. });
  1014. return false;
  1015. }
  1016. // else if ($("input[name=logoUrl]").val() == null || $("input[name=logoUrl]").val() == "") {
  1017. // layer.msg('请上传logo', {icon: 5, time: 2000, area: '200px', type: 0, anim: 6,}, function () {
  1018. // $("input[name=logoUrl]").focus();
  1019. // });
  1020. // return false;
  1021. // }
  1022.  
  1023. var formData = {
  1024. leaguerId: leaguer.leaguerId,
  1025. leaguerName: $("input[name=leaguerName]").val(),
  1026. roleId: $("select[name=roleId]").val(),
  1027. leaguerPhone: $("input[name=leaguerPhone]").val(),
  1028. servicePhone: $("input[name=servicePhone]").val(),
  1029. company: $("input[name=company]").val(),
  1030. logoUrl: $("input[name=logoUrl]").val()
  1031. };
  1032. console.log(formData);
  1033. $.post('${pageContext.request.contextPath}/leaguer/updateLeaguer', formData, function (data) {
  1034. //判断是否发送成功
  1035. if (data.code == 200) {
  1036. layer.msg(data.message);
  1037. layer.close(index);
  1038. parent.document.getElementById('my_iframe').contentWindow.location.reload(true);
  1039. } else {
  1040. layer.msg("保存失败...", {type: 1});
  1041. }
  1042. })
  1043. }, btn2: function (index, layero) {
  1044. layer.msg("取消");
  1045. //return false 开启该代码可禁止点击该按钮关闭
  1046. }, cancel: function () {
  1047. layer.msg("关闭窗口");
  1048. //右上角关闭回调
  1049. //return false 开启该代码可禁止点击该按钮关闭
  1050. },
  1051. success: function () {
  1052. layui.use('form', function () {
  1053. var form = layui.form; //只有执行了这一步,部分表单元素才会修饰成功
  1054. form.render('checkbox');
  1055. form.render('select');
  1056. form.on('checkbox(istrue)', function (data) {
  1057. /* if(data.elem.checked){
  1058. emailConfig['isenterprise']=1;
  1059. }; //是否被选中,true或者false*/
  1060. });
  1061. //普通图片上传
  1062. var uploadInst = upload.render({
  1063. elem: '#logn_upload'
  1064. , url: '/leaguer/upload/headImg'
  1065. , before: function (obj) {
  1066. //预读本地文件示例,不支持ie8
  1067. obj.preview(function (index, file, result) {
  1068. $('#demo1').attr('src', result); //图片链接(base64)
  1069. });
  1070. }
  1071. , done: function (res) {
  1072. //如果上传失败
  1073. if (res.code > 0) {
  1074. return layer.msg('上传失败');
  1075. }
  1076. if (res.code == 0) {
  1077. $("input[name=logoUrl]").val(res.data.src);
  1078. //do something (比如将res返回的图片链接保存到表单的隐藏域)
  1079. }
  1080. //上传成功
  1081.  
  1082. }
  1083. , error: function () {
  1084. //演示失败状态,并实现重传
  1085. var demoText = $('#demoText');
  1086. demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-mini demo-reload">重试</a>');
  1087. demoText.find('.demo-reload').on('click', function () {
  1088. uploadInst.upload();
  1089. });
  1090. }
  1091. });
  1092. element.init();
  1093. });
  1094. }
  1095. });
  1096. } else {
  1097. layer.open({
  1098. title: "查询数据失败"
  1099. , content: "查询数据失败"
  1100. , time: 20000
  1101. });
  1102. }
  1103. });
  1104. }
  1105. if (e.event === "recharge") {
  1106. var formData6 = {
  1107. leaguerId: leaguerDate.leaguerId
  1108. };
  1109. $.post('${pageContext.request.contextPath}/leaguer/getLeaguerInfo', formData6, function (data) {
  1110.  
  1111. console.log(data);
  1112. layer.open({
  1113. title: '充值金额',
  1114. type: 1,
  1115. area: ['500px', '350px'],
  1116. offset: ['50px', '250px'],
  1117. content: '<blockquote class="layui-elem-quote layui-text">注意事项: 请填写相关的数据信息! </blockquote>' +
  1118. '<form class="layui-form"> ' +
  1119. '<div class="layui-form-item">' +
  1120. '<div class="layui-inline">' +
  1121. '<label class="layui-form-label">姓名:</label>' +
  1122. '<div class="layui-input-inline">' +
  1123. '<input type="text" required lay-verify="required" name="leaguerName" class="layui-input" value="' + data.body.leaguerName + '" disabled="">' +
  1124. '</div></div>' +
  1125. '<div class="layui-inline">' +
  1126. '<label class="layui-form-label">手机号</label>' +
  1127. '<div class="layui-input-inline">' +
  1128. '<input type="text" required lay-verify="required" name="leaguerPhone" class="layui-input" value="' + data.body.leaguerPhone + '" disabled="" >' +
  1129. '</div></div>' +
  1130. '<div class="layui-inline">' +
  1131. '<label class="layui-form-label">余额</label>' +
  1132. '<div class="layui-input-inline">' +
  1133. '<input type="text" required lay-verify="required" name="balanceMoney" class="layui-input" value="' + data.body.balanceMoney + '" disabled="" >' +
  1134. '</div></div>' +
  1135. '<div class="layui-inline">' +
  1136. '<label class="layui-form-label">充值余额</label>' +
  1137. '<div class="layui-input-inline">' +
  1138. '<input type="text" required lay-verify="required" name="money" placeholder="请输入充值金额" class="layui-input" value="" >' +
  1139. '</div></div>' +
  1140. '</div>' +
  1141. '</form>',
  1142. btnAlign: 'c',
  1143. btn: ['确定', '取消'],
  1144. yes: function (index, layero) {
  1145. var str = $("input[name=isIndividual]").val();
  1146. if (str == "on") {
  1147. str = "1";
  1148. } else {
  1149. str = "0";
  1150. }
  1151. if ($("input[name=money]").val() == null || $("input[name=money]").val() == "") {
  1152.  
  1153. layer.msg('请输入充值金额', {
  1154. icon: 5,
  1155. time: 2000,
  1156. area: '200px',
  1157. type: 0,
  1158. anim: 6
  1159. }, function () {
  1160. $("input[name=money]").focus();
  1161. });
  1162. return false;
  1163. }
  1164. var formData9 = {
  1165.  
  1166. money: $("input[name=money]").val(),
  1167. leaguerId: leaguerDate.leaguerId
  1168. };
  1169. console.log(formData9);
  1170. $.post('${pageContext.request.contextPath}/leaguer/rechargeMoney', formData9, function (data) {
  1171. //判断是否发送成功
  1172. if (data.code == 200) {
  1173. layer.msg(data.message);
  1174. layer.close(index);
  1175. parent.document.getElementById('my_iframe').contentWindow.location.reload(true);
  1176. } else {
  1177. layer.msg("保存失败...", {type: 1});
  1178. }
  1179. })
  1180. }, btn2: function (index, layero) {
  1181. layer.msg("取消");
  1182. //return false 开启该代码可禁止点击该按钮关闭
  1183. }, cancel: function () {
  1184. layer.msg("关闭窗口");
  1185. //右上角关闭回调
  1186. //return false 开启该代码可禁止点击该按钮关闭
  1187. },
  1188. success: function () {
  1189. layui.use('form', function () {
  1190. var form = layui.form; //只有执行了这一步,部分表单元素才会修饰成功
  1191. form.render('checkbox');
  1192. form.render('select');
  1193. form.on('checkbox(istrue)', function (data) {
  1194. /* if(data.elem.checked){
  1195. emailConfig['isenterprise']=1;
  1196. }; //是否被选中,true或者false*/
  1197. });
  1198. //普通图片上传
  1199. element.init();
  1200. });
  1201. }
  1202. })
  1203. })
  1204. }
  1205.  
  1206. });
  1207.  
  1208. //搜索加载--数据表格重载
  1209. var $ = layui.$, active = {
  1210. reload: function () {
  1211. //执行重载
  1212. table.reload('userTables', {
  1213. page: {
  1214. curr: 1 //重新从第 1 页开始
  1215. }
  1216. , where: {
  1217. searContent: $("input[name=searContent]").val()
  1218. }
  1219. });
  1220. }
  1221. };
  1222. $('#searchEmailCompany').on('click', function () {
  1223. var type = $(this).data('type');
  1224. active[type] ? active[type].call(this) : '';
  1225. });
  1226.  
  1227. //初始化加载
  1228. element.init();
  1229.  
  1230. //数据表格数据undefined 替换
  1231. function undefined_data(data) {
  1232. if (data == undefined || data == 'undefined' || data == null || data == "null") {
  1233. return "";
  1234. } else {
  1235. return data;
  1236. }
  1237. }
  1238. });
  1239.  
  1240. </script>
  1241. </body>
  1242. </html>

效果图:

整体效果

搜索页:

添加特殊会员页:

充值金额页:

禁用效果:

查看会员页:

layui table 表格模板按钮实例的更多相关文章

  1. layui table 表格查询无效问题

    [热身话题] 在开发的过程中,大量数据的展示大多采用表格的方式,直观,清晰.在这里,我也使用过一些框架Bootstrap.table ,Dev table ,layui table.本次采用的layu ...

  2. layui table表格详解

    上次做table有些东西 忘记了 这次当作来个分析总结一下  跟大家共同学习 闲话不多说 直接上例子   代码: <form id="form1" runat="s ...

  3. React之Antd table表格渲染按钮问题

    问题描述:table表格渲染表格数据时,会自动触发操作列中Button的onClick函数,表格渲染完成后,点击Button按钮,onClick函数不能被触发. // 定义表格表头数据 问题写法:  ...

  4. thinkphp5.1与layui table表格使用

    第1部分:layui 的 html代码, 即第2部分 thinkphp 控制器方法 index/Dataz/returnShowUser 的view页面 <!DOCTYPE html> & ...

  5. layui table 表格上添加日期控件

    方法一: var tableInit = table.render({ elem: '#tbtxrz' , method: 'post' , data: jsonData , height: &quo ...

  6. LayUI table表格控件 如何显示 对象中的属性(针对Mybatis的级联查询--一对一情况)

    1.entity如下: 2.Mybatis的Mapper.xml文件如下 <resultMap id="BaseResultMapPlus" type="dicIt ...

  7. layui table表格字段过长,展示不完整时,鼠标放到上面展示完整信息

    亲测可以直接用 1.首先每个列都有一个title,里面放入完整信息,然后写一个如下的function, function tdTitle(){ $('th').each(function(index, ...

  8. layui table表格 表头与内容列错位问题(只有纵向滚动条的情况)

    版本2.4.5 问题展示: 存在问题:正好错位一个纵向滚动条的宽度 思路: 仔细观察th元素及th包裹的子元素div 如下图 发现th宽度莫名的就多了5px  我就纳闷了 解决方案:到table.js ...

  9. 由于ie浏览器ajax缓存 导致layui table表格重载失败的解决办法

    where: { time:new Date()//增加一个数据接口的额外参数→时间戳 }

随机推荐

  1. PHP二维数组按照键值排序

    在开发过程中,我们常常需要对二维数组按照数组的某个键来排序,这里提供两个封装好的方法,可以放到公共函数模块里以后需要的时候直接调用即可. /** * 二维数组按照键值降序排序 * @param arr ...

  2. 小奶狗给小喵咪上CSS课程

    小奶狗给小喵咪上CSS课程 小奶狗,你好啊? 小喵咪你好~ 听说学习HTML,要学习CSS是吗? 是的,小甜心~ 那么CSS是什么呢? CSS是Cascading Style Sheet英文的缩写,中 ...

  3. Canny算子

    Canny边缘检测算子是John F. Canny于1986年开发出来的一个多级边缘检测算法.更为重要的是Canny创立了“边缘检测计算理论”(computational theory of edge ...

  4. android发布新版忘记keystore(jks)密码终极解决方案

    android app签名是使用的keystore文件/jks文件,如果是eclipse是keystore,android studio则是jks,如果忘记了的话很悲催: 1.找到密码 2.改应用的包 ...

  5. LVS DR模式配置

    关于LVS的相关介绍,以下两篇文章均做了具体的介绍: http://www.linuxvirtualserver.org/zh/lvs1.html http://www.cnblogs.com/liw ...

  6. 【Spark调优】内存模型与参数调优

    [Spark内存模型] Spark在一个executor中的内存分为3块:storage内存.execution内存.other内存. 1. storage内存:存储broadcast,cache,p ...

  7. React 实现一个时钟

    最终效果 其实主要难点在于最左边的小时钟 指针的实现方式很简单,就是通过绝对定位将指针移到中间,然后以下边中间的位置为圆心旋转即可.代码如下: <!DOCTYPE html> <ht ...

  8. RabbitMQ管理界面

    Management Plugin rabbitmq-management插件提供基于HTTP的API方式管理和监控你的RabbitMQ服务器. 可以使用基于浏览器的UI界面,也可以使用命令行(rab ...

  9. Man方法

    Main方法相当一个主线程,JVM会自动寻找class文件中的main方法并执行(请思考tomcat加载java web项目启动的线程数和每次tomcat服务器接收到请求,是不是要发起一个线程去处理) ...

  10. 《HelloGitHub月刊》第 03 期

    <HelloGithub>第03期 兴趣是最好的老师,而<HelloGitHub> 就是帮你找到兴趣! 因为我比较熟悉python语言,所以月刊中python语言的项目居多,个 ...