list.html 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="renderer" content="webkit">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  7. <title>后台</title>
  8. <link rel="stylesheet" href="../../layui/css/layui.css">
  9. <link rel="stylesheet" href="../../css/common.css">
  10. <link rel="stylesheet" href="../../css/user/list.css">
  11. <link rel="stylesheet" href="../../css/iconfont.css">
  12. <!--[if lt IE 9]>
  13. <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
  14. <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
  15. <![endif]-->
  16. </head>
  17. <body class="layui-layout-body">
  18. <div class="layui-layout layui-layout-admin">
  19. <div class="layui-header">
  20. <a class="layui-logo" href="index.html">
  21. <img src="../../img/logo.png" alt="">
  22. </a>
  23. <ul class="layui-nav layui-layout-right">
  24. <li class="layui-nav-item">
  25. <a href="javascript:;">
  26. <img src="http://t.cn/RCzsdCq" class="layui-nav-img"> zx66
  27. </a>
  28. <dl class="layui-nav-child">
  29. <dd>
  30. <a href="">基本资料</a>
  31. </dd>
  32. <dd>
  33. <a href="">安全设置</a>
  34. </dd>
  35. </dl>
  36. </li>
  37. <li class="layui-nav-item">
  38. <a href="">退出登录</a>
  39. </li>
  40. </ul>
  41. </div>
  42. <div class="layui-side layui-side-menu">
  43. <div class="layui-side-scroll">
  44. <ul class="layui-nav layui-nav-tree" lay-shrink="all" lay-filter="layadmin-system-side-menu">
  45. <li class="layui-nav-item layui-nav-itemspec">
  46. <a href="javascript:;">
  47. <span class="item-title">收起左侧导航</span>
  48. <i class="layui-icon layui-icon-shrink-right"></i>
  49. </a>
  50. </li>
  51. <li class="layui-nav-item">
  52. <a href="javascript:;" lay-tips="文章管理" lay-direction="2">
  53. <span class="font-icon">
  54. <i class="iconfont icon-wenzhang"></i>
  55. </span>
  56. <span class="item-title">文章管理</span>
  57. <span class="layui-nav-more"></span>
  58. </a>
  59. <dl class="layui-nav-child">
  60. <dd>
  61. <a lay-href="article/free.html">免费文章</a>
  62. </dd>
  63. <dd>
  64. <a lay-href="javascript:;">收费文章</a>
  65. </dd>
  66. <dd>
  67. <a lay-href="javascript:;">保障文章</a>
  68. </dd>
  69. </dl>
  70. </li>
  71. <li class="layui-nav-item">
  72. <a href="javascript:;" lay-tips="权限管理" lay-direction="2">
  73. <span class="font-icon">
  74. <i class="iconfont icon-quanxian"></i>
  75. </span>
  76. <span class="item-title">权限管理</span>
  77. <span class="layui-nav-more"></span>
  78. </a>
  79. <dl class="layui-nav-child">
  80. <dd>
  81. <a href="javascript:;">列表一</a>
  82. </dd>
  83. <dd>
  84. <a href="javascript:;">列表二</a>
  85. </dd>
  86. <dd>
  87. <a href="javascript:;">列表三</a>
  88. </dd>
  89. </dl>
  90. </li>
  91. <li class="layui-nav-item">
  92. <a href="javascript:;" lay-tips="审核管理" lay-direction="2">
  93. <span class="font-icon">
  94. <i class="iconfont icon-shenhe1"></i>
  95. </span>
  96. <span class="item-title">审核管理</span>
  97. <span class="layui-nav-more"></span>
  98. </a>
  99. <dl class="layui-nav-child">
  100. <dd>
  101. <a href="javascript:;">列表一</a>
  102. </dd>
  103. <dd>
  104. <a href="javascript:;">列表二</a>
  105. </dd>
  106. <dd>
  107. <a href="javascript:;">列表三</a>
  108. </dd>
  109. </dl>
  110. </li>
  111. <li class="layui-nav-item">
  112. <a href="javascript:;" lay-tips="工单管理" lay-direction="2">
  113. <span class="font-icon">
  114. <i class="iconfont icon-gongdan"></i>
  115. </span>
  116. <span class="item-title">工单管理</span>
  117. <span class="layui-nav-more"></span>
  118. </a>
  119. <dl class="layui-nav-child">
  120. <dd>
  121. <a href="javascript:;">列表一</a>
  122. </dd>
  123. <dd>
  124. <a href="javascript:;">列表二</a>
  125. </dd>
  126. <dd>
  127. <a href="javascript:;">列表三</a>
  128. </dd>
  129. </dl>
  130. </li>
  131. <li class="layui-nav-item">
  132. <a href="javascript:;" lay-tips="用户管理" lay-direction="2">
  133. <span class="font-icon">
  134. <i class="iconfont icon-yonghu-tianchong"></i>
  135. </span>
  136. <span class="item-title">用户管理</span>
  137. <span class="layui-nav-more"></span>
  138. </a>
  139. <dl class="layui-nav-child">
  140. <dd>
  141. <a href="javascript:;">列表一</a>
  142. </dd>
  143. <dd>
  144. <a href="javascript:;">列表二</a>
  145. </dd>
  146. <dd>
  147. <a href="javascript:;">列表三</a>
  148. </dd>
  149. </dl>
  150. </li>
  151. <li class="layui-nav-item">
  152. <a href="javascript:;" lay-tips="商城管理" lay-direction="2">
  153. <span class="font-icon">
  154. <i class="iconfont icon-icon-test"></i>
  155. </span>
  156. <span class="item-title">商城管理</span>
  157. <span class="layui-nav-more"></span>
  158. </a>
  159. <dl class="layui-nav-child">
  160. <dd>
  161. <a href="javascript:;">列表一</a>
  162. </dd>
  163. <dd>
  164. <a href="javascript:;">列表二</a>
  165. </dd>
  166. <dd>
  167. <a href="javascript:;">列表三</a>
  168. </dd>
  169. </dl>
  170. </li>
  171. <li class="layui-nav-item">
  172. <a href="javascript:;" lay-tips="操作员管理" lay-direction="2">
  173. <span class="font-icon">
  174. <i class="iconfont icon-caozuo"></i>
  175. </span>
  176. <span class="item-title">操作员管理</span>
  177. <span class="layui-nav-more"></span>
  178. </a>
  179. <dl class="layui-nav-child">
  180. <dd>
  181. <a href="javascript:;">列表一</a>
  182. </dd>
  183. <dd>
  184. <a href="javascript:;">列表二</a>
  185. </dd>
  186. <dd>
  187. <a href="javascript:;">列表三</a>
  188. </dd>
  189. </dl>
  190. </li>
  191. <li class="layui-nav-item">
  192. <a href="javascript:;" lay-tips="日志管理" lay-direction="2">
  193. <span class="font-icon">
  194. <i class="iconfont icon-daily-fill"></i>
  195. </span>
  196. <span class="item-title">日志管理</span>
  197. <span class="layui-nav-more"></span>
  198. </a>
  199. <dl class="layui-nav-child">
  200. <dd>
  201. <a href="javascript:;">列表一</a>
  202. </dd>
  203. <dd>
  204. <a href="javascript:;">列表二</a>
  205. </dd>
  206. <dd>
  207. <a href="javascript:;">列表三</a>
  208. </dd>
  209. </dl>
  210. </li>
  211. <span class="layui-nav-bar" style="top: 28px; height: 0px; opacity: 0;"></span>
  212. </ul>
  213. </div>
  214. </div>
  215. <div class="layui-body" id="LAY_app_body">
  216. <div class="layadmin-tabsbody-item layui-show">
  217. <div class="layui-card layadmin-header">
  218. <div class="layui-breadcrumb" lay-filter="breadcrumb" style="visibility: visible;">
  219. <a lay-href="/">主页</a>
  220. <span lay-separator="">/</span>
  221. <a>
  222. <cite>新增用户</cite>
  223. </a>
  224. </div>
  225. <div class="main">
  226. <div class="search-box">
  227. 账号查询
  228. </div>
  229. <table class="layui-hide" id="tables" lay-filter="tables"></table>
  230. <script type="text/html" id="bar">
  231. <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
  232. <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
  233. </script>
  234. <div class="layui-row" id="popUpdateTest" style="display:none;">
  235. <div class="layui-col-md10">
  236. <form class="layui-form layui-from-pane" lay-filter="formData" style="margin-top:20px">
  237. <div class="layui-form-item">
  238. <label class="layui-form-label">账号</label>
  239. <div class="layui-input-block">
  240. <input type="text" name="name" id="name" required lay-verify="required" autocomplete="off" placeholder="请输入账号" class="layui-input">
  241. </div>
  242. </div>
  243. <div class="layui-form-item">
  244. <label class="layui-form-label">昵称</label>
  245. <div class="layui-input-block">
  246. <input type="text" id="nickname" name="nickname" required lay-verify="required" autocomplete="off" placeholder="请输入昵称" class="layui-input">
  247. </div>
  248. </div>
  249. <div class="layui-form-item">
  250. <label class="layui-form-label">角色</label>
  251. <div class="layui-input-block">
  252. <select name="role" lay-filter="role">
  253. <option value="0">请选择角色</option>
  254. <option value="1">超级管理员</option>
  255. <option value="2">管理员</option>
  256. <option value="3">操作员</option>
  257. <option value="4">会计</option>
  258. </select>
  259. </div>
  260. </div>
  261. <div class="layui-form-item">
  262. <label class="layui-form-label">头像</label>
  263. <div class="layui-input-block">
  264. <span class="img-box" id="img-box">
  265. <input type="file" id="chooseImage" accept="image/gif,image/jpeg,image/jpg,image/png" name="file" onchange="filechange(event)" />
  266. <img src="" id="oldhead" class="oldhead">
  267. </span>
  268. </div>
  269. </div>
  270. <div class="layui-form-item" style="margin-top:40px">
  271. <div class="layui-input-block">
  272. <button class="layui-btn layui-btn-submit " lay-submit="" lay-filter="btn">确认修改</button>
  273. <button type="reset" class="layui-btn layui-btn-primary">重置</button>
  274. </div>
  275. </div>
  276. </form>
  277. </div>
  278. </div>
  279. </div>
  280. </div>
  281. </div>
  282. </div>
  283. </div>
  284. <script src="../../js/jquery.js"></script>
  285. <script src="../../js/common.js"></script>
  286. <script src="../../layui/layui.js"></script>
  287. <script type="text/javascript">
  288. //JavaScript代码区域
  289. layui.use(['element'], function () {
  290. var element = layui.element;
  291. });
  292. var datas = {
  293. 'code': 0,
  294. 'msg': '',
  295. "count": 1000,
  296. "data": [
  297. {
  298. id:1,
  299. name: '哈哈哈',
  300. nickname: '哈哈哈哈哈',
  301. logo: 'https://www.55128.cn/static/images/logo-1.png',
  302. role: 1
  303. },
  304. {
  305. id:2,
  306. name: '哈哈哈0',
  307. nickname: '哈哈哈哈哈',
  308. logo: 'https://www.55128.cn/static/images/logo-1.png',
  309. role: 2
  310. },
  311. {
  312. id:3,
  313. name: '哈哈哈2',
  314. nickname: '哈哈哈哈哈',
  315. logo: 'https://www.55128.cn/static/images/logo-1.png',
  316. role: 3
  317. },
  318. {
  319. id:4,
  320. name: '哈哈哈3',
  321. nickname: '哈哈哈哈哈',
  322. logo: 'https://www.55128.cn/static/images/logo-1.png',
  323. role: 4
  324. },
  325. ]
  326. }
  327. // 创建表格
  328. layui.use(['table', 'form'], function () {
  329. var table = layui.table,
  330. form = layui.form
  331. table.render({
  332. elem: '#tables',
  333. // url: datas,
  334. data: [
  335. {
  336. id:1,
  337. name: '哈哈哈',
  338. nickname: '哈哈哈哈哈',
  339. logo: 'https://www.55128.cn/static/images/logo-1.png',
  340. role: 1,
  341. DateTime: '2020-04-20'
  342. },
  343. {
  344. id:2,
  345. name: '哈哈哈0',
  346. nickname: '哈哈哈哈哈',
  347. logo: 'https://www.55128.cn/static/images/logo-1.png',
  348. role: 2,
  349. DateTime: '2020-04-20'
  350. },
  351. {
  352. id:3,
  353. name: '哈哈哈2',
  354. nickname: '哈哈哈哈哈',
  355. logo: 'https://www.55128.cn/static/images/logo-1.png',
  356. role: 3,
  357. DateTime: '2020-04-20'
  358. },
  359. {
  360. id:4,
  361. name: '哈哈哈3',
  362. nickname: '哈哈哈哈哈',
  363. logo: 'https://www.55128.cn/static/images/logo-1.png',
  364. role: 4,
  365. DateTime: '2020-04-20'
  366. },
  367. {
  368. id:5,
  369. name: '哈哈哈',
  370. nickname: '哈哈哈哈哈',
  371. logo: 'https://www.55128.cn/static/images/logo-1.png',
  372. role: 1,
  373. DateTime: '2020-04-20'
  374. },
  375. {
  376. id:6,
  377. name: '哈哈哈0',
  378. nickname: '哈哈哈哈哈',
  379. logo: 'https://www.55128.cn/static/images/logo-1.png',
  380. role: 2,
  381. DateTime: '2020-04-20'
  382. },
  383. {
  384. id:7,
  385. name: '哈哈哈2',
  386. nickname: '哈哈哈哈哈',
  387. logo: 'https://www.55128.cn/static/images/logo-1.png',
  388. role: 3,
  389. DateTime: '2020-04-20'
  390. },
  391. {
  392. id:8,
  393. name: '哈哈哈3',
  394. nickname: '哈哈哈哈哈',
  395. logo: 'https://www.55128.cn/static/images/logo-1.png',
  396. role: 4,
  397. DateTime: '2020-04-20'
  398. },
  399. ],
  400. title: '用户数据表',
  401. cellMinWidth: 120,
  402. cols: [[
  403. { title: 'ID',align: 'center',type:'numbers'},
  404. { field: 'name', title: '账号'},
  405. { field: 'nickname', title: '昵称' },
  406. {
  407. field: 'role', title: '角色', templet: function (res) {
  408. var str = '管理员';
  409. switch (res.role) {
  410. case 1:
  411. str = '超级管理员';
  412. break;
  413. case 2:
  414. str = '管理员'
  415. break;
  416. case 3:
  417. str = '操作员'
  418. break;
  419. case 4:
  420. str = '会计'
  421. break;
  422. }
  423. return str
  424. }
  425. },
  426. {
  427. field: 'logo', title: '头像', templet: function (res) {
  428. return "<img class='headpic' src='" + res.logo + "'>"
  429. }
  430. },
  431. { field: 'DateTime', title: '创建时间' },
  432. { fixed: 'right', title: '操作', toolbar: '#bar' }
  433. ]],
  434. page: true,
  435. count: 4,
  436. limit: 2,
  437. id: 'testReload'
  438. })
  439. table.on('tool(tables)', function (obj) {
  440. var data = obj.data;
  441. if (obj.event === 'del') {
  442. layer.confirm('真的删除行么', function (index) {
  443. // obj.del();
  444. $.ajax({
  445. url:'/',
  446. type:'get?id='+data.id,
  447. success:function(res) {
  448. if(res.code == 200) {
  449. layer.msg("删除成功", {icon: 6});
  450. }else{
  451. layer.msg("删除失败", {icon: 5});
  452. }
  453. layer.close(index);
  454. }
  455. })
  456. });
  457. } else if (obj.event === 'edit') {
  458. layer.open({
  459. type: 1,
  460. title: "修改个人信息",
  461. area: ['420px', '500px'],
  462. shade: 0,
  463. content: $("#popUpdateTest"),//引用的弹出层的页面层的方式加载修改界面表单
  464. success: function (layero, index) {
  465. //表单初始赋值
  466. form.val('formData', data)
  467. $("#oldhead").attr('src', data.logo)
  468. },
  469. cancel: function(){ //点击取消
  470. $("#popUpdateTest").hide()
  471. layer.closeAll()
  472. }
  473. });
  474. //动态向表传递赋值可以参看文章进行修改界面的更新前数据的显示,当然也是异步请求的要数据的修改数据的获取
  475. setFormValue(obj, data);
  476. }
  477. });
  478. // 提交修改的数据
  479. function setFormValue(obj, data) {
  480. form.on('submit(btn)', function(msg) {
  481. var uregs = /^[a-zA-Z0-9]{4,12}$/
  482. var pregs = /^[a-zA-Z0-9]{6,12}$/
  483. if(!uregs.test(msg.field.name)) {
  484. layer.tips('请输入正确的账号格式',$("#name"),{
  485. tips: [3, '#0FA6D8']
  486. });
  487. $("#name").focus();
  488. return false;
  489. }
  490. if(msg.field.nickname.length < 4 || msg.field.nickname.length > 12) {
  491. layer.tips('请输入正确的昵称格式',$("#nickname"),{
  492. tips: [3, '#0FA6D8']
  493. });
  494. $("#nickname").focus();
  495. return false;
  496. }
  497. $.ajax({
  498. url:'', //接受修改的数据
  499. type:'post',
  500. dataType:'json',
  501. data:{id:data.id,name:msg.field.name,nickname:msg.field.nickname,role:msg.field.role},
  502. success:function (res) {
  503. if(res.code == 200){
  504. layer.closeAll('loading');
  505. layer.load(2);
  506. layer.msg("修改成功", {icon: 6});
  507. layer.closeAll()
  508. }else{
  509. layer.msg("修改失败", {icon: 5});
  510. }
  511. }
  512. })
  513. })
  514. }
  515. })
  516. $("#oldhead").click(function () {
  517. $("#chooseImage").click();
  518. })
  519. //上传头像
  520. function filechange(e) {
  521. var files = e.target.files, file;
  522. if (files && files.length > 0) {
  523. // 获取目前上传的文件
  524. file = files[0];// 文件大小校验的动作
  525. if (file.size > 1024 * 1024 * 2) {
  526. alert('图片大小不能超过 2MB!');
  527. return false;
  528. }
  529. // 获取 window 的 URL 工具
  530. var URL = window.URL || window.webkitURL;
  531. // 通过 file 生成目标 url
  532. var imgURL = URL.createObjectURL(file);
  533. //用attr将img的src属性改成获得的url
  534. $("#oldhead").attr("src", imgURL);
  535. // 使用下面这句可以在内存中释放对此 url 的伺服,跑了之后那个 URL 就无效了
  536. // URL.revokeObjectURL(imgURL);
  537. }
  538. }
  539. </script>
  540. </body>
  541. </html>