523b3e0c6e8ef7774788e4f12d83cb2180047008.svn-base 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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-tabs>
  26. </a-drawer>
  27. </template>
  28. <script>
  29. import ARow from 'ant-design-vue/es/grid/Row'
  30. import ACol from 'ant-design-vue/es/grid/Col'
  31. import { getAction,postAction } from '@/api/manage'
  32. export default {
  33. name: 'DepartDataruleModal',
  34. components: { ACol, ARow },
  35. data(){
  36. return {
  37. functionId:'',
  38. departId:'',
  39. visible:false,
  40. tabList: [{
  41. key: '1',
  42. tab: '数据规则',
  43. }, {
  44. key: '2',
  45. tab: '按钮权限',
  46. }],
  47. activeTabKey: '1',
  48. url:{
  49. datarule:"/sys/sysDepartPermission/datarule",
  50. },
  51. dataruleList:[],
  52. dataruleChecked:[]
  53. }
  54. },
  55. methods:{
  56. loadData(){
  57. getAction(`${this.url.datarule}/${this.functionId}/${this.departId}`).then(res=>{
  58. if(res.success){
  59. this.dataruleList = res.result.datarule
  60. let drChecked = res.result.drChecked
  61. if(drChecked){
  62. this.dataruleChecked = drChecked.split(",")
  63. }
  64. }
  65. })
  66. },
  67. saveDataruleForRole(){
  68. if(!this.dataruleChecked || this.dataruleChecked.length==0){
  69. this.$message.warning("请注意,现未勾选任何数据权限!")
  70. }
  71. let params = {
  72. permissionId:this.functionId,
  73. departId:this.departId,
  74. dataRuleIds:this.dataruleChecked.join(",")
  75. }
  76. postAction(this.url.datarule,params).then(res=>{
  77. if(res.success){
  78. this.$message.success(res.message)
  79. }else{
  80. this.$message.error(res.message)
  81. }
  82. })
  83. },
  84. show(functionId,departId){
  85. this.onReset()
  86. this.functionId = functionId
  87. this.departId = departId
  88. this.visible=true
  89. this.loadData()
  90. },
  91. onClose(){
  92. this.visible=false
  93. this.onReset()
  94. },
  95. onTabChange (key) {
  96. this.activeTabKey = key
  97. },
  98. onReset(){
  99. this.functionId=''
  100. this.departId=''
  101. this.dataruleList=[]
  102. this.dataruleChecked=[]
  103. }
  104. }
  105. }
  106. </script>
  107. <style scoped>
  108. </style>