const $ = require('jquery'); require("../css/itemManager.less"); require('./../resource/jquery-ui/jquery-ui.min.js'); require('./modal.js'); const {api} = require('./api.js') const {post} = require('./utils.js') const switchIconOpen = require("./../images/btn_open.png") const switchIconClose = require("./../images/btn_close.png") const iconDown= require("./../images/arrow_down.png") const iconUp = require("./../images/arrow_up.png") const arrowLeft= require("./../images/arrow_left.png") const arrowRight = require("./../images/arrow_right.png") let casesId="", name="", isReject ="", isUsed ="",casesIdTemp="", nameTemp="", isRejectTemp ="", isUsedTemp ="" $(".selectModuleType").append(`下拉`) $(".selectReject").append(`下拉`) $(".selectUsed").append(`下拉`) //获取表格数据 function getTabData(activePage){ let params = { "current": activePage, "deptId": casesId||"", "linkman": name||"", "roleId": isReject||"", "size": 15 } post(api.userPage,params).then(res =>{ if(res.data.code == '0'){ const data = res.data.data.records const totalPage = res.data.data.pages const totalNum = res.data.data.total renderTab(data,activePage) if(totalPage > 1){ renderPagination(totalPage,Number(activePage),totalNum) } else{ $('.pagination').html("") } }else{} }).catch((e) =>{ }) } $(".moduleItemInp").on("input", function(e){ const val = $(this).val().trim() nameTemp = val }) $(".filter").on("click", function(e){ casesId=casesIdTemp, name=nameTemp, isReject =isRejectTemp, isUsed =isUsedTemp getTabData(1) }) $('.selectModuleType').on("click", function(e){ e.stopPropagation() $(".rejectList ").css("display","none") $(".usedList ").css("display", "none") $(".selectReject .arrow").attr("src",iconDown) $(".selectUsed .arrow").attr("src",iconDown) const showList = $(".moduleTypeList ").css("display") if(showList == "none" ||!showList){ $(".moduleTypeList ").css("display","block") $(".selectModuleType .arrow").attr("src",iconUp) }else{ $(".moduleTypeList ").css("display", "none") $(".selectModuleType .arrow").attr("src",iconDown) } }) $('.selectReject').on("click", function(e){ e.stopPropagation() $(".moduleTypeList ").css("display", "none") $(".usedList ").css("display", "none") $(".selectModuleType .arrow").attr("src",iconDown) $(".selectUsed .arrow").attr("src",iconDown) const showList = $(".rejectList ").css("display") if(showList == "none" ||!showList){ $(".rejectList ").css("display","block") $(".selectUsed .arrow").attr("src",iconUp) }else{ $(".rejectList ").css("display", "none") $(".selectUsed .arrow").attr("src",iconDown) } }) $('.selectUsed').on("click", function(e){ e.stopPropagation() $(".moduleTypeList ").css("display", "none") $(".rejectList ").css("display","none") $(".selectModuleType .arrow").attr("src",iconDown) $(".selectReject .arrow").attr("src",iconDown) const showList = $(".usedList ").css("display") if(showList == "none" ||!showList){ $(".usedList ").css("display","block") $(".selectUsed .arrow").attr("src",iconUp) }else{ $(".usedList ").css("display", "none") $(".selectUsed .arrow").attr("src",iconDown) } }) bindUsedSelect() getTabData(1) getmoduleTypeList() function renderTab(data,activePage){ let str = `` for(let i = 0; i < data.length; i++){ const item = data[i] str += ` ${(activePage-1)*10 + i+1} ${item.linkman} ${item.deptName||''} ${item.roleName||''}

${item.status==1?"启用":"禁用"}

科室编辑角色编辑 ` } $('tbody').html(str) bindEdit(data,activePage) } //获取用户科室列表 function getDeptList(id,activePage,title){ post(api.getUserDepts,{userId:id}).then(res =>{ let data = res.data; if(data.code == '0'){ let result = data.data console.log(result,'科室列表') editItem(result,activePage,title) }else{} }).catch((e) =>{ }) } //获取用户角色列表 function getUserList(id,activePage,title){ post(api.getUserRoles,{userId:id}).then(res =>{ let data = res.data; if(data.code == '0'){ const result = data.data console.log(result,'角色列表') editItemRole(result,activePage,title) }else{} }).catch((e) =>{ }) } function bindEdit(data,activePage){ $('.editItem').click(function(e){ const index = $(this).parents("tr").attr('data-index') const id = $(this).attr('data-id') const title = $(this).attr('data-title') if(title == "科室"){ getDeptList(id,activePage,title) }else if(title == "角色"){ getUserList(id,activePage,title) } }) $(".roleSelect").click(function(){ const id = $(this).attr('data-id') const status = $(this).attr('data-status') let that = $(this); if(status == 1){ toggleOnOff(api.disable,id,that,status) }else{ toggleOnOff(api.enable,id,that,status) } }) } //启用禁用 function toggleOnOff(url,id,that,status){ $.alerModal({type:"loading"}); post(url,{userId:id}).then(res =>{ if(res.data.code == '0'){ // const data = res.data.data that.attr({ "src":status==1?switchIconClose:switchIconOpen, "data-status":status==1?0:1 }) that.siblings().html(status==1?' 禁用':' 启用') $.alerModal({"message":"修改成功",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)}); }else{ console.log(res) } $(".loading").remove() }).catch((e) =>{ $(".loading").remove() }) } let leftDeptLis = [], rightDeptLis = [], selectDeptLeft = [], selectDeptRight = [], leftRoleLis = [], rightRoleLis = [], selectRoleLeft = [], selectRoleRight = []; function upDataLis(leftDeptLis,rightDeptLis){ let allLeft = '',allRight = ''; for(let i = 0;i < leftDeptLis.length;i++){//未选中 allLeft+=`
  • ${leftDeptLis[i].deptName}
  • ` } for(let j = 0;j < rightDeptLis.length;j++){//已选 allRight+=`
  • ${rightDeptLis[j].deptName}
  • ` } $("#partLeftNo", parent.document).html(allLeft) $("#partRightSelect", parent.document).html(allRight) $(".partLeft li", parent.document).click(function(){ let dataFlg = $(this).attr("data-flg") let deptId = $(this).attr("data-id") $(this).attr({ "data-flg":dataFlg == 0?1:0 }).children("img").attr({ src:dataFlg == 0?require('../images/icon_check.png'):require('../images/icon_unchecked.png'), }) if(dataFlg == 0){ selectDeptLeft.push(deptId) }else{ selectDeptLeft.splice($.inArray(deptId,selectDeptLeft),1) } }) $(".partRight li", parent.document).click(function(){ let dataFlg = $(this).attr("data-flg") let deptId = $(this).attr("data-id") $(this).attr({ "data-flg":dataFlg == 0?1:0 }).children("img").attr({ src:dataFlg == 0?require('../images/icon_check.png'):require('../images/icon_unchecked.png') }) if(dataFlg == 0){ selectDeptRight.push(deptId) }else{ selectDeptRight.splice($.inArray(deptId,selectDeptRight),1) } }) } function upDataLisRole(leftDeptLis,rightDeptLis){ let allLeft = '',allRight = ''; for(let i = 0;i < leftDeptLis.length;i++){//未选中 allLeft+=`
  • ${leftDeptLis[i].name}
  • ` } for(let j = 0;j < rightDeptLis.length;j++){//已选 allRight+=`
  • ${rightDeptLis[j].name}
  • ` } $("#partLeftNo", parent.document).html(allLeft) $("#partRightSelect", parent.document).html(allRight) $(".partLeft li", parent.document).click(function(){ let dataFlg = $(this).attr("data-flg") let deptId = $(this).attr("data-id") $(this).attr({ "data-flg":dataFlg == 0?1:0 }).children("img").attr({ src:dataFlg == 0?require('../images/icon_check.png'):require('../images/icon_unchecked.png'), }) if(dataFlg == 0){ selectRoleLeft.push(deptId) }else{ selectRoleLeft.splice($.inArray(deptId,selectRoleLeft),1) } }) $(".partRight li", parent.document).click(function(){ let dataFlg = $(this).attr("data-flg") let deptId = $(this).attr("data-id") $(this).attr({ "data-flg":dataFlg == 0?1:0 }).children("img").attr({ src:dataFlg == 0?require('../images/icon_check.png'):require('../images/icon_unchecked.png') }) if(dataFlg == 0){ selectRoleRight.push(deptId) }else{ selectRoleRight.splice($.inArray(deptId,selectRoleRight),1) } }) } //修改科室 function editItem(result,activePage,title){ $('.pop-box').remove() $('.container').append('
    ') let userId = result.userId; leftDeptLis = result.notSelDepts||[],rightDeptLis = result.selDepts||[]; const str = `

    ${title}编辑 关闭

    所有${title}

    已选${title}

    保存
    ` $("#mainBox", parent.document).append(str) upDataLis(leftDeptLis,rightDeptLis) $("#mainBox .itemMsgBox .iconClose", parent.document).on("click", function(e){ $("#mainBox .itemMsgBox", parent.document).remove() }) $("#mainBox .itemMsgBox .activeGoRight", parent.document).on("click", function(e){//数据往右 let selectDeptLeftTmp = selectDeptLeft if(selectDeptLeftTmp.length == 0){ $.alerModal({type:"tip",message:"请先选择内容",isFather: true, fatherWrapper: $("#mainBox", parent.document)}); return } for(let j = 0;j < selectDeptLeftTmp.length;j++){ for(let i = 0;i < leftDeptLis.length;i++){ if(leftDeptLis[i].deptId == selectDeptLeftTmp[j]){ rightDeptLis.push(leftDeptLis[i]) leftDeptLis.splice(i,1) } } } upDataLis(leftDeptLis,rightDeptLis) selectDeptLeft=[] }) $("#mainBox .itemMsgBox .activeGoLeft", parent.document).on("click", function(e){//数据往左 let selectDeptRightTmp = selectDeptRight if(selectDeptRightTmp.length == 0){ $.alerModal({type:"tip",message:"请先选择内容",isFather: true, fatherWrapper: $("#mainBox", parent.document)}); return } for(let j = 0;j < selectDeptRightTmp.length;j++){ for(let i = 0;i < rightDeptLis.length;i++){ if(rightDeptLis[i].deptId == selectDeptRightTmp[j]){ leftDeptLis.push(rightDeptLis[i]) rightDeptLis.splice(i,1) } } } upDataLis(leftDeptLis,rightDeptLis) selectDeptRight=[] }) $("#mainBox .itemMsgBox .confirmEdit", parent.document).on("click", function(){ saveEdit(userId,activePage) }) } //修改角色 function editItemRole(result,activePage,title){ $('.pop-box').remove() $('.container').append('
    ') let userId = result.userId; leftRoleLis = result.notSelRoles||[],rightRoleLis = result.selRoles||[]; const str = `

    ${title}编辑 关闭

    所有${title}

    已选${title}

    保存
    ` $("#mainBox", parent.document).append(str) upDataLisRole(leftRoleLis,rightRoleLis) $("#mainBox .itemMsgBox .iconClose", parent.document).on("click", function(e){ $("#mainBox .itemMsgBox", parent.document).remove() }) $("#mainBox .itemMsgBox .activeGoRight", parent.document).on("click", function(e){//数据往右 let selectDeptLeftTmp = selectRoleLeft if(selectDeptLeftTmp.length == 0){ $.alerModal({type:"tip",message:"请先选择内容",isFather: true, fatherWrapper: $("#mainBox", parent.document)}); return } let leftDeptLis = leftRoleLis for(let j = 0;j < selectDeptLeftTmp.length;j++){ for(let i = 0;i < leftDeptLis.length;i++){ if(leftDeptLis[i].id == selectDeptLeftTmp[j]){ rightRoleLis.push(leftDeptLis[i]) leftRoleLis.splice(i,1) } } } console.log(leftRoleLis,rightRoleLis) upDataLisRole(leftRoleLis,rightRoleLis) selectRoleLeft=[] }) $("#mainBox .itemMsgBox .activeGoLeft", parent.document).on("click", function(e){//数据往左 let selectDeptRightTmp = selectRoleRight if(selectDeptRightTmp.length == 0){ $.alerModal({type:"tip",message:"请先选择内容",isFather: true, fatherWrapper: $("#mainBox", parent.document)}); return } let rightDeptLis = rightRoleLis for(let j = 0;j < selectDeptRightTmp.length;j++){ for(let i = 0;i < rightDeptLis.length;i++){ if(rightDeptLis[i].id == selectDeptRightTmp[j]){ leftRoleLis.push(rightDeptLis[i]) rightRoleLis.splice(i,1) } } } upDataLisRole(leftRoleLis,rightRoleLis) selectRoleRight=[] }) $("#mainBox .itemMsgBox .confirmEdit", parent.document).on("click", function(){ saveEditRole(userId,activePage) }) } //保存科室修改 function saveEdit(id,activePage){ let ids = [] if(rightDeptLis.length==0){ $.alerModal({"message":"请选择科室",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)}); return } for(let i = 0;i < rightDeptLis.length;i++){ ids.push(rightDeptLis[i].deptId) } const param = { "deptIds": ids, "userId": id } post(api.editUserDepts,param).then(res =>{ if(res.data.code == '0'){ // const data = res.data.data getTabData(activePage) $.alerModal({"message":"修改成功",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)}); $('#mainBox .itemMsgBox', parent.document).remove() }else{} }).catch((e) =>{ }) } //保存角色修改 function saveEditRole(id,activePage){ let ids = [] if(rightRoleLis.length==0){ $.alerModal({"message":"请选择角色",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)}); return } for(let i = 0;i < rightRoleLis.length;i++){ ids.push(rightRoleLis[i].id) } const param = { "roleIds": ids, "userId": id } post(api.editUserRoles,param).then(res =>{ if(res.data.code == '0'){ // const data = res.data.data getTabData(activePage) $.alerModal({"message":"修改成功",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)}); $('#mainBox .itemMsgBox', parent.document).remove() }else{} }).catch((e) =>{ }) } //获取科室,角色列表 function getmoduleTypeList(){ post(api.getDeptListUser,{ "inputStr": "" }).then(res =>{ if(res.data.code == '0'){ const moduleTypeList = res.data.data renderModuleTypeList(moduleTypeList) }else{} }).catch((e) =>{ }) post(api.listForUserRole).then(res =>{ if(res.data.code == '0'){ const moduleTypeList = res.data.data renderRoleTypeList(moduleTypeList) }else{} }).catch((e) =>{ }) } function renderRoleTypeList(moduleTypeList){ let str = `
  • 全部
  • ` for(let i = 0; i < moduleTypeList.length; i++){ str += `
  • ${moduleTypeList[i].name}
  • ` } $('.rejectList').html(str) bindRoleTypeSelect() } function renderModuleTypeList(moduleTypeList){ let str = `
  • 全部
  • ` for(let i = 0; i < moduleTypeList.length; i++){ str += `
  • ${moduleTypeList[i].deptName}
  • ` } $('.moduleTypeList').html(str) bindModuleTypeSelect() } //模块类型选择 function bindModuleTypeSelect(){ $('.moduleTypeList .modeTypeItem').on("click",function(){ const modeTypeItemName = $(this).attr("data-name") const modeTypeItemId = $(this).attr("data-id") casesIdTemp =modeTypeItemId $('.selectModuleType').html(modeTypeItemName).attr("title",modeTypeItemName) $(".selectModuleType").append(`下拉`) $(".moduleTypeList ").css("display", "none") }) } function bindRoleTypeSelect(){ $('.rejectList .modeTypeItem').on("click",function(){ const modeTypeItemName = $(this).attr("data-name") const modeTypeItemId = $(this).attr("data-id") isRejectTemp =modeTypeItemId $('.selectReject').html(modeTypeItemName) $(".selectReject").append(`下拉`) $(".moduleTypeList ").css("display", "none") }) } //是否启用选择 function bindUsedSelect(){ $('.usedItem').on("click",function(){ const usedItemName = $(this).attr("data-name") const usedItemItemId = $(this).attr("data-id") isUsedTemp =usedItemItemId $('.selectUsed').html(usedItemName) $(".usedList").css("display", "none") $(".selectUsed").append(`下拉`) }) } //分页渲染 function renderPagination(totalPage,activePage,totalNum){ let str = `共${totalPage}页/${totalNum}条数据` if(totalPage <= 6){ for(let i = 1; i <= totalPage; i++){ str += `${i}` } }else{ if(activePage <= 3){ //选中页数小于4 for(let i = 1; i <= 4; i++){ str += `${i}` } str += `...` str += `${totalPage}` } else if(activePage > totalPage -3){ str += `1` str += `...` str += `${totalPage -3}` str += `${totalPage -2}` str += `${totalPage -1}` str += `${totalPage}` } else { str += `1` str += `...` str += `${activePage -1}` str += `${activePage}` str += `${activePage +1}` str += `...` str += `${totalPage}` } } str += `` $('.pagination').html(str) $('.page' + activePage).addClass('activePage') $(".pageNum").on("click", function(e){ const activePageNow = Number($(this).attr('data-page')) getTabData(activePageNow) // renderPagination(totalPage,activePageNow,totalNum) }) $(".prePage").on("click", function(e){ let activePageNow = Number($(".activePage").attr('data-page')) if(activePageNow > 1){ activePageNow-- getTabData(activePageNow) // renderPagination(totalPage,activePageNow,totalNum) } }) $(".nextPage").on("click", function(e){ let activePageNow = Number($(".activePage").attr('data-page')) if(activePageNow < totalPage){ activePageNow++ getTabData(activePageNow) // renderPagination(totalPage,activePageNow,totalNum) } }) } $(document).on("click", function(){ $(".moduleTypeList ").css("display", "none") $(".rejectList ").css("display","none") $(".usedList ").css("display", "none") $(".selectModuleType .arrow").attr("src",iconDown) $(".selectReject .arrow").attr("src",iconDown) $(".selectUsed .arrow").attr("src",iconDown) })