From fe618973c04544c0bd169c2c4436ff5807b756f1 Mon Sep 17 00:00:00 2001
From: haoyahui <2032914783@qq.com>
Date: 星期一, 20 十一月 2023 17:52:31 +0800
Subject: [PATCH] 库存预警设置,盘点删除

---
 admin-web/src/views/stock/ledger/inventoryAlert/edit.vue |  144 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 131 insertions(+), 13 deletions(-)

diff --git a/admin-web/src/views/stock/ledger/inventoryAlert/edit.vue b/admin-web/src/views/stock/ledger/inventoryAlert/edit.vue
index c700a5d..93fcd42 100644
--- a/admin-web/src/views/stock/ledger/inventoryAlert/edit.vue
+++ b/admin-web/src/views/stock/ledger/inventoryAlert/edit.vue
@@ -1,35 +1,56 @@
 <template>
-  <win-md :title="setting.title" @close="close" :width="'800px'">
+  <win-md :title="`${setting.title}棰勮璁剧疆`" @close="close" :width="'800px'">
     <el-form ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px">
       <el-row :gutter="24">
         <el-col :span="12">
-          <el-form-item label="鐗╁搧鍒嗙被" prop="code">
-            <el-input disabled v-model="formData.code" clearable maxlength="20" show-word-limit style="width: 100%" />
+          <el-form-item label="鐗╁搧鍒嗙被">
+            <el-cascader
+              v-model="formData.baseCategoryIds"
+              :options="categoryOptions"
+              :props="{ value: 'id' }"
+              style="width: 100%"
+            ></el-cascader>
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="鐗╁搧鍚嶇О" prop="name">
-            <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%" />
+          <el-form-item label="鐗╁搧鍚嶇О">
+            <el-select
+              :value="formData.baseGoodsTemplateId"
+              placeholder="璇峰厛鎷╃墿鍝佸垎绫�"
+              filterable
+              style="width: 100%"
+            >
+              <el-option v-for="item in goodsTemplatelAll" :key="item.id" :label="item.goodsName" :value="item.id" />
+            </el-select>
           </el-form-item>
         </el-col>
       </el-row>
       <el-row :gutter="24">
         <el-col :span="12">
           <el-form-item label="瑙勬牸鍨嬪彿">
-            <el-input v-model="formData.adss" clearable maxlength="20" show-word-limit style="width: 100%" />
+            <el-select
+              v-model="formData.modelsIds"
+              multiple
+              placeholder="璇峰厛鎷╃墿鍝佸悕绉�"
+              @change="modelChange($event)"
+              @remove-tag="modelRemoveTag($event)"
+              style="width: 100%"
+            >
+              <el-option v-for="item in goodsModelAll" :key="item.id" :label="item.modelName" :value="item.id" />
+            </el-select>
           </el-form-item>
         </el-col>
       </el-row>
       <el-table :data="formData.models" :stripe="true">
         <el-table-column prop="baseGoodsModelsId" label="瑙勬牸鍨嬪彿" align="center"> </el-table-column>
-        <el-table-column prop="baseGoodsModelsId" label="淇濆簳搴撳瓨" align="center">
+        <el-table-column prop="bdcount" label="淇濆簳搴撳瓨" align="center">
           <template slot-scope="scope">
-            <el-input v-model="scope.row.baseGoodsModelsId"></el-input>
+            <el-input v-model="scope.row.bdcount"></el-input>
           </template>
         </el-table-column>
-        <el-table-column prop="baseGoodsModelsId" label="灏侀《搴撳瓨" align="center">
+        <el-table-column prop="count" label="灏侀《搴撳瓨" align="center">
           <template slot-scope="scope">
-            <el-input v-model="scope.row.baseGoodsModelsId"></el-input>
+            <el-input v-model="scope.row.count"></el-input>
           </template>
         </el-table-column>
       </el-table>
@@ -45,6 +66,12 @@
 import winMd from '@/components/win/win-md';
 import myButton from '@/components/myButton/myButton';
 import * as finsystenant from '@/api/baseSetting/finsystenant';
+import {
+  getCategorySelectTree,
+  goodsModel,
+  warehouseSelectNumber,
+  goodsTemplate,
+} from '@/api/baseSetting/finsystenant';
 
 export default {
   components: { winMd, myButton },
@@ -56,14 +83,15 @@
   },
   data() {
     return {
-      checkAll: false,
-      checkedList: [],
+      agencyOptions: [], // 璋冩嫧鏈烘瀯
+      categoryOptions: [], // 鐗╁搧鍒嗙被鍒楄〃
+      modelList: [], //鍨嬪彿鍒楄〃
       formData: {
         baseCategoryIds: '', // 鍒嗙被缂栧彿鏁扮粍
         baseCategoryId: '', // 鍒嗙被缂栧彿
         baseGoodsTemplateId: '', // 鐗╁搧妯$増缂栧彿
         modelsIds: [], //瑙勬牸鍨嬪彿
-        models:[]
+        models: [],
       },
       modelsItem: {
         baseGoodsModelsId: '', // 瑙勬牸鍨嬪彿缂栧彿
@@ -81,8 +109,98 @@
     if (this.setting.info) {
       this.formData = Object.assign({}, JSON.parse(this.setting.info));
     }
+    this.init();
   },
   methods: {
+    async init() {
+      this.getCategoryTree();
+      this.getgoodsTemplate();
+      this.getgoodsModel();
+    },
+
+    async getCategoryTree() {
+      // 鑾峰彇鐗╁搧鍒嗙被鍒楄〃
+      const treeRes = await getCategorySelectTree();
+      this.categoryOptions = this.removeEmptyChildren(treeRes);
+      console.log('categoryOptions', this.categoryOptions);
+    },
+
+    // 鑾峰彇鐗╁搧鍚嶇О鍒楄〃
+    getgoodsTemplate(id) {
+      goodsTemplate({ categoryId: id || '', agencyId: this.formData.outAgencyId }).then((res) => {
+        this.goodsTemplatelAll = res;
+      });
+    },
+
+    // 瑙勬牸鍨嬪彿
+    getgoodsModel(id) {
+      goodsModel({ goodsTemplatesId: id || '' }).then((res) => {
+        this.goodsModelAll = res;
+      });
+    },
+
+    // 鐗╁搧鍒嗙被閫夋嫨
+    categoryChange(e) {
+      this.formData.goodsOptions = [];
+      this.formData.baseGoodsTemplateId = '';
+      this.formData.goodsTemplateName = '';
+      this.formData.modelsOptions = [];
+      this.formData.modelsIds = [];
+      this.formData.models = [];
+
+      this.formData.transferGoods.baseCategoryId = e[e.length - 1];
+      // 鏍规嵁閫変腑鍒嗙被璇锋眰鐗╁搧鍚嶇О鍒楄〃
+      this.getgoodsTemplate(e[e.length - 1]);
+    },
+
+    // 鐗╁搧鍚嶇О鍒楄〃閫夋嫨
+    goodsTemplateChange(e, index) {
+      let temp = this.formData.transferGoods.find((v) => v.baseGoodsTemplateId == e);
+      if (temp) {
+        this.$message.warning('宸查�夎繃姝ょ墿鍝�');
+        return;
+      } else {
+        this.formData.transferGoods[index].baseGoodsTemplateId = e;
+      }
+      this.formData.transferGoods[index].modelsOptions = [];
+      this.formData.transferGoods[index].modelsIds = [];
+      this.formData.transferGoods[index].models = [];
+
+      this.formData.transferGoods[index].goodsTemplateName = this.getGoodsTemplateName(e);
+      // 鏍规嵁閫変腑鐗╁搧鍚嶇Оid鑾峰彇瑙勬牸鍨嬪彿鍒楄〃
+      this.getgoodsModel(e, index);
+    },
+
+    removeEmptyChildren(arr) {
+      arr.forEach((item) => {
+        if (!item.children || !item.children.length) {
+          delete item.children;
+        } else {
+          this.removeEmptyChildren(item.children);
+        }
+      });
+      return arr;
+    },
+
+    // 瑙勬牸鍨嬪彿閫夋嫨
+    modelChange(e) {
+      let arr = [...this.formData.models];
+      let str = JSON.stringify(arr);
+      e.forEach((item) => {
+        if (str.indexOf(item) == -1) {
+          arr.push({ baseGoodsModelsId: item, bdcount: null,count:null });
+        }
+      });
+      this.formData.models = arr;
+    },
+
+    // 瑙勬牸鍨嬪彿绉婚櫎
+    modelRemoveTag(e) {
+      let arr = this.formData.models;
+      let delIndex = arr.findIndex((v) => v.baseGoodsModelsId == e);
+      this.formData.models.splice(delIndex, 1);
+    },
+
     getEditInfo(id) {},
     close() {
       this.$emit('close');

--
Gitblit v1.9.1