7b8f9ec485798cd37bf37016d6404de92c568a54.svn-base 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <template>
  2. <a-drawer
  3. title="数据规则/按钮权限配置"
  4. width="365"
  5. :closable="false"
  6. @close="onClose"
  7. :visible="visible"
  8. >
  9. <a-tabs defaultActiveKey="1">
  10. <a-tab-pane tab="数据规则" key="1">
  11. <a-checkbox-group v-model="dataruleChecked" v-if="dataruleList.length>0">
  12. <a-row>
  13. <a-col :span="24" v-for="(item,index) in dataruleList" :key=" 'dr'+index ">
  14. <a-checkbox :value="item.id">{{ item.ruleName }}</a-checkbox>
  15. </a-col>
  16. <a-col :span="24">
  17. <div style="width: 100%;margin-top: 15px">
  18. <a-button @click="saveDataruleForRole" type="primary" size="small" icon="save">点击保存</a-button>
  19. </div>
  20. </a-col>
  21. </a-row>
  22. </a-checkbox-group>
  23. <div v-else><h3>无配置信息!</h3></div>
  24. </a-tab-pane>
  25. <!--<a-tab-pane tab="按钮权限" key="2">敬请期待!!!</a-tab-pane>-->
  26. </a-tabs>
  27. </a-drawer>
  28. </template>
  29. <script>
  30. import ARow from 'ant-design-vue/es/grid/Row'
  31. import ACol from 'ant-design-vue/es/grid/Col'
  32. import { getAction,postAction } from '@/api/manage'
  33. export default {
  34. name: 'DeptRoleDataruleModal',
  35. components: { ACol, ARow },
  36. data(){
  37. return {
  38. departId:'',
  39. functionId:'',
  40. roleId:'',
  41. visible:false,
  42. tabList: [{
  43. key: '1',
  44. tab: '数据规则',
  45. }, {
  46. key: '2',
  47. tab: '按钮权限',
  48. }],
  49. activeTabKey: '1',
  50. url:{
  51. datarule:"/sys/sysDepartRole/datarule",
  52. },
  53. dataruleList:[],
  54. dataruleChecked:[]
  55. }
  56. },
  57. methods:{
  58. loadData(){
  59. getAction(`${this.url.datarule}/${this.functionId}/${this.departId}/${this.roleId}`).then(res=>{
  60. console.log(res)
  61. if(res.success){
  62. this.dataruleList = res.result.datarule
  63. let drChecked = res.result.drChecked
  64. if(drChecked){
  65. this.dataruleChecked = drChecked.split(",")
  66. }
  67. }
  68. })
  69. },
  70. saveDataruleForRole(){
  71. if(!this.dataruleChecked || this.dataruleChecked.length==0){
  72. this.$message.warning("请注意,现未勾选任何数据权限!")
  73. }
  74. let params = {
  75. permissionId:this.functionId,
  76. roleId:this.roleId,
  77. dataRuleIds:this.dataruleChecked.join(",")
  78. }
  79. console.log("保存数据权限",params)
  80. postAction(this.url.datarule,params).then(res=>{
  81. if(res.success){
  82. this.$message.success(res.message)
  83. }else{
  84. this.$message.error(res.message)
  85. }
  86. })
  87. },
  88. show(functionId,departId,roleId){
  89. this.onReset()
  90. this.departId = departId
  91. this.functionId = functionId
  92. this.roleId = roleId
  93. this.visible=true
  94. this.loadData()
  95. },
  96. onClose(){
  97. this.visible=false
  98. this.onReset()
  99. },
  100. onTabChange (key) {
  101. this.activeTabKey = key
  102. },
  103. onReset(){
  104. this.functionId=''
  105. this.roleId=''
  106. this.dataruleList=[]
  107. this.dataruleChecked=[]
  108. }
  109. }
  110. }
  111. </script>
  112. <style scoped>
  113. </style>