index.vue 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <script>
  2. import { rebacktWork } from "@/api/purchase/workSpace.js";
  3. export default {
  4. name: "OpenOrClose",
  5. dicts: ["oa_templete_id"],
  6. props: {
  7. selectData: {
  8. type: Array,
  9. default: () => [],
  10. },
  11. },
  12. data() {
  13. return {
  14. // title: "撤回",
  15. title: "作废",
  16. loading: false,
  17. };
  18. },
  19. computed: {
  20. disabled: {
  21. get() {
  22. const { selectData } = this;
  23. if (selectData.length < 1) {
  24. return true;
  25. }
  26. return false;
  27. },
  28. set() {},
  29. },
  30. },
  31. methods: {
  32. //收回
  33. async useClick() {
  34. try {
  35. this.$modal.loading("收回中...");
  36. let row = this.selectData[0];
  37. let params = {
  38. billCode: row.code,
  39. fdId: row.flowId,
  40. fdTemplateId: this.dict.type.oa_templete_id.find((item) => {
  41. return item.label == "采购需求单";
  42. }).value,
  43. billMaker: row.createBy,
  44. };
  45. let { code, msg } = await rebacktWork(params);
  46. if (code === 200) {
  47. this.$notify.success(msg);
  48. this.$emit("success");
  49. }
  50. } catch (error) {
  51. } finally {
  52. this.$modal.closeLoading();
  53. }
  54. },
  55. },
  56. created() {},
  57. };
  58. </script>
  59. <template>
  60. <el-button
  61. v-loading="loading"
  62. @click="useClick"
  63. :disabled="disabled"
  64. v-bind="$attrs"
  65. >{{ title }}</el-button
  66. >
  67. </template>