userManager.js 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646
  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,emptyBox,initScroll} = 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:emptyBox())
  122. bindEdit(data,activePage)
  123. // initScroll("usrContain","Y",1)
  124. }
  125. //获取用户科室列表
  126. function getDeptList(id,activePage,title){
  127. post(api.getUserDepts,{userId:id}).then(res =>{
  128. let data = res.data;
  129. if(data.code == '0'){
  130. let result = data.data
  131. // console.log(result,'科室列表')
  132. editItem(result,activePage,title)
  133. }else{}
  134. }).catch((e) =>{
  135. })
  136. }
  137. //获取用户角色列表
  138. function getUserList(id,activePage,title){
  139. post(api.getUserRoles,{userId:id}).then(res =>{
  140. let data = res.data;
  141. if(data.code == '0'){
  142. const result = data.data
  143. // console.log(result,'角色列表')
  144. editItemRole(result,activePage,title)
  145. }else{}
  146. }).catch((e) =>{
  147. })
  148. }
  149. function bindEdit(data,activePage){
  150. $('.editItem').click(function(e){
  151. const index = $(this).parents("tr").attr('data-index')
  152. const id = $(this).attr('data-id')
  153. const title = $(this).attr('data-title')
  154. if(title == "科室"){
  155. getDeptList(id,activePage,title)
  156. }else if(title == "角色"){
  157. getUserList(id,activePage,title)
  158. }
  159. })
  160. $(".roleSelect").click(function(){
  161. const id = $(this).attr('data-id')
  162. const status = $(this).attr('data-status')
  163. let that = $(this);
  164. if(status == 1){
  165. toggleOnOff(api.disable,id,that,status)
  166. }else{
  167. toggleOnOff(api.enable,id,that,status)
  168. }
  169. })
  170. }
  171. //启用禁用
  172. function toggleOnOff(url,id,that,status){
  173. $.alerModal({type:"loading"});
  174. post(url,{userId:id}).then(res =>{
  175. if(res.data.code == '0'){
  176. // const data = res.data.data
  177. that.attr({
  178. "src":status==1?switchIconClose:switchIconOpen,
  179. "data-status":status==1?0:1
  180. })
  181. that.siblings().html(status==1?' 禁用':' 启用')
  182. $.alerModal({"message":"修改成功",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  183. }else{
  184. console.log(res)
  185. }
  186. $(".loading").remove()
  187. }).catch((e) =>{
  188. $(".loading").remove()
  189. })
  190. }
  191. let leftDeptLis = [],
  192. rightDeptLis = [],
  193. selectDeptLeft = [],
  194. selectDeptRight = [],
  195. leftRoleLis = [],
  196. rightRoleLis = [],
  197. selectRoleLeft = [],
  198. selectRoleRight = [];
  199. function upDataLis(leftDeptLis,rightDeptLis){
  200. let allLeft = '',allRight = '';
  201. for(let i = 0;i < leftDeptLis.length;i++){//未选中
  202. allLeft+=`
  203. <li class="eclips" data-flg="0" data-id="${leftDeptLis[i].deptId}"><img class="select" src="${require('../images/icon_unchecked.png')}"/>${leftDeptLis[i].deptName}</li>
  204. `
  205. }
  206. for(let j = 0;j < rightDeptLis.length;j++){//已选
  207. allRight+=`
  208. <li class="eclips" data-flg="0" data-id="${rightDeptLis[j].deptId}"><img class="select" src="${require('../images/icon_unchecked.png')}"/>${rightDeptLis[j].deptName}</li>
  209. `
  210. }
  211. $("#partLeftNo", parent.document).html(allLeft)
  212. $("#partRightSelect", parent.document).html(allRight)
  213. $(".partLeft li", parent.document).click(function(){
  214. let dataFlg = $(this).attr("data-flg")
  215. let deptId = $(this).attr("data-id")
  216. $(this).attr({
  217. "data-flg":dataFlg == 0?1:0
  218. }).children("img").attr({
  219. src:dataFlg == 0?require('../images/icon_check.png'):require('../images/icon_unchecked.png'),
  220. })
  221. if(dataFlg == 0){
  222. selectDeptLeft.push(deptId)
  223. }else{
  224. selectDeptLeft.splice($.inArray(deptId,selectDeptLeft),1)
  225. }
  226. })
  227. $(".partRight li", parent.document).click(function(){
  228. let dataFlg = $(this).attr("data-flg")
  229. let deptId = $(this).attr("data-id")
  230. $(this).attr({
  231. "data-flg":dataFlg == 0?1:0
  232. }).children("img").attr({
  233. src:dataFlg == 0?require('../images/icon_check.png'):require('../images/icon_unchecked.png')
  234. })
  235. if(dataFlg == 0){
  236. selectDeptRight.push(deptId)
  237. }else{
  238. selectDeptRight.splice($.inArray(deptId,selectDeptRight),1)
  239. }
  240. })
  241. }
  242. function upDataLisRole(leftDeptLis,rightDeptLis){
  243. let allLeft = '',allRight = '';
  244. for(let i = 0;i < leftDeptLis.length;i++){//未选中
  245. allLeft+=`
  246. <li class="eclips" data-flg="0" data-id="${leftDeptLis[i].id}"><img class="select" src="${require('../images/icon_unchecked.png')}"/>${leftDeptLis[i].name}</li>
  247. `
  248. }
  249. for(let j = 0;j < rightDeptLis.length;j++){//已选
  250. allRight+=`
  251. <li class="eclips" data-flg="0" data-id="${rightDeptLis[j].id}"><img class="select" src="${require('../images/icon_unchecked.png')}"/>${rightDeptLis[j].name}</li>
  252. `
  253. }
  254. $("#partLeftNo", parent.document).html(allLeft)
  255. $("#partRightSelect", parent.document).html(allRight)
  256. $(".partLeft li", parent.document).click(function(){
  257. let dataFlg = $(this).attr("data-flg")
  258. let deptId = $(this).attr("data-id")
  259. $(this).attr({
  260. "data-flg":dataFlg == 0?1:0
  261. }).children("img").attr({
  262. src:dataFlg == 0?require('../images/icon_check.png'):require('../images/icon_unchecked.png'),
  263. })
  264. if(dataFlg == 0){
  265. selectRoleLeft.push(deptId)
  266. }else{
  267. selectRoleLeft.splice($.inArray(deptId,selectRoleLeft),1)
  268. }
  269. })
  270. $(".partRight li", parent.document).click(function(){
  271. let dataFlg = $(this).attr("data-flg")
  272. let deptId = $(this).attr("data-id")
  273. $(this).attr({
  274. "data-flg":dataFlg == 0?1:0
  275. }).children("img").attr({
  276. src:dataFlg == 0?require('../images/icon_check.png'):require('../images/icon_unchecked.png')
  277. })
  278. if(dataFlg == 0){
  279. selectRoleRight.push(deptId)
  280. }else{
  281. selectRoleRight.splice($.inArray(deptId,selectRoleRight),1)
  282. }
  283. })
  284. }
  285. //修改科室
  286. function editItem(result,activePage,title){
  287. $('.pop-box').remove()
  288. $('.container').append('<div class="pop-box"></div>')
  289. let userId = result.userId;
  290. leftDeptLis = result.notSelDepts||[],rightDeptLis = result.selDepts||[];
  291. const str = `
  292. <div class="itemMsgBox">
  293. <div class="mask"></div>
  294. <div class="itemMsgContent" style="height:552px;width:680px;margin: -276px 0 0 -340px;">
  295. <p class="itemMsgTitle">${title}编辑 <img class="iconClose" src=${require('./../images/icon_close_default.png')} alt="关闭" /></p>
  296. <div class="itemContentBoxLisL itemContentBoxLis">
  297. <p class="title">所有${title}</p>
  298. <ul class="partLeft partPub" id="partLeftNo">
  299. </ul>
  300. </div>
  301. <div class="activeGo">
  302. <p class="activeGoRight"><img src="${require('../images/goRight.png')}" /></p>
  303. <p class="btm activeGoLeft"><img src="${require('../images/goLeft.png')}" /></p>
  304. </div>
  305. <div class="itemContentBoxLisR itemContentBoxLis">
  306. <p class="title">已选${title}</p>
  307. <ul class="partRight partPub" id="partRightSelect">
  308. </ul>
  309. </div>
  310. <div class="clearfix"></div>
  311. <div class="confirmEditBox"><span class="confirmEdit">保存</span></div>
  312. </div>
  313. </div>
  314. `
  315. $("#mainBox", parent.document).append(str)
  316. upDataLis(leftDeptLis,rightDeptLis)
  317. $("#mainBox .itemMsgBox .iconClose", parent.document).on("click", function(e){
  318. $("#mainBox .itemMsgBox", parent.document).remove()
  319. })
  320. $("#mainBox .itemMsgBox .activeGoRight", parent.document).on("click", function(e){//数据往右
  321. let selectDeptLeftTmp = selectDeptLeft
  322. if(selectDeptLeftTmp.length == 0){
  323. $.alerModal({type:"tip",message:"请先选择内容",isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  324. return
  325. }
  326. for(let j = 0;j < selectDeptLeftTmp.length;j++){
  327. for(let i = 0;i < leftDeptLis.length;i++){
  328. if(leftDeptLis[i].deptId == selectDeptLeftTmp[j]){
  329. rightDeptLis.push(leftDeptLis[i])
  330. leftDeptLis.splice(i,1)
  331. }
  332. }
  333. }
  334. upDataLis(leftDeptLis,rightDeptLis)
  335. selectDeptLeft=[]
  336. })
  337. $("#mainBox .itemMsgBox .activeGoLeft", parent.document).on("click", function(e){//数据往左
  338. let selectDeptRightTmp = selectDeptRight
  339. if(selectDeptRightTmp.length == 0){
  340. $.alerModal({type:"tip",message:"请先选择内容",isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  341. return
  342. }
  343. for(let j = 0;j < selectDeptRightTmp.length;j++){
  344. for(let i = 0;i < rightDeptLis.length;i++){
  345. if(rightDeptLis[i].deptId == selectDeptRightTmp[j]){
  346. leftDeptLis.push(rightDeptLis[i])
  347. rightDeptLis.splice(i,1)
  348. }
  349. }
  350. }
  351. upDataLis(leftDeptLis,rightDeptLis)
  352. selectDeptRight=[]
  353. })
  354. $("#mainBox .itemMsgBox .confirmEdit", parent.document).on("click", function(){
  355. saveEdit(userId,activePage)
  356. })
  357. }
  358. //修改角色
  359. function editItemRole(result,activePage,title){
  360. $('.pop-box').remove()
  361. $('.container').append('<div class="pop-box"></div>')
  362. let userId = result.userId;
  363. leftRoleLis = result.notSelRoles||[],rightRoleLis = result.selRoles||[];
  364. const str = `
  365. <div class="itemMsgBox">
  366. <div class="mask"></div>
  367. <div class="itemMsgContent" style="height:552px;width:680px;margin: -276px 0 0 -340px;">
  368. <p class="itemMsgTitle">${title}编辑 <img class="iconClose" src=${require('./../images/icon_close_default.png')} alt="关闭" /></p>
  369. <div class="itemContentBoxLisL itemContentBoxLis">
  370. <p class="title">所有${title}</p>
  371. <ul class="partLeft partPub" id="partLeftNo">
  372. </ul>
  373. </div>
  374. <div class="activeGo">
  375. <p class="activeGoRight"><img src="${require('../images/goRight.png')}" /></p>
  376. <p class="btm activeGoLeft"><img src="${require('../images/goLeft.png')}" /></p>
  377. </div>
  378. <div class="itemContentBoxLisR itemContentBoxLis">
  379. <p class="title">已选${title}</p>
  380. <ul class="partRight partPub" id="partRightSelect">
  381. </ul>
  382. </div>
  383. <div class="clearfix"></div>
  384. <div class="confirmEditBox"><span class="confirmEdit">保存</span></div>
  385. </div>
  386. </div>
  387. `
  388. $("#mainBox", parent.document).append(str)
  389. upDataLisRole(leftRoleLis,rightRoleLis)
  390. $("#mainBox .itemMsgBox .iconClose", parent.document).on("click", function(e){
  391. $("#mainBox .itemMsgBox", parent.document).remove()
  392. })
  393. $("#mainBox .itemMsgBox .activeGoRight", parent.document).on("click", function(e){//数据往右
  394. let selectDeptLeftTmp = selectRoleLeft
  395. if(selectDeptLeftTmp.length == 0){
  396. $.alerModal({type:"tip",message:"请先选择内容",isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  397. return
  398. }
  399. let leftDeptLis = leftRoleLis
  400. for(let j = 0;j < selectDeptLeftTmp.length;j++){
  401. for(let i = 0;i < leftDeptLis.length;i++){
  402. if(leftDeptLis[i].id == selectDeptLeftTmp[j]){
  403. rightRoleLis.push(leftDeptLis[i])
  404. leftRoleLis.splice(i,1)
  405. }
  406. }
  407. }
  408. // console.log(leftRoleLis,rightRoleLis)
  409. upDataLisRole(leftRoleLis,rightRoleLis)
  410. selectRoleLeft=[]
  411. })
  412. $("#mainBox .itemMsgBox .activeGoLeft", parent.document).on("click", function(e){//数据往左
  413. let selectDeptRightTmp = selectRoleRight
  414. if(selectDeptRightTmp.length == 0){
  415. $.alerModal({type:"tip",message:"请先选择内容",isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  416. return
  417. }
  418. let rightDeptLis = rightRoleLis
  419. for(let j = 0;j < selectDeptRightTmp.length;j++){
  420. for(let i = 0;i < rightDeptLis.length;i++){
  421. if(rightDeptLis[i].id == selectDeptRightTmp[j]){
  422. leftRoleLis.push(rightDeptLis[i])
  423. rightRoleLis.splice(i,1)
  424. }
  425. }
  426. }
  427. upDataLisRole(leftRoleLis,rightRoleLis)
  428. selectRoleRight=[]
  429. })
  430. $("#mainBox .itemMsgBox .confirmEdit", parent.document).on("click", function(){
  431. saveEditRole(userId,activePage)
  432. })
  433. }
  434. //保存科室修改
  435. function saveEdit(id,activePage){
  436. let ids = []
  437. if(rightDeptLis.length==0){
  438. $.alerModal({"message":"请选择科室",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  439. return
  440. }
  441. for(let i = 0;i < rightDeptLis.length;i++){
  442. ids.push(rightDeptLis[i].deptId)
  443. }
  444. const param = {
  445. "deptIds": ids,
  446. "userId": id
  447. }
  448. post(api.editUserDepts,param).then(res =>{
  449. if(res.data.code == '0'){
  450. // const data = res.data.data
  451. getTabData(activePage)
  452. $.alerModal({"message":"修改成功",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  453. $('#mainBox .itemMsgBox', parent.document).remove()
  454. }else{}
  455. }).catch((e) =>{
  456. })
  457. }
  458. //保存角色修改
  459. function saveEditRole(id,activePage){
  460. let ids = []
  461. if(rightRoleLis.length==0){
  462. $.alerModal({"message":"请选择角色",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  463. return
  464. }
  465. for(let i = 0;i < rightRoleLis.length;i++){
  466. ids.push(rightRoleLis[i].id)
  467. }
  468. const param = {
  469. "roleIds": ids,
  470. "userId": id
  471. }
  472. post(api.editUserRoles,param).then(res =>{
  473. if(res.data.code == '0'){
  474. // const data = res.data.data
  475. getTabData(activePage)
  476. $.alerModal({"message":"修改成功",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  477. $('#mainBox .itemMsgBox', parent.document).remove()
  478. }else{}
  479. }).catch((e) =>{
  480. })
  481. }
  482. //获取科室,角色列表
  483. function getmoduleTypeList(){
  484. post(api.getDeptListUser,{
  485. "inputStr": ""
  486. }).then(res =>{
  487. if(res.data.code == '0'){
  488. const moduleTypeList = res.data.data
  489. renderModuleTypeList(moduleTypeList)
  490. }else{}
  491. }).catch((e) =>{
  492. })
  493. post(api.listForUserRole).then(res =>{
  494. if(res.data.code == '0'){
  495. const moduleTypeList = res.data.data
  496. renderRoleTypeList(moduleTypeList)
  497. }else{}
  498. }).catch((e) =>{
  499. })
  500. }
  501. function renderRoleTypeList(moduleTypeList){
  502. let str = `<li class="modeTypeItem " data-id="" data-name="全部">全部</li>`
  503. for(let i = 0; i < moduleTypeList.length; i++){
  504. str += `<li class="modeTypeItem ellipsis" title=${moduleTypeList[i].name} data-id=${moduleTypeList[i].id} data-name=${moduleTypeList[i].name}> ${moduleTypeList[i].name}</li>`
  505. }
  506. $('.rejectList').html(str)
  507. bindRoleTypeSelect()
  508. }
  509. function renderModuleTypeList(moduleTypeList){
  510. let str = `<li class="modeTypeItem " data-id="" data-name="全部">全部</li>`
  511. for(let i = 0; i < moduleTypeList.length; i++){
  512. str += `<li class="modeTypeItem ellipsis" title=${moduleTypeList[i].deptName} data-id=${moduleTypeList[i].deptId} data-name=${moduleTypeList[i].deptName}> ${moduleTypeList[i].deptName}</li>`
  513. }
  514. $('.moduleTypeList').html(str)
  515. bindModuleTypeSelect()
  516. }
  517. //模块类型选择
  518. function bindModuleTypeSelect(){
  519. $('.moduleTypeList .modeTypeItem').on("click",function(){
  520. const modeTypeItemName = $(this).attr("data-name")
  521. const modeTypeItemId = $(this).attr("data-id")
  522. casesIdTemp =modeTypeItemId
  523. $('.selectModuleType').html(modeTypeItemName).attr("title",modeTypeItemName)
  524. $(".selectModuleType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  525. $(".moduleTypeList ").css("display", "none")
  526. })
  527. }
  528. function bindRoleTypeSelect(){
  529. $('.rejectList .modeTypeItem').on("click",function(){
  530. const modeTypeItemName = $(this).attr("data-name")
  531. const modeTypeItemId = $(this).attr("data-id")
  532. isRejectTemp =modeTypeItemId
  533. $('.selectReject').html(modeTypeItemName)
  534. $(".selectReject").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  535. $(".moduleTypeList ").css("display", "none")
  536. })
  537. }
  538. //是否启用选择
  539. function bindUsedSelect(){
  540. $('.usedItem').on("click",function(){
  541. const usedItemName = $(this).attr("data-name")
  542. const usedItemItemId = $(this).attr("data-id")
  543. isUsedTemp =usedItemItemId
  544. $('.selectUsed').html(usedItemName)
  545. $(".usedList").css("display", "none")
  546. $(".selectUsed").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  547. })
  548. }
  549. //分页渲染
  550. function renderPagination(totalPage,activePage,totalNum){
  551. let str = `<span class="totalSum">共${totalPage}页/${totalNum}条数据</span><span class="prePage"><img class="arrowPage" src=${arrowLeft} /></span>`
  552. if(totalPage <= 6){
  553. for(let i = 1; i <= totalPage; i++){
  554. str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
  555. }
  556. }else{
  557. if(activePage <= 3){ //选中页数小于4
  558. for(let i = 1; i <= 4; i++){
  559. str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
  560. }
  561. str += `<span class="more" >...</span>`
  562. str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
  563. } else if(activePage > totalPage -3){
  564. str += `<span class="pageNum page1" data-page=1>1</span>`
  565. str += `<span class="more" >...</span>`
  566. str += `<span class="pageNum ${'page'+(totalPage-3)}" data-page=${totalPage -3}>${totalPage -3}</span>`
  567. str += `<span class="pageNum ${'page'+(totalPage-2)}" data-page=${totalPage -2}>${totalPage -2}</span>`
  568. str += `<span class="pageNum ${'page'+(totalPage-1)}" data-page=${totalPage -1}>${totalPage -1}</span>`
  569. str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
  570. } else {
  571. str += `<span class="pageNum page1" data-page=1>1</span>`
  572. str += `<span class="more" >...</span>`
  573. str += `<span class="pageNum ${'page'+(activePage -1)}" data-page=${activePage -1}>${activePage -1}</span>`
  574. str += `<span class="pageNum ${'page'+activePage}" data-page=${activePage}>${activePage}</span>`
  575. str += `<span class="pageNum ${'page'+(activePage +1)}" data-page=${activePage +1}>${activePage +1}</span>`
  576. str += `<span class="more" >...</span>`
  577. str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
  578. }
  579. }
  580. str += `<span class="nextPage"><img class="arrowPage" src=${arrowRight} /></span>`
  581. $('.pagination').html(str)
  582. $('.page' + activePage).addClass('activePage')
  583. $(".pageNum").on("click", function(e){
  584. const activePageNow = Number($(this).attr('data-page'))
  585. getTabData(activePageNow)
  586. // renderPagination(totalPage,activePageNow,totalNum)
  587. })
  588. $(".prePage").on("click", function(e){
  589. let activePageNow = Number($(".activePage").attr('data-page'))
  590. if(activePageNow > 1){
  591. activePageNow--
  592. getTabData(activePageNow)
  593. // renderPagination(totalPage,activePageNow,totalNum)
  594. }
  595. })
  596. $(".nextPage").on("click", function(e){
  597. let activePageNow = Number($(".activePage").attr('data-page'))
  598. if(activePageNow < totalPage){
  599. activePageNow++
  600. getTabData(activePageNow)
  601. // renderPagination(totalPage,activePageNow,totalNum)
  602. }
  603. })
  604. }
  605. $(document).on("click", function(){
  606. $(".moduleTypeList ").css("display", "none")
  607. $(".rejectList ").css("display","none")
  608. $(".usedList ").css("display", "none")
  609. $(".selectModuleType .arrow").attr("src",iconDown)
  610. $(".selectReject .arrow").attr("src",iconDown)
  611. $(".selectUsed .arrow").attr("src",iconDown)
  612. })