{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-fvue\\src\\views\\main\\organizationPermission\\DataAuthDistribute.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\views\\main\\organizationPermission\\DataAuthDistribute.vue","mtime":1667327529934},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nconst eipAuthDialog = () => import('@/components/dialog/DataAuthDialog.vue')\r\nconst eipAuthkindDialog = () =>\r\n  import('@/components/dialog/DataAuthkindDialog.vue')\r\nimport req from '@/request.js'\r\nimport portal from '@/api/portal'\r\nimport {Message} from 'element-ui'\r\nexport default {\r\n  props: {},\r\n  components: {\r\n    eipAuthDialog,\r\n    eipAuthkindDialog,\r\n  },\r\n\r\n  data() {\r\n    return {\r\n      dialogVisible: false,\r\n      modelParams: {},\r\n      tabHeight: `${document.documentElement.clientHeight}` - 245,\r\n      displayFields: [],\r\n      multipleSelection: [],\r\n      currentAuthRow: null,\r\n      permissionMap: {},\r\n      rightLab: '',\r\n      permissionList1: [],\r\n      permissionList2: [\r\n        {title: '所有人', type: 'everyone'},\r\n        {title: '用户', type: 'user'},\r\n        {title: '组织', type: 'org'},\r\n        {title: '角色', type: 'role'},\r\n      ],\r\n      arry: [],\r\n    }\r\n  },\r\n  watch: {},\r\n  created() {},\r\n  mounted() {\r\n    this.permissionMap = {\r\n      user: '本人',\r\n      userPlus: '本人及直属下级',\r\n      org: '本组织数据',\r\n      orgPlus: '本组织及以下组织数据',\r\n      everyone: '所有',\r\n      orgs: '指定组织',\r\n      users: '指定用户',\r\n    }\r\n\r\n    this.arry = [\r\n      '0',\r\n      'user',\r\n      'userPlus',\r\n      'org',\r\n      'orgPlus',\r\n      'orgs',\r\n      'users',\r\n      'everyone',\r\n    ]\r\n    for (let key in this.permissionMap) {\r\n      this.permissionList1.push({\r\n        type: key,\r\n        title: this.permissionMap[key],\r\n      })\r\n    }\r\n    this.displayFields = [\r\n      {\r\n        id: '1',\r\n        limits: '[{\"type\":\"user\"}]',\r\n        desc: '测试假数据',\r\n        right: '[{\"type\":\"everyone\"}]',\r\n        memo: '测试假数据',\r\n      },\r\n      {\r\n        id: '2',\r\n        limits:\r\n          '[{\"type\":\"orgs\",\"id\":\"1366653717851541504,1368845159101501440\",\"name\":\"子公司,研发部\"}]',\r\n        desc: '测试假数据',\r\n        right: '[{\"type\":\"everyone\"}]',\r\n        memo: '测试假数据',\r\n      },\r\n    ]\r\n    console.log('this.displayFields', this.displayFields)\r\n  },\r\n  methods: {\r\n    handleClose() {\r\n      this.dialogVisible = false\r\n    },\r\n    showDialog(modelParams) {\r\n      this.modelParams = modelParams\r\n      this.dialogVisible = true\r\n      this.loadTable(modelParams.id)\r\n    },\r\n    loadTable(id) {\r\n      this.displayFields = []\r\n      let url =\r\n        '${portal}/uc/DataAccessDefined/v1/queryListDataAccessDefined?interfaceId=' +\r\n        id\r\n\r\n      req.get(url).then((response) => {\r\n        for (var i = 0; i < response.data.length; i++) {\r\n          let arryData = {}\r\n          arryData.controlType = response.data[i].type\r\n          arryData.id = response.data[i].id\r\n          let arryId = {}\r\n          arryId.type = this.arry[response.data[i].accessRangeType]\r\n          response.data[i].accessRangeId\r\n            ? (arryId.id = response.data[i].accessRangeId)\r\n            : null\r\n          response.data[i].rangeNameList\r\n            ? (arryId.name = response.data[i].rangeNameList)\r\n            : ''\r\n          arryData.limits = JSON.stringify([arryId])\r\n          this.displayFields.push(arryData)\r\n        }\r\n      })\r\n      this.multipleSelection = [];\r\n    },\r\n    // 添加列\r\n    addCustomColumn() {\r\n      let newData = {\r\n        desc: '',\r\n        memo: '',\r\n        right: '[]',\r\n        limits: '[{\"type\":\"user\"}]',\r\n      }\r\n      //   this.displayFields.push(newData)\r\n      this.setFieldRightDialog(newData, 1)\r\n    },\r\n    // 删除列\r\n    delCustomColumn() {\r\n      if(!this.multipleSelection.length){\r\n        this.$message.warning(\"请选择要删除的数据\");\r\n        return;\r\n      }else{\r\n        this.$confirm('是否确定删除选中数据?', '提示', {\r\n        confirmButtonText: '确定',\r\n        cancelButtonText: '取消',\r\n        type: 'warning'\r\n      })\r\n        .then(() => {\r\n          const ids = this.multipleSelection.map((item) => item.id)\r\n          let param = this.qs.stringify({\r\n            ids: ids.join(',')\r\n          });\r\n          let data = {\r\n            url: '${portal}/uc/DataAccessDefined/v1/deleteDataAccessDefinedByIds',\r\n            data: param,\r\n            method: \"delete\",\r\n            headers:{\r\n              'Content-type': 'application/x-www-form-urlencoded'\r\n            }\r\n          }\r\n          req\r\n            .request(data)\r\n            .then((response) => {\r\n              if (response.data && response.data.state) {\r\n                console.log()\r\n                Message.success({\r\n                  duration: 1500,\r\n                  message: response.data.message,\r\n                })\r\n                this.loadTable(this.modelParams.id)\r\n              } else {\r\n                Message.error(response.data.message || '失败')\r\n              }\r\n            })\r\n        })\r\n        .catch(() => {\r\n          this.$message({\r\n              type: 'info',\r\n              message: `已取消删除`,\r\n          })\r\n        })\r\n      }\r\n      \r\n    },\r\n    handleSelectionChange(val) {\r\n      this.multipleSelection = val\r\n    },\r\n    //显示权限信息\r\n    rightToDesc(right) {\r\n      if (right) {\r\n        right = JSON.parse(right)\r\n      } else {\r\n        return '无'\r\n      }\r\n      let desc = ''\r\n      let _this = this\r\n      right.forEach((r) => {\r\n        if (desc) {\r\n          desc += ' 和 '\r\n        }\r\n        var str = _this.permissionMap[r.type]\r\n        if (r.name) {\r\n          str += ':' + r.name\r\n        } else if (r.id) {\r\n          str += ':' + r.id\r\n        }\r\n        desc += str\r\n      })\r\n      return desc\r\n    },\r\n    //打开设置权限\r\n    async setFieldRightDialog(row, flag) {\r\n      console.log('row', row, this.permissionList2)\r\n      this.currentAuthRow = row\r\n      if (flag == 1) {\r\n        let conf = {\r\n          limits: JSON.parse(row.limits), //字符串转成对象\r\n          permissionList: this.permissionList1,\r\n        }\r\n        this.$refs.eipAuthDialog.showDialog(conf)\r\n      } else if (flag == 2) {\r\n        let right = {\r\n          type:\"none\"\r\n        }\r\n        if(row.controlType==\"其他\"){\r\n          right.type = \"otherAuth\"\r\n          let params = {\r\n            accessControlId: row.id\r\n          }\r\n          // 查询受控权限类型\r\n          await portal.getDataAuthControlType(params).then(res=>{\r\n            right.accessControlData = res\r\n          })\r\n        }else if(row.controlType==\"所有人\"){\r\n          right.type = \"everyone\"\r\n        }\r\n        let conf = {\r\n          right: right, //字符串转成对象\r\n          permissionList: this.permissionList2,\r\n        }\r\n        this.$refs.eipAuthkindDialog.showDialog(conf)\r\n      }\r\n    },\r\n    //设置权限\r\n    authDialogOnConfirm(data, name, flag) {\r\n      console.log('data11', data, this.currentAuthRow, flag)\r\n      if (this.currentAuthRow) {\r\n        if (flag == 1) {\r\n          let param = {\r\n            accessRangeType: 0,\r\n            interfaceId: this.modelParams.id,\r\n            interfaceName: this.modelParams.name,\r\n            // memo: this.currentAuthRow.memo,\r\n            // desc: this.currentAuthRow.desc,\r\n          }\r\n          this.currentAuthRow.id ? (param.id = this.currentAuthRow.id) : null\r\n          data[0].id ? (param.accessRangeId = data[0].id) : null\r\n          param.accessRangeType =\r\n            data[0].type == 'user'\r\n              ? 1\r\n              : data[0].type == 'userPlus'\r\n              ? 2\r\n              : data[0].type == 'org'\r\n              ? 3\r\n              : data[0].type == 'orgPlus'\r\n              ? 4\r\n              : data[0].type == 'orgs'\r\n              ? 5\r\n              : data[0].type == 'users'\r\n              ? 6\r\n              : data[0].type == 'everyone'\r\n              ? 7\r\n              : null\r\n          console.log('param', param)\r\n          req\r\n            .post(\r\n              '${portal}/uc/DataAccessDefined/v1/saveDataAccessDefined',\r\n              param\r\n            )\r\n            .then((response) => {\r\n              if (response.data && response.data.state) {\r\n                Message.success({\r\n                  duration: 1500,\r\n                  message: response.data.message,\r\n                })\r\n                this.loadTable(this.modelParams.id)\r\n              } else {\r\n                Message.error(response.data.message || '失败')\r\n              }\r\n            })\r\n        } else if (flag == 2) {\r\n          let param = {\r\n            accessControlType: 0,\r\n            accessDefinedId: this.currentAuthRow.id,\r\n          }\r\n          for (var i = 0; i < data.length; i++) {\r\n            param.accessControlType = 2\r\n            if (data[i].type == 'user') {\r\n              param.personList = data[i].id\r\n            } else if (data[i].type == 'org') {\r\n              param.orgList = data[i].id\r\n            } else if (data[i].type == 'role') {\r\n              param.roleList = data[i].id\r\n            } else if (data[i].type == 'everyone') {\r\n              param.accessControlType = 1\r\n            }\r\n          }\r\n\r\n          console.log('param', param)\r\n          req\r\n            .post(\r\n              '${portal}/uc/DataAccessControl/v1/saveDataAccessDefined',\r\n              param\r\n            )\r\n            .then((response) => {\r\n              if (response.data && response.data.state) {\r\n                Message.success({\r\n                  duration: 1500,\r\n                  message: response.data.message,\r\n                })\r\n                this.loadTable(this.modelParams.id)\r\n              } else {\r\n                Message.error(response.data.message || '失败')\r\n              }\r\n            })\r\n        }\r\n      }\r\n    },\r\n  },\r\n}\r\n",null]}