{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\common\\HtDeleteButton.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\common\\HtDeleteButton.vue","mtime":1667327529075},{"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\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 },\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 console.log(this.elTable, this.elTable.selection, this.row)\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 //判断是否是合同管理传递的参数,因为合同管理的对象数据格式需要特殊处理\r\n if (item.contract) {\r\n ids.push(item.contract[this.pk])\r\n } else {\r\n ids.push(item[this.pk])\r\n }\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 \r\n",null]}