userManager.js 25 KB

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