{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\common\\HtDeleteButton.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\common\\HtDeleteButton.vue","mtime":1675071991678},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\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\r\nimport req from \"@/request.js\";\r\nexport default {\r\n  name: \"ht-delete-button\",\r\n  props: {\r\n    type: {\r\n      type: String,\r\n      default: \"danger\"\r\n    },\r\n    requestMethod: {\r\n      type: String,\r\n      default: \"DELETE\"\r\n    },\r\n    url: {\r\n      type: String,\r\n      required: true\r\n    },\r\n    pk: {\r\n      type: String,\r\n      default: \"id\"\r\n    },\r\n    parameter: {\r\n      type: String,\r\n      default: \"ids\"\r\n    },\r\n    pureData: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    htTable: {\r\n      type: Object\r\n    },\r\n    row: {\r\n      type: Object\r\n    },\r\n    ignoreTenant: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      fullscreenLoading: false,\r\n      elTable: null\r\n    };\r\n  },\r\n  methods: {\r\n    async handleDelete() {\r\n      this.elTable = this.htTable;\r\n      if (this.htTable.$refs && this.htTable.$refs.htTable) {\r\n        this.elTable = this.htTable.$refs.htTable;\r\n      }\r\n      if (\r\n        this.elTable &&\r\n        this.elTable.selection &&\r\n        this.elTable.selection.length == 0 &&\r\n        !this.row\r\n      ) {\r\n        this.$message.error(\"请至少选择一条数据\");\r\n        return;\r\n      }\r\n\r\n      let ids = [];\r\n\r\n      if (this.row) {\r\n        ids.push(this.row[this.pk]);\r\n      } else {\r\n        for (let item of this.elTable.selection) {\r\n          if(!this.ignoreTenant && !this.$store.state.tenant.tenantId && item.tenantId && this.$store.state.login.currentUser.userAttrs.tenantId != item.tenantId ){\r\n            this.$message.error(\"不能删除平台的公共数据\");\r\n            return ;\r\n          }\r\n          ids.push(item[this.pk]);\r\n        }\r\n      }\r\n\r\n      let params = {},\r\n        data = null;\r\n      params[this.parameter] = ids.join(\",\");\r\n      // 如果是纯文本作为参数，则直接传递文本作为参数\r\n      if (this.pureData) {\r\n        params = null;\r\n        data = ids.join(\",\");\r\n      }\r\n\r\n      this.fullscreenLoading = true;\r\n      let response = await req\r\n        .request({\r\n          params: params,\r\n          data: data,\r\n          url: this.url,\r\n          method: this.requestMethod\r\n        })\r\n        .finally(() => {\r\n          this.fullscreenLoading = false;\r\n        });\r\n\r\n      if (response.data && response.data.state) {\r\n        this.$emit(\"after-delete\");\r\n        this.htTable.load();\r\n        this.$message({\r\n          message: response.data.message || \"操作成功\",\r\n          showClose: true,\r\n          type: \"success\"\r\n        });\r\n      }\r\n    }\r\n  }\r\n};\r\n",null]}