Browse Source

库存提醒

lizhenhao 2 years ago
parent
commit
fe6bdc3182

+ 14 - 0
src/api/materialManagement/WareHouseService.js

@@ -113,4 +113,18 @@ export default class WareHouseService {
       params: {id: id}
     })
   }
+  updateWarnFlagByTradeNameAndType (tradeName, wareHouseType) {
+    return request({
+      url: `/material/management/wareHouse/updateWarnFlagByTradeNameAndType`,
+      method: 'post',
+      data: {tradeName: tradeName, wareHouseType: wareHouseType}
+    })
+  }
+  updateWarnNumByTradeNameAndType (tradeName, wareHouseType, warnNum) {
+    return request({
+      url: `/material/management/wareHouse/updateWarnNumByTradeNameAndType`,
+      method: 'post',
+      data: {tradeName: tradeName, wareHouseType: wareHouseType, warnNum: warnNum}
+    })
+  }
 }

+ 49 - 2
src/views/modules/materialManagement/wareHouseSummary/WareHouseSummaryList.vue

@@ -70,7 +70,7 @@
       </el-form-item>
     </el-form>
     <div class="bg-white top" style="">
-      <div style="height: calc(100% - 90px)">
+      <div style="height: calc(100% - 70px)">
         <vxe-table
           :key="tableKey"
           border="inner"
@@ -87,7 +87,9 @@
           @sort-change="sortChangeHandle"
           :sort-config="{remote:true}"
           :data="dataList"
-          :checkbox-config="{}">
+          :checkbox-config="{}"
+          :edit-config="{trigger: 'click', mode: 'row', showStatus: false, autoClear: true, icon: 'false'}"
+        >
           <vxe-column type="seq" width="60" title="序号"></vxe-column>
 <!--          <vxe-column min-width="160" align="center" title="入库编号" field="wareHouseNumber"></vxe-column>-->
 <!--          <vxe-column min-width="160" align="center" title="入库人" field="wareHouseManName"></vxe-column>-->
@@ -104,6 +106,22 @@
           <vxe-column min-width="160" align="center" title="领用量" field="borrowNumber"></vxe-column>
           <vxe-column min-width="160" align="center" title="剩余量" field="tradeNumber"></vxe-column>
           <vxe-column min-width="160" align="center" title="单位" field="company"></vxe-column>
+          <vxe-column min-width="160" align="center" fixed="right" title="提醒数量" field="warnNum" :edit-render="{}">
+            <template v-slot:edit="scope">
+              <vxe-input v-model="scope.row.warnNum" type="float" min="0" @blur="changeWarnNum(scope.row)"></vxe-input>
+            </template>
+          </vxe-column>
+          <vxe-column min-width="100" align="center" fixed="right" title="是否提醒" field="warnFlag">
+            <template slot-scope="scope">
+              <el-switch
+                v-model="scope.row.warnFlag === '1'"
+                active-color="#13ce66"
+                inactive-color="#ff4949"
+                @change="updateStatus(scope.row.tradeName, scope.row.wareHouseType)"
+              >
+              </el-switch>
+            </template>
+          </vxe-column>
 <!--          <vxe-column min-width="160" align="center" title="入库时间" field="wareHouseDate"></vxe-column>-->
 
         </vxe-table>
@@ -257,6 +275,35 @@
       resetSearch () {
         this.$refs.searchForm.resetFields()
         this.refreshList()
+      },
+      // 修改提醒状态 启用/停用
+      updateStatus (tradeName, wareHouseType) {
+        this.loading = true
+        this.wareHouseService.updateWarnFlagByTradeNameAndType(tradeName, wareHouseType).then(({data}) => {
+          this.$message.success(data)
+          this.loading = false
+          this.refreshList()
+        }).catch(() => {
+          this.refreshList()
+          this.loading = false
+        })
+      },
+      // 修改提醒数量blur事件
+      changeWarnNum (row) {
+        this.loading = true
+        // 如果提醒数量的值为空的话,将赋值为0
+        if (this.commonJS.isEmpty(row.warnNum)) {
+          row.warnNum = 0.00
+        }
+        // 根据商品名称、入库类型修改提醒数量
+        this.wareHouseService.updateWarnNumByTradeNameAndType(row.tradeName, row.wareHouseType, row.warnNum).then(({data}) => {
+          this.$message.success(data)
+          this.refreshList()
+          this.loading = false
+        }).catch(() => {
+          this.refreshList()
+          this.loading = false
+        })
       }
     }
   }