Browse Source

采购订单维护-行关闭、行打开未选中提示

002390 1 year ago
parent
commit
40a333daf4

+ 16 - 3
src/views/purchase/purchase-order/close/itemClose.vue

@@ -21,6 +21,17 @@ export default {
       },
       set() {},
     },
+    disabled: {
+      get() {
+        let { innerValue } = this;
+
+        if (innerValue.length > 0) {
+          return false;
+        }
+        return true;
+      },
+      set() {},
+    },
   },
   methods: {
     async open() {
@@ -28,7 +39,7 @@ export default {
 
       let data = innerValue.find((item) => item.isPayment === "Y");
 
-      if (!data) {
+      if (!data && innerValue.length) {
         this.$prompt("请输入关闭原因", "提示", {
           confirmButtonText: "确定",
           cancelButtonText: "取消",
@@ -55,7 +66,7 @@ export default {
           .catch(() => {});
       } else {
         this.$notify.warning({
-          message: "存在已经完成关闭的行",
+          message: "不满足关闭条件",
         });
       }
     },
@@ -64,5 +75,7 @@ export default {
 };
 </script>
 <template>
-  <el-button :size="$attrs.size" @click="open">{{ title }}</el-button>
+  <el-button :size="$attrs.size" @click="open" :disabled="disabled">{{
+    title
+  }}</el-button>
 </template>

+ 17 - 4
src/views/purchase/purchase-order/close/itemOpen.vue

@@ -21,19 +21,30 @@ export default {
       },
       set() {},
     },
+    disabled: {
+      get() {
+        let { innerValue } = this;
+
+        if (innerValue.length > 0) {
+          return false;
+        }
+        return true;
+      },
+      set() {},
+    },
   },
   methods: {
     async open() {
       let { innerValue } = this;
       let data = innerValue.find((item) => item.isPayment === "N");
-      if (!data) {
+      if (!data && innerValue.length) {
         this.$prompt("请输入打开原因", "提示", {
           confirmButtonText: "确定",
           cancelButtonText: "取消",
           inputPattern: /\s*\S+?/,
           inputErrorMessage: "打开原因不能为空",
         })
-          .then(async ({value}) => {
+          .then(async ({ value }) => {
             try {
               let puOrderIds = innerValue.map((order) => Number(order.id));
               let { code } = await orderApi.itemOpen({
@@ -51,7 +62,7 @@ export default {
           .catch(() => {});
       } else {
         this.$notify.warning({
-          message: "存在已经完成打开的行",
+          message: "不满足打开条件",
         });
       }
     },
@@ -60,5 +71,7 @@ export default {
 };
 </script>
 <template>
-  <el-button :size="$attrs.size" @click="open">{{ title }}</el-button>
+  <el-button :size="$attrs.size" @click="open" :disabled="disabled">{{
+    title
+  }}</el-button>
 </template>