Browse Source

【bug修复】修复角色授权数据时切换数据范围字段报空错误

1253070437@qq.com 4 years ago
parent
commit
175d8b6359
1 changed files with 42 additions and 51 deletions
  1. 42 51
      _web/src/views/system/role/roleOrgForm.vue

+ 42 - 51
_web/src/views/system/role/roleOrgForm.vue

@ -8,49 +8,42 @@
    @cancel="handleCancel"
    @cancel="handleCancel"
  >
  >
    <a-spin :spinning="formLoading">
    <a-spin :spinning="formLoading">
    <a-form :form="form">
      <a-form-item
        label="授权范围"
        :labelCol="labelCol"
        :wrapperCol="wrapperCol"
        has-feedback
      >
        <a-select style="width: 100%" placeholder="请选择授权范围" v-decorator="['dataScopeType', {rules: [{ required: true, message: '请选择授权范围!' }]}]"  >
          <a-select-option v-for='(item,index) in dataScopeTypeData' :key="index" :value="item.code" @click="handleChange(item.code)">{{item.value}}</a-select-option>
        </a-select>
      </a-form-item>
      <div v-show="orgTreeShow">
      <a-form :form="form">
        <a-form-item
        <a-form-item
        label="选择机构"
        :labelCol="labelCol"
        :wrapperCol="wrapperCol"
          label="授权范围"
          :labelCol="labelCol"
          :wrapperCol="wrapperCol"
          has-feedback
        >
        >
        <a-tree
          v-model="checkedKeys"
          checkable
          checkStrictly
          :auto-expand-parent="autoExpandParent"
          :expanded-keys="expandedKeys"
          :tree-data="orgTreeData"
          :selected-keys="selectedKeys"
          :replaceFields="replaceFields"
          @expand="onExpand"
          @select="onSelect"
        />
      </a-form-item>
      </div>
    </a-form>
          <a-select style="width: 100%" placeholder="请选择授权范围" v-decorator="['dataScopeType', {rules: [{ required: true, message: '请选择授权范围!' }]}]"  >
            <a-select-option v-for='(item,index) in dataScopeTypeData' :key="index" :value="item.code" @click="handleChange(item.code)">{{item.value}}</a-select-option>
          </a-select>
        </a-form-item>
        <div v-show="orgTreeShow">
          <a-form-item
            label="选择机构"
            :labelCol="labelCol"
            :wrapperCol="wrapperCol"
          >
            <a-tree
              v-model="checkedKeys"
              checkable
              checkStrictly
              :auto-expand-parent="autoExpandParent"
              :expanded-keys="expandedKeys"
              :tree-data="orgTreeData"
              :selected-keys="selectedKeys"
              :replaceFields="replaceFields"
              @expand="onExpand"
              @select="onSelect"
            />
          </a-form-item>
        </div>
      </a-form>
    </a-spin>
    </a-spin>
  </a-modal>
  </a-modal>
</template>
</template>
<script>
<script>
  import { getOrgTree } from '@/api/modular/system/orgManage'
  import { getOrgTree } from '@/api/modular/system/orgManage'
  import { sysRoleOwnData,sysRoleGrantData } from '@/api/modular/system/roleManage'
  import { sysRoleOwnData,sysRoleGrantData } from '@/api/modular/system/roleManage'
@ -58,7 +51,6 @@
  export default {
  export default {
    data () {
    data () {
      return {
      return {
        labelCol: {
        labelCol: {
          style:{'padding-right':'20px'},
          style:{'padding-right':'20px'},
@ -86,7 +78,6 @@
        },
        },
        form: this.$form.createForm(this)
        form: this.$form.createForm(this)
      }
      }
    },
    },
    methods: {
    methods: {
@ -97,11 +88,9 @@
        this.formLoading = true
        this.formLoading = true
        this.sysDictTypeDropDown()
        this.sysDictTypeDropDown()
        this.form.getFieldDecorator('dataScopeType',{initialValue:record.dataScopeType.toString()})
        this.form.getFieldDecorator('dataScopeType',{initialValue:record.dataScopeType.toString()})
        this.handleChange(record.dataScopeType)
        this.handleChange(record.dataScopeType)
      },
      },
      /**
      /**
       * 获取字典数据
       * 获取字典数据
       */
       */
@ -134,13 +123,13 @@
       */
       */
      getOrgTree(){
      getOrgTree(){
        getOrgTree().then((res) =>{
        getOrgTree().then((res) =>{
           if(res.success){
             this.orgTreeData=res.data
             //默认展开
             this.orgTreeData.forEach(item=>{
               this.expandedKeys.push(item.id)
             })
           }
          if(res.success){
            this.orgTreeData=res.data
            //默认展开
            this.orgTreeData.forEach(item=>{
              this.expandedKeys.push(item.id)
            })
          }
        })
        })
      },
      },
@ -150,6 +139,7 @@
      sysRoleOwnData(record){
      sysRoleOwnData(record){
        sysRoleOwnData({id:record.id}).then((res)=>{
        sysRoleOwnData({id:record.id}).then((res)=>{
          if(res.success){
          if(res.success){
            console.log(JSON.stringify(res.data))
            this.checkedKeys=res.data
            this.checkedKeys=res.data
          }
          }
          this.formLoading = false
          this.formLoading = false
@ -161,8 +151,8 @@
        this.autoExpandParent = false;
        this.autoExpandParent = false;
      },
      },
      onCheck(checkedKeys) {
      onCheck(checkedKeys) {
        this.checkedKeys = checkedKeys;
        console.log(JSON.stringify(checkedKeys))
        console.log(JSON.stringify(checkedKeys))
        this.checkedKeys = checkedKeys
      },
      },
      onSelect(selectedKeys, info) {
      onSelect(selectedKeys, info) {
        this.selectedKeys = selectedKeys;
        this.selectedKeys = selectedKeys;
@ -173,10 +163,11 @@
        this.confirmLoading = true
        this.confirmLoading = true
        validateFields((errors, values) => {
        validateFields((errors, values) => {
          if (!errors) {
          if (!errors) {
            sysRoleGrantData({id:this.roleEntity.id,grantOrgIdList:this.checkedKeys.checked,dataScopeType:values.dataScopeType}).then((res) => {
            const checkedKeys=this.checkedKeys.checked === undefined? this.checkedKeys:this.checkedKeys.checked
            sysRoleGrantData({id:this.roleEntity.id,grantOrgIdList:checkedKeys,dataScopeType:values.dataScopeType}).then((res) => {
              this.confirmLoading = false
              if(res.success){
              if(res.success){
                this.$message.success('授权成功')
                this.$message.success('授权成功')
                this.confirmLoading = false
                this.$emit('ok', values)
                this.$emit('ok', values)
                this.handleCancel()
                this.handleCancel()
              }else{
              }else{