itemOpen.vue 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <!-- 行打开 -->
  2. <script>
  3. import orderApi from "@/api/business/purchase/purchase-order";
  4. export default {
  5. name: "itemOpen",
  6. props: {
  7. selectData: {
  8. type: Array,
  9. default: () => [],
  10. },
  11. },
  12. data() {
  13. return {
  14. title: "行打开",
  15. };
  16. },
  17. computed: {
  18. innerValue: {
  19. get() {
  20. return this.$props.selectData;
  21. },
  22. set() {},
  23. },
  24. },
  25. methods: {
  26. async open() {
  27. let { innerValue } = this;
  28. let data = innerValue.find((item) => item.isPayment === "N");
  29. if (!data) {
  30. this.$confirm("是否继续此操作?", "提示", {
  31. confirmButtonText: "确定",
  32. cancelButtonText: "取消",
  33. type: "warning",
  34. })
  35. .then(async () => {
  36. try {
  37. let puOrderIds = innerValue.map((order) => Number(order.id));
  38. let { code } = await orderApi.itemOpen({
  39. puOrderIds,
  40. });
  41. if (code === 200) {
  42. this.$emit("submit");
  43. this.$notify.success({
  44. message: msg,
  45. });
  46. }
  47. } catch (error) {}
  48. })
  49. .catch(() => {});
  50. } else {
  51. this.$notify.warning({
  52. message: "存在已经完成打开的行",
  53. });
  54. }
  55. },
  56. },
  57. created() {},
  58. };
  59. </script>
  60. <template>
  61. <el-button :size="$attrs.size" @click="open">{{ title }}</el-button>
  62. </template>