浏览代码

物料基础档案-新增【采购停用】功能,启用状态为已采购停用,可以操作启用也可以操作停用

002390 1 年之前
父节点
当前提交
1c4f1e0632

+ 9 - 0
src/api/material/basic.js

@@ -441,6 +441,14 @@ export function exportMartial(data) {
     responseType: 'blob'
   })
 }
+// 采购停用
+export function puNotEnable(data) {
+  return request({
+    url: `/system/material/puNotEnable/${data}`,
+    method: 'post',
+    // data: data,
+  })
+}
 
 
 export default {
@@ -499,4 +507,5 @@ export default {
 
   //导出
   exportMartial,
+  puNotEnable,
 }

+ 10 - 3
src/views/material/basicFile/details.vue

@@ -63,17 +63,23 @@
                 <el-button :size="size" @click="handleMaterialType"
                   >维护物料类别</el-button
                 >
-                <el-button
+                <!-- <el-button
                   :size="size"
                   @click="handleIsInvoke"
                   :key="count"
                   v-hasPermi="['system:material:add']"
                 >
-                  <!-- 0:启用  2:停用 -->
                   {{ basicData.value.isEnable == "已启用" ? "停用" : "启用" }}
-                </el-button>
+                </el-button> -->
               </el-button-group>
             </el-col>
+            <el-col :span="1.5">
+              <is-using
+                :size="size"
+                :select-data="basicData.value"
+                @success="handleRefresh"
+              ></is-using>
+            </el-col>
 
             <!-- 维护新版本 -->
             <el-col :span="1.5">
@@ -1090,6 +1096,7 @@ export default {
   // dicts: [],
   components: {
     drTabs,
+    IsUsing: () => import("./isUsing/index.vue"),
   },
   data() {
     return {

+ 8 - 5
src/views/material/basicFile/index.vue

@@ -41,17 +41,19 @@
 
         <!-- 启用 -->
         <el-col :span="1.5">
-          <el-button-group>
-            <el-button
+          <is-using
+            :size="size"
+            :select-data="checkedList"
+            @success="handleQuery"
+          ></is-using>
+          <!-- <el-button
               :size="size"
               @click="handleIsInvoke"
               :disabled="checkedList.length != 1"
               v-hasPermi="['system:material:add']"
             >
-              <!-- 0:启用  2:停用 -->
               {{ handleJudgeIsUsing() ? "停用" : "启用" }}
-            </el-button>
-          </el-button-group>
+            </el-button> -->
         </el-col>
 
         <!-- 导入导出 -->
@@ -257,6 +259,7 @@ export default {
   components: {
     ElSuperSearch: () => import("@/components/super-search/index.vue"),
     ElDictTag: () => import("@/components/DictTag/index.vue"),
+    IsUsing: () => import("./isUsing/index.vue"),
   },
   data() {
     const params = this.$init.params(SearchColumns);

+ 151 - 0
src/views/material/basicFile/isUsing/index.vue

@@ -0,0 +1,151 @@
+<script>
+import materialApi from "@/api/material/basic";
+export default {
+  name: "IsUsing",
+  props: {
+    selectData: {
+      type: [Array, Object],
+      required: true,
+    },
+  },
+  computed: {
+    innerValue: {
+      get() {
+        let { selectData } = this.$props;
+        if (Array.isArray(selectData)) {
+          return selectData;
+        } else {
+          return [{ ...selectData }];
+        }
+      },
+      set() {},
+    },
+    disabled: {
+      get() {
+        if (this.innerValue.length === 1) {
+          return false;
+        }
+        return true;
+      },
+      set() {},
+    },
+  },
+  watch: {},
+  data() {
+    return {};
+  },
+  methods: {
+    async handleCommand(command) {
+      let { id, isEnable } = this.innerValue[0];
+      if (command === "0" && isEnable == "已启用") return;
+
+      if (command === "4") {
+        await this.purShutdown(id);
+      } else {
+        let params = {
+          isEnable:
+            isEnable === "已停用"
+              ? "0"
+              : isEnable === "已采购停用"
+              ? command
+              : "2",
+          id,
+        };
+        console.log(params, "params");
+        await this.deactivate(params);
+      }
+    },
+    // 停用启用
+    async deactivate(prop) {
+      console.log(prop, "停用启用");
+      try {
+        this.$modal.loading("加载中...");
+        let { code, msg } = await materialApi.updateEnableMaterial(prop);
+        if (code == 200) {
+          this.$emit("success");
+          this.$notify.success({
+            message: msg,
+          });
+        }
+      } catch (error) {
+        console.log(error, "error");
+      } finally {
+        this.$modal.closeLoading();
+      }
+    },
+    // 采购停用
+    async purShutdown(prop) {
+      console.log(prop, "采购停用");
+      try {
+        this.$modal.loading("加载中...");
+        let { code, msg } = await materialApi.puNotEnable(prop);
+        if (code == 200) {
+          this.$emit("success");
+          this.$notify.success({
+            message: msg,
+          });
+        }
+      } catch (error) {
+        console.log(error, "error");
+      } finally {
+        this.$modal.closeLoading();
+      }
+    },
+    dropDiabled(prop) {
+      let data = this.innerValue[0];
+      if (data) {
+        switch (prop) {
+          // 启用
+          case "0":
+            if (data.isEnable !== "已启用") return false;
+            return true;
+          // 停用
+          case "2":
+            if (data.isEnable !== "已停用") return false;
+            return true;
+          // 采购停用
+          case "4":
+            if (data.isEnable === "已启用") return false;
+            return true;
+          default:
+            return true;
+        }
+      }
+    },
+  },
+  created() {},
+};
+</script>
+<template>
+  <el-dropdown
+    v-bind="$attrs"
+    v-on="$listeners"
+    :disabled="disabled"
+    @click="handleCommand('0')"
+    @command="handleCommand"
+    split-button
+  >
+    <span
+      style="display: inline-block; width: 100%; height: 100%"
+      :disabled="dropDiabled('0')"
+      v-hasPermi="['system:material:add']"
+    >
+      启 用
+    </span>
+
+    <el-dropdown-menu slot="dropdown">
+      <el-dropdown-item
+        command="2"
+        :disabled="dropDiabled('2')"
+        v-hasPermi="['system:material:add']"
+        >停 用</el-dropdown-item
+      >
+      <el-dropdown-item
+        command="4"
+        :disabled="dropDiabled('4')"
+        v-hasPermi="['system:material:puNotEnable']"
+        >采购停用</el-dropdown-item
+      >
+    </el-dropdown-menu>
+  </el-dropdown>
+</template>

+ 0 - 2
src/views/purchase/purchase-order/edit/index.vue

@@ -809,8 +809,6 @@ export default {
             // 修订
             this.handleCalculateOrderAmount();
           } else {
-            // row['whetherCompleteInquiry'] = false;
-
             this.handleGetPrice();
           }
         }