Bläddra i källkod

feat(产品管理): 添加产品状态开关功能

liujt 6 månader sedan
förälder
incheckning
7a69c4af3e
2 ändrade filer med 38 tillägg och 1 borttagningar
  1. 9 0
      src/api/material/list.js
  2. 29 1
      src/views/material/product/components/index-data.vue

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

@@ -160,4 +160,13 @@ export async function getProduceTreeByPid(parentId) {
     return res.data;
   }
   return Promise.reject(new Error(res.data.message));
+}  
+
+export async function changeOnOff(id) {
+  const res = await request.post(`/main/category/changeOnOff/${id}`);
+  console.log('changeOnOff', res);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
 }

+ 29 - 1
src/views/material/product/components/index-data.vue

@@ -141,6 +141,20 @@
         >-->
       </template>
 
+      <template v-slot:isEnabled="{ row }">
+        <div>
+          <el-switch
+            v-model="row.isEnabled"
+            active-color="#13ce66"
+            inactive-color="#ff4949"
+            :active-value="1"
+            :inactive-value="0"
+            @change="changeEnable(row)"
+          >
+          </el-switch>
+        </div>
+      </template>
+
       <template v-slot:componentAttribute="{ row }">
         <div>
           <!-- {{ }} -->
@@ -306,7 +320,8 @@
     getMaterialList,
     removeMaterial,
     importCategorySparePart,
-    exportFile
+    exportFile,
+    changeOnOff
   } from '@/api/material/list.js';
 
   import { getBomGetById } from '@/api/material/BOM.js';
@@ -675,7 +690,9 @@
             prop: 'isEnabled',
             align: 'center',
             label: '状态',
+            slot: 'isEnabled',
             showOverflowTooltip: true,
+            fixed: 'right',
             formatter: (row, column) => {
               return row.isEnabled === 0
                 ? '停用'
@@ -736,6 +753,17 @@
     },
 
     methods: {
+      async changeEnable(row) {
+        const res = await changeOnOff(row.id);
+        if (res.code == 0) {
+          this.$message({
+            type: 'success',
+            message: '修改成功',
+            customClass: 'ele-message-border'
+          });
+          this.reload();
+        }
+      },
       onSortChange(e) {
         console.log(e, '99999999');