From accebdce93486d3b4f26e55ffdea047549cce20c Mon Sep 17 00:00:00 2001
From: cuijian <cuijian@xalxzn.com>
Date: 星期一, 28 七月 2025 21:12:38 +0800
Subject: [PATCH] Merge branch 'master' of http://125.76.225.53:18448/r/xhj/vue_mdc_xhj

---
 src/views/mdc/base/modules/DepartList/DepartDataruleModal.vue |  124 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 124 insertions(+), 0 deletions(-)

diff --git a/src/views/mdc/base/modules/DepartList/DepartDataruleModal.vue b/src/views/mdc/base/modules/DepartList/DepartDataruleModal.vue
new file mode 100644
index 0000000..b43f9d0
--- /dev/null
+++ b/src/views/mdc/base/modules/DepartList/DepartDataruleModal.vue
@@ -0,0 +1,124 @@
+<template>
+  <a-drawer
+    title="鏁版嵁瑙勫垯/鎸夐挳鏉冮檺閰嶇疆"
+    width="365"
+    :closable="false"
+    @close="onClose"
+    :visible="visible"
+  >
+    <a-tabs defaultActiveKey="1">
+      <a-tab-pane tab="鏁版嵁瑙勫垯" key="1">
+
+        <a-checkbox-group v-model="dataruleChecked" v-if="dataruleList.length>0">
+          <a-row>
+            <a-col :span="24" v-for="(item,index) in dataruleList" :key=" 'dr'+index ">
+              <a-checkbox :value="item.id">{{ item.ruleName }}</a-checkbox>
+            </a-col>
+
+            <a-col :span="24">
+              <div style="width: 100%;margin-top: 15px">
+                <a-button @click="saveDataruleForRole" type="primary" size="small" icon="save">鐐瑰嚮淇濆瓨</a-button>
+              </div>
+            </a-col>
+          </a-row>
+        </a-checkbox-group>
+        <div v-else><h3>鏃犻厤缃俊鎭�!</h3></div>
+
+      </a-tab-pane>
+    </a-tabs>
+
+  </a-drawer>
+</template>
+
+<script>
+  import ARow from 'ant-design-vue/es/grid/Row'
+  import ACol from 'ant-design-vue/es/grid/Col'
+  import { getAction,postAction } from '@/api/manage'
+
+  export default {
+    name: 'DepartDataruleModal',
+    components: { ACol, ARow },
+    data(){
+      return {
+        functionId:'',
+        departId:'',
+        visible:false,
+        tabList: [{
+          key: '1',
+          tab: '鏁版嵁瑙勫垯',
+        }, {
+          key: '2',
+          tab: '鎸夐挳鏉冮檺',
+        }],
+        activeTabKey: '1',
+        url:{
+          datarule:"/sys/sysDepartPermission/datarule",
+        },
+        dataruleList:[],
+        dataruleChecked:[]
+      }
+    },
+    methods:{
+      loadData(){
+        getAction(`${this.url.datarule}/${this.functionId}/${this.departId}`).then(res=>{
+          if(res.success){
+            this.dataruleList = res.result.datarule
+            let drChecked = res.result.drChecked
+            if(drChecked){
+              this.dataruleChecked = drChecked.split(",")
+            }
+          }
+        })
+      },
+      saveDataruleForRole(){
+        if(!this.dataruleChecked || this.dataruleChecked.length==0){
+          this.$message.warning("璇锋敞鎰忥紝鐜版湭鍕鹃�変换浣曟暟鎹潈闄�!")
+        }
+        let params = {
+          permissionId:this.functionId,
+          departId:this.departId,
+          dataRuleIds:this.dataruleChecked.join(",")
+        }
+        postAction(this.url.datarule,params).then(res=>{
+          if(res.success){
+            // this.$message.success(res.message)
+            this.$notification.warning({
+              message:'娑堟伅',
+              description:res.message
+            });
+          }else{
+            // this.$message.error(res.message)
+            this.$notification.warning({
+              message:'娑堟伅',
+              description:res.message
+            });
+          }
+        })
+      },
+      show(functionId,departId){
+        this.onReset()
+        this.functionId = functionId
+        this.departId = departId
+        this.visible=true
+        this.loadData()
+      },
+      onClose(){
+        this.visible=false
+        this.onReset()
+      },
+      onTabChange (key) {
+        this.activeTabKey = key
+      },
+      onReset(){
+        this.functionId=''
+        this.departId=''
+        this.dataruleList=[]
+        this.dataruleChecked=[]
+      }
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>
\ No newline at end of file

--
Gitblit v1.9.3