userManager.js 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648
  1. const $ = require('jquery');
  2. require("../css/itemManager.less");
  3. require('./../resource/jquery-ui/jquery-ui.min.js');
  4. require('./modal.js');
  5. const {api} = require('./api.js')
  6. const {post} = require('./utils.js')
  7. const switchIconOpen = require("./../images/btn_open.png")
  8. const switchIconClose = require("./../images/btn_close.png")
  9. const iconDown= require("./../images/arrow_down.png")
  10. const iconUp = require("./../images/arrow_up.png")
  11. const arrowLeft= require("./../images/arrow_left.png")
  12. const arrowRight = require("./../images/arrow_right.png")
  13. let casesId="", name="", isReject ="", isUsed ="",casesIdTemp="", nameTemp="", isRejectTemp ="", isUsedTemp =""
  14. $(".selectModuleType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  15. $(".selectReject").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  16. $(".selectUsed").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  17. $(".abnormalClear").click(function(){
  18. window.location.reload()
  19. })
  20. //获取表格数据
  21. function getTabData(activePage){
  22. let params = {
  23. "current": activePage,
  24. "deptId": casesId||"",
  25. "linkman": name||"",
  26. "roleId": isReject||"",
  27. "size": 15
  28. }
  29. post(api.userPage,params).then(res =>{
  30. if(res.data.code == '0'){
  31. const data = res.data.data.records
  32. const totalPage = res.data.data.pages
  33. const totalNum = res.data.data.total
  34. renderTab(data,activePage)
  35. if(totalPage > 1){
  36. renderPagination(totalPage,Number(activePage),totalNum)
  37. } else{
  38. $('.pagination').html("")
  39. }
  40. }else{}
  41. }).catch((e) =>{
  42. })
  43. }
  44. $(".moduleItemInp").on("input", function(e){
  45. const val = $(this).val().trim()
  46. nameTemp = val
  47. })
  48. $(".filter").on("click", function(e){
  49. casesId=casesIdTemp, name=nameTemp, isReject =isRejectTemp, isUsed =isUsedTemp
  50. getTabData(1)
  51. })
  52. $('.selectModuleType').on("click", function(e){
  53. e.stopPropagation()
  54. $(".rejectList ").css("display","none")
  55. $(".usedList ").css("display", "none")
  56. $(".selectReject .arrow").attr("src",iconDown)
  57. $(".selectUsed .arrow").attr("src",iconDown)
  58. const showList = $(".moduleTypeList ").css("display")
  59. if(showList == "none" ||!showList){
  60. $(".moduleTypeList ").css("display","block")
  61. $(".selectModuleType .arrow").attr("src",iconUp)
  62. }else{
  63. $(".moduleTypeList ").css("display", "none")
  64. $(".selectModuleType .arrow").attr("src",iconDown)
  65. }
  66. })
  67. $('.selectReject').on("click", function(e){
  68. e.stopPropagation()
  69. $(".moduleTypeList ").css("display", "none")
  70. $(".usedList ").css("display", "none")
  71. $(".selectModuleType .arrow").attr("src",iconDown)
  72. $(".selectUsed .arrow").attr("src",iconDown)
  73. const showList = $(".rejectList ").css("display")
  74. if(showList == "none" ||!showList){
  75. $(".rejectList ").css("display","block")
  76. $(".selectUsed .arrow").attr("src",iconUp)
  77. }else{
  78. $(".rejectList ").css("display", "none")
  79. $(".selectUsed .arrow").attr("src",iconDown)
  80. }
  81. })
  82. $('.selectUsed').on("click", function(e){
  83. e.stopPropagation()
  84. $(".moduleTypeList ").css("display", "none")
  85. $(".rejectList ").css("display","none")
  86. $(".selectModuleType .arrow").attr("src",iconDown)
  87. $(".selectReject .arrow").attr("src",iconDown)
  88. const showList = $(".usedList ").css("display")
  89. if(showList == "none" ||!showList){
  90. $(".usedList ").css("display","block")
  91. $(".selectUsed .arrow").attr("src",iconUp)
  92. }else{
  93. $(".usedList ").css("display", "none")
  94. $(".selectUsed .arrow").attr("src",iconDown)
  95. }
  96. })
  97. bindUsedSelect()
  98. getTabData(1)
  99. getmoduleTypeList()
  100. function renderTab(data,activePage){
  101. let str = ``
  102. for(let i = 0; i < data.length; i++){
  103. const item = data[i]
  104. str += `
  105. <tr data-id=${item.id} data-index=${i}>
  106. <td class="textCenter">${(activePage-1)*10 + i+1}</td>
  107. <td class="textCenter">${item.linkman}</td>
  108. <td class="textCenter">${item.deptName||''}</td>
  109. <td class="textCenter">${item.roleName||''}</td>
  110. <td class="textCenter">
  111. <div class="itemMsgInfoBox">
  112. <p class="itemInfoRight itemReject">
  113. <img data-id="${item.userId}" data-status="${item.status}" class="switchImg roleSelect" src=${item.status==1?switchIconOpen:switchIconClose} /><span class="imgInfo"> ${item.status==1?"启用":"禁用"}</span>
  114. </p>
  115. </div>
  116. </td>
  117. <td class="textCenter clearfix"><span data-title="科室" data-id="${item.userId}" class="editItem deptEdit fl">科室编辑</span><span data-id="${item.userId}" data-title="角色" class="editItem roleEdit fr">角色编辑</span></td>
  118. </tr>
  119. `
  120. }
  121. $('tbody').html(str?str:`<tr><td colspan="17" style="text-align: center;color: #aaa">
  122. <img style="margin-top:50px;width:100px;" src="${require('../images/empty.png')}" />
  123. <p style="margin-top:20px;margin-bottom:30px;color:#ccc;position:relative;left:5px;">暂无数据~</p>
  124. </td></tr>`)
  125. bindEdit(data,activePage)
  126. }
  127. //获取用户科室列表
  128. function getDeptList(id,activePage,title){
  129. post(api.getUserDepts,{userId:id}).then(res =>{
  130. let data = res.data;
  131. if(data.code == '0'){
  132. let result = data.data
  133. // console.log(result,'科室列表')
  134. editItem(result,activePage,title)
  135. }else{}
  136. }).catch((e) =>{
  137. })
  138. }
  139. //获取用户角色列表
  140. function getUserList(id,activePage,title){
  141. post(api.getUserRoles,{userId:id}).then(res =>{
  142. let data = res.data;
  143. if(data.code == '0'){
  144. const result = data.data
  145. // console.log(result,'角色列表')
  146. editItemRole(result,activePage,title)
  147. }else{}
  148. }).catch((e) =>{
  149. })
  150. }
  151. function bindEdit(data,activePage){
  152. $('.editItem').click(function(e){
  153. const index = $(this).parents("tr").attr('data-index')
  154. const id = $(this).attr('data-id')
  155. const title = $(this).attr('data-title')
  156. if(title == "科室"){
  157. getDeptList(id,activePage,title)
  158. }else if(title == "角色"){
  159. getUserList(id,activePage,title)
  160. }
  161. })
  162. $(".roleSelect").click(function(){
  163. const id = $(this).attr('data-id')
  164. const status = $(this).attr('data-status')
  165. let that = $(this);
  166. if(status == 1){
  167. toggleOnOff(api.disable,id,that,status)
  168. }else{
  169. toggleOnOff(api.enable,id,that,status)
  170. }
  171. })
  172. }
  173. //启用禁用
  174. function toggleOnOff(url,id,that,status){
  175. $.alerModal({type:"loading"});
  176. post(url,{userId:id}).then(res =>{
  177. if(res.data.code == '0'){
  178. // const data = res.data.data
  179. that.attr({
  180. "src":status==1?switchIconClose:switchIconOpen,
  181. "data-status":status==1?0:1
  182. })
  183. that.siblings().html(status==1?' 禁用':' 启用')
  184. $.alerModal({"message":"修改成功",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  185. }else{
  186. console.log(res)
  187. }
  188. $(".loading").remove()
  189. }).catch((e) =>{
  190. $(".loading").remove()
  191. })
  192. }
  193. let leftDeptLis = [],
  194. rightDeptLis = [],
  195. selectDeptLeft = [],
  196. selectDeptRight = [],
  197. leftRoleLis = [],
  198. rightRoleLis = [],
  199. selectRoleLeft = [],
  200. selectRoleRight = [];
  201. function upDataLis(leftDeptLis,rightDeptLis){
  202. let allLeft = '',allRight = '';
  203. for(let i = 0;i < leftDeptLis.length;i++){//未选中
  204. allLeft+=`
  205. <li class="eclips" data-flg="0" data-id="${leftDeptLis[i].deptId}"><img class="select" src="${require('../images/icon_unchecked.png')}"/>${leftDeptLis[i].deptName}</li>
  206. `
  207. }
  208. for(let j = 0;j < rightDeptLis.length;j++){//已选
  209. allRight+=`
  210. <li class="eclips" data-flg="0" data-id="${rightDeptLis[j].deptId}"><img class="select" src="${require('../images/icon_unchecked.png')}"/>${rightDeptLis[j].deptName}</li>
  211. `
  212. }
  213. $("#partLeftNo", parent.document).html(allLeft)
  214. $("#partRightSelect", parent.document).html(allRight)
  215. $(".partLeft li", parent.document).click(function(){
  216. let dataFlg = $(this).attr("data-flg")
  217. let deptId = $(this).attr("data-id")
  218. $(this).attr({
  219. "data-flg":dataFlg == 0?1:0
  220. }).children("img").attr({
  221. src:dataFlg == 0?require('../images/icon_check.png'):require('../images/icon_unchecked.png'),
  222. })
  223. if(dataFlg == 0){
  224. selectDeptLeft.push(deptId)
  225. }else{
  226. selectDeptLeft.splice($.inArray(deptId,selectDeptLeft),1)
  227. }
  228. })
  229. $(".partRight li", parent.document).click(function(){
  230. let dataFlg = $(this).attr("data-flg")
  231. let deptId = $(this).attr("data-id")
  232. $(this).attr({
  233. "data-flg":dataFlg == 0?1:0
  234. }).children("img").attr({
  235. src:dataFlg == 0?require('../images/icon_check.png'):require('../images/icon_unchecked.png')
  236. })
  237. if(dataFlg == 0){
  238. selectDeptRight.push(deptId)
  239. }else{
  240. selectDeptRight.splice($.inArray(deptId,selectDeptRight),1)
  241. }
  242. })
  243. }
  244. function upDataLisRole(leftDeptLis,rightDeptLis){
  245. let allLeft = '',allRight = '';
  246. for(let i = 0;i < leftDeptLis.length;i++){//未选中
  247. allLeft+=`
  248. <li class="eclips" data-flg="0" data-id="${leftDeptLis[i].id}"><img class="select" src="${require('../images/icon_unchecked.png')}"/>${leftDeptLis[i].name}</li>
  249. `
  250. }
  251. for(let j = 0;j < rightDeptLis.length;j++){//已选
  252. allRight+=`
  253. <li class="eclips" data-flg="0" data-id="${rightDeptLis[j].id}"><img class="select" src="${require('../images/icon_unchecked.png')}"/>${rightDeptLis[j].name}</li>
  254. `
  255. }
  256. $("#partLeftNo", parent.document).html(allLeft)
  257. $("#partRightSelect", parent.document).html(allRight)
  258. $(".partLeft li", parent.document).click(function(){
  259. let dataFlg = $(this).attr("data-flg")
  260. let deptId = $(this).attr("data-id")
  261. $(this).attr({
  262. "data-flg":dataFlg == 0?1:0
  263. }).children("img").attr({
  264. src:dataFlg == 0?require('../images/icon_check.png'):require('../images/icon_unchecked.png'),
  265. })
  266. if(dataFlg == 0){
  267. selectRoleLeft.push(deptId)
  268. }else{
  269. selectRoleLeft.splice($.inArray(deptId,selectRoleLeft),1)
  270. }
  271. })
  272. $(".partRight li", parent.document).click(function(){
  273. let dataFlg = $(this).attr("data-flg")
  274. let deptId = $(this).attr("data-id")
  275. $(this).attr({
  276. "data-flg":dataFlg == 0?1:0
  277. }).children("img").attr({
  278. src:dataFlg == 0?require('../images/icon_check.png'):require('../images/icon_unchecked.png')
  279. })
  280. if(dataFlg == 0){
  281. selectRoleRight.push(deptId)
  282. }else{
  283. selectRoleRight.splice($.inArray(deptId,selectRoleRight),1)
  284. }
  285. })
  286. }
  287. //修改科室
  288. function editItem(result,activePage,title){
  289. $('.pop-box').remove()
  290. $('.container').append('<div class="pop-box"></div>')
  291. let userId = result.userId;
  292. leftDeptLis = result.notSelDepts||[],rightDeptLis = result.selDepts||[];
  293. const str = `
  294. <div class="itemMsgBox">
  295. <div class="mask"></div>
  296. <div class="itemMsgContent" style="height:552px;width:680px;margin: -276px 0 0 -340px;">
  297. <p class="itemMsgTitle">${title}编辑 <img class="iconClose" src=${require('./../images/icon_close_default.png')} alt="关闭" /></p>
  298. <div class="itemContentBoxLisL itemContentBoxLis">
  299. <p class="title">所有${title}</p>
  300. <ul class="partLeft partPub" id="partLeftNo">
  301. </ul>
  302. </div>
  303. <div class="activeGo">
  304. <p class="activeGoRight"><img src="${require('../images/goRight.png')}" /></p>
  305. <p class="btm activeGoLeft"><img src="${require('../images/goLeft.png')}" /></p>
  306. </div>
  307. <div class="itemContentBoxLisR itemContentBoxLis">
  308. <p class="title">已选${title}</p>
  309. <ul class="partRight partPub" id="partRightSelect">
  310. </ul>
  311. </div>
  312. <div class="clearfix"></div>
  313. <div class="confirmEditBox"><span class="confirmEdit">保存</span></div>
  314. </div>
  315. </div>
  316. `
  317. $("#mainBox", parent.document).append(str)
  318. upDataLis(leftDeptLis,rightDeptLis)
  319. $("#mainBox .itemMsgBox .iconClose", parent.document).on("click", function(e){
  320. $("#mainBox .itemMsgBox", parent.document).remove()
  321. })
  322. $("#mainBox .itemMsgBox .activeGoRight", parent.document).on("click", function(e){//数据往右
  323. let selectDeptLeftTmp = selectDeptLeft
  324. if(selectDeptLeftTmp.length == 0){
  325. $.alerModal({type:"tip",message:"请先选择内容",isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  326. return
  327. }
  328. for(let j = 0;j < selectDeptLeftTmp.length;j++){
  329. for(let i = 0;i < leftDeptLis.length;i++){
  330. if(leftDeptLis[i].deptId == selectDeptLeftTmp[j]){
  331. rightDeptLis.push(leftDeptLis[i])
  332. leftDeptLis.splice(i,1)
  333. }
  334. }
  335. }
  336. upDataLis(leftDeptLis,rightDeptLis)
  337. selectDeptLeft=[]
  338. })
  339. $("#mainBox .itemMsgBox .activeGoLeft", parent.document).on("click", function(e){//数据往左
  340. let selectDeptRightTmp = selectDeptRight
  341. if(selectDeptRightTmp.length == 0){
  342. $.alerModal({type:"tip",message:"请先选择内容",isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  343. return
  344. }
  345. for(let j = 0;j < selectDeptRightTmp.length;j++){
  346. for(let i = 0;i < rightDeptLis.length;i++){
  347. if(rightDeptLis[i].deptId == selectDeptRightTmp[j]){
  348. leftDeptLis.push(rightDeptLis[i])
  349. rightDeptLis.splice(i,1)
  350. }
  351. }
  352. }
  353. upDataLis(leftDeptLis,rightDeptLis)
  354. selectDeptRight=[]
  355. })
  356. $("#mainBox .itemMsgBox .confirmEdit", parent.document).on("click", function(){
  357. saveEdit(userId,activePage)
  358. })
  359. }
  360. //修改角色
  361. function editItemRole(result,activePage,title){
  362. $('.pop-box').remove()
  363. $('.container').append('<div class="pop-box"></div>')
  364. let userId = result.userId;
  365. leftRoleLis = result.notSelRoles||[],rightRoleLis = result.selRoles||[];
  366. const str = `
  367. <div class="itemMsgBox">
  368. <div class="mask"></div>
  369. <div class="itemMsgContent" style="height:552px;width:680px;margin: -276px 0 0 -340px;">
  370. <p class="itemMsgTitle">${title}编辑 <img class="iconClose" src=${require('./../images/icon_close_default.png')} alt="关闭" /></p>
  371. <div class="itemContentBoxLisL itemContentBoxLis">
  372. <p class="title">所有${title}</p>
  373. <ul class="partLeft partPub" id="partLeftNo">
  374. </ul>
  375. </div>
  376. <div class="activeGo">
  377. <p class="activeGoRight"><img src="${require('../images/goRight.png')}" /></p>
  378. <p class="btm activeGoLeft"><img src="${require('../images/goLeft.png')}" /></p>
  379. </div>
  380. <div class="itemContentBoxLisR itemContentBoxLis">
  381. <p class="title">已选${title}</p>
  382. <ul class="partRight partPub" id="partRightSelect">
  383. </ul>
  384. </div>
  385. <div class="clearfix"></div>
  386. <div class="confirmEditBox"><span class="confirmEdit">保存</span></div>
  387. </div>
  388. </div>
  389. `
  390. $("#mainBox", parent.document).append(str)
  391. upDataLisRole(leftRoleLis,rightRoleLis)
  392. $("#mainBox .itemMsgBox .iconClose", parent.document).on("click", function(e){
  393. $("#mainBox .itemMsgBox", parent.document).remove()
  394. })
  395. $("#mainBox .itemMsgBox .activeGoRight", parent.document).on("click", function(e){//数据往右
  396. let selectDeptLeftTmp = selectRoleLeft
  397. if(selectDeptLeftTmp.length == 0){
  398. $.alerModal({type:"tip",message:"请先选择内容",isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  399. return
  400. }
  401. let leftDeptLis = leftRoleLis
  402. for(let j = 0;j < selectDeptLeftTmp.length;j++){
  403. for(let i = 0;i < leftDeptLis.length;i++){
  404. if(leftDeptLis[i].id == selectDeptLeftTmp[j]){
  405. rightRoleLis.push(leftDeptLis[i])
  406. leftRoleLis.splice(i,1)
  407. }
  408. }
  409. }
  410. // console.log(leftRoleLis,rightRoleLis)
  411. upDataLisRole(leftRoleLis,rightRoleLis)
  412. selectRoleLeft=[]
  413. })
  414. $("#mainBox .itemMsgBox .activeGoLeft", parent.document).on("click", function(e){//数据往左
  415. let selectDeptRightTmp = selectRoleRight
  416. if(selectDeptRightTmp.length == 0){
  417. $.alerModal({type:"tip",message:"请先选择内容",isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  418. return
  419. }
  420. let rightDeptLis = rightRoleLis
  421. for(let j = 0;j < selectDeptRightTmp.length;j++){
  422. for(let i = 0;i < rightDeptLis.length;i++){
  423. if(rightDeptLis[i].id == selectDeptRightTmp[j]){
  424. leftRoleLis.push(rightDeptLis[i])
  425. rightRoleLis.splice(i,1)
  426. }
  427. }
  428. }
  429. upDataLisRole(leftRoleLis,rightRoleLis)
  430. selectRoleRight=[]
  431. })
  432. $("#mainBox .itemMsgBox .confirmEdit", parent.document).on("click", function(){
  433. saveEditRole(userId,activePage)
  434. })
  435. }
  436. //保存科室修改
  437. function saveEdit(id,activePage){
  438. let ids = []
  439. if(rightDeptLis.length==0){
  440. $.alerModal({"message":"请选择科室",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  441. return
  442. }
  443. for(let i = 0;i < rightDeptLis.length;i++){
  444. ids.push(rightDeptLis[i].deptId)
  445. }
  446. const param = {
  447. "deptIds": ids,
  448. "userId": id
  449. }
  450. post(api.editUserDepts,param).then(res =>{
  451. if(res.data.code == '0'){
  452. // const data = res.data.data
  453. getTabData(activePage)
  454. $.alerModal({"message":"修改成功",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  455. $('#mainBox .itemMsgBox', parent.document).remove()
  456. }else{}
  457. }).catch((e) =>{
  458. })
  459. }
  460. //保存角色修改
  461. function saveEditRole(id,activePage){
  462. let ids = []
  463. if(rightRoleLis.length==0){
  464. $.alerModal({"message":"请选择角色",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  465. return
  466. }
  467. for(let i = 0;i < rightRoleLis.length;i++){
  468. ids.push(rightRoleLis[i].id)
  469. }
  470. const param = {
  471. "roleIds": ids,
  472. "userId": id
  473. }
  474. post(api.editUserRoles,param).then(res =>{
  475. if(res.data.code == '0'){
  476. // const data = res.data.data
  477. getTabData(activePage)
  478. $.alerModal({"message":"修改成功",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  479. $('#mainBox .itemMsgBox', parent.document).remove()
  480. }else{}
  481. }).catch((e) =>{
  482. })
  483. }
  484. //获取科室,角色列表
  485. function getmoduleTypeList(){
  486. post(api.getDeptListUser,{
  487. "inputStr": ""
  488. }).then(res =>{
  489. if(res.data.code == '0'){
  490. const moduleTypeList = res.data.data
  491. renderModuleTypeList(moduleTypeList)
  492. }else{}
  493. }).catch((e) =>{
  494. })
  495. post(api.listForUserRole).then(res =>{
  496. if(res.data.code == '0'){
  497. const moduleTypeList = res.data.data
  498. renderRoleTypeList(moduleTypeList)
  499. }else{}
  500. }).catch((e) =>{
  501. })
  502. }
  503. function renderRoleTypeList(moduleTypeList){
  504. let str = `<li class="modeTypeItem " data-id="" data-name="全部">全部</li>`
  505. for(let i = 0; i < moduleTypeList.length; i++){
  506. str += `<li class="modeTypeItem ellipsis" title=${moduleTypeList[i].name} data-id=${moduleTypeList[i].id} data-name=${moduleTypeList[i].name}> ${moduleTypeList[i].name}</li>`
  507. }
  508. $('.rejectList').html(str)
  509. bindRoleTypeSelect()
  510. }
  511. function renderModuleTypeList(moduleTypeList){
  512. let str = `<li class="modeTypeItem " data-id="" data-name="全部">全部</li>`
  513. for(let i = 0; i < moduleTypeList.length; i++){
  514. str += `<li class="modeTypeItem ellipsis" title=${moduleTypeList[i].deptName} data-id=${moduleTypeList[i].deptId} data-name=${moduleTypeList[i].deptName}> ${moduleTypeList[i].deptName}</li>`
  515. }
  516. $('.moduleTypeList').html(str)
  517. bindModuleTypeSelect()
  518. }
  519. //模块类型选择
  520. function bindModuleTypeSelect(){
  521. $('.moduleTypeList .modeTypeItem').on("click",function(){
  522. const modeTypeItemName = $(this).attr("data-name")
  523. const modeTypeItemId = $(this).attr("data-id")
  524. casesIdTemp =modeTypeItemId
  525. $('.selectModuleType').html(modeTypeItemName).attr("title",modeTypeItemName)
  526. $(".selectModuleType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  527. $(".moduleTypeList ").css("display", "none")
  528. })
  529. }
  530. function bindRoleTypeSelect(){
  531. $('.rejectList .modeTypeItem').on("click",function(){
  532. const modeTypeItemName = $(this).attr("data-name")
  533. const modeTypeItemId = $(this).attr("data-id")
  534. isRejectTemp =modeTypeItemId
  535. $('.selectReject').html(modeTypeItemName)
  536. $(".selectReject").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  537. $(".moduleTypeList ").css("display", "none")
  538. })
  539. }
  540. //是否启用选择
  541. function bindUsedSelect(){
  542. $('.usedItem').on("click",function(){
  543. const usedItemName = $(this).attr("data-name")
  544. const usedItemItemId = $(this).attr("data-id")
  545. isUsedTemp =usedItemItemId
  546. $('.selectUsed').html(usedItemName)
  547. $(".usedList").css("display", "none")
  548. $(".selectUsed").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  549. })
  550. }
  551. //分页渲染
  552. function renderPagination(totalPage,activePage,totalNum){
  553. let str = `<span class="totalSum">共${totalPage}页/${totalNum}条数据</span><span class="prePage"><img class="arrowPage" src=${arrowLeft} /></span>`
  554. if(totalPage <= 6){
  555. for(let i = 1; i <= totalPage; i++){
  556. str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
  557. }
  558. }else{
  559. if(activePage <= 3){ //选中页数小于4
  560. for(let i = 1; i <= 4; i++){
  561. str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
  562. }
  563. str += `<span class="more" >...</span>`
  564. str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
  565. } else if(activePage > totalPage -3){
  566. str += `<span class="pageNum page1" data-page=1>1</span>`
  567. str += `<span class="more" >...</span>`
  568. str += `<span class="pageNum ${'page'+(totalPage-3)}" data-page=${totalPage -3}>${totalPage -3}</span>`
  569. str += `<span class="pageNum ${'page'+(totalPage-2)}" data-page=${totalPage -2}>${totalPage -2}</span>`
  570. str += `<span class="pageNum ${'page'+(totalPage-1)}" data-page=${totalPage -1}>${totalPage -1}</span>`
  571. str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
  572. } else {
  573. str += `<span class="pageNum page1" data-page=1>1</span>`
  574. str += `<span class="more" >...</span>`
  575. str += `<span class="pageNum ${'page'+(activePage -1)}" data-page=${activePage -1}>${activePage -1}</span>`
  576. str += `<span class="pageNum ${'page'+activePage}" data-page=${activePage}>${activePage}</span>`
  577. str += `<span class="pageNum ${'page'+(activePage +1)}" data-page=${activePage +1}>${activePage +1}</span>`
  578. str += `<span class="more" >...</span>`
  579. str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
  580. }
  581. }
  582. str += `<span class="nextPage"><img class="arrowPage" src=${arrowRight} /></span>`
  583. $('.pagination').html(str)
  584. $('.page' + activePage).addClass('activePage')
  585. $(".pageNum").on("click", function(e){
  586. const activePageNow = Number($(this).attr('data-page'))
  587. getTabData(activePageNow)
  588. // renderPagination(totalPage,activePageNow,totalNum)
  589. })
  590. $(".prePage").on("click", function(e){
  591. let activePageNow = Number($(".activePage").attr('data-page'))
  592. if(activePageNow > 1){
  593. activePageNow--
  594. getTabData(activePageNow)
  595. // renderPagination(totalPage,activePageNow,totalNum)
  596. }
  597. })
  598. $(".nextPage").on("click", function(e){
  599. let activePageNow = Number($(".activePage").attr('data-page'))
  600. if(activePageNow < totalPage){
  601. activePageNow++
  602. getTabData(activePageNow)
  603. // renderPagination(totalPage,activePageNow,totalNum)
  604. }
  605. })
  606. }
  607. $(document).on("click", function(){
  608. $(".moduleTypeList ").css("display", "none")
  609. $(".rejectList ").css("display","none")
  610. $(".usedList ").css("display", "none")
  611. $(".selectModuleType .arrow").attr("src",iconDown)
  612. $(".selectReject .arrow").attr("src",iconDown)
  613. $(".selectUsed .arrow").attr("src",iconDown)
  614. })