userManager.js 26 KB

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