From 94de1745b4b69eeeb1ac8c5d3508ce87258afc25 Mon Sep 17 00:00:00 2001
From: haoyahui <2032914783@qq.com>
Date: 星期四, 16 十一月 2023 09:22:06 +0800
Subject: [PATCH] 库存管理

---
 admin-web/src/views/stock/scrap/itemScrapping/edit.vue |  157 ++++++++++++++++++++++++----------------------------
 1 files changed, 73 insertions(+), 84 deletions(-)

diff --git a/admin-web/src/views/stock/scrap/itemScrapping/edit.vue b/admin-web/src/views/stock/scrap/itemScrapping/edit.vue
index 88d341f..fd5ec9d 100644
--- a/admin-web/src/views/stock/scrap/itemScrapping/edit.vue
+++ b/admin-web/src/views/stock/scrap/itemScrapping/edit.vue
@@ -4,10 +4,20 @@
       <div class="main-w">
         <el-row :gutter="24" class="headerHeight">
           <el-col :span="12">
+            <el-form-item label="鏈烘瀯" prop="warehouseId">
+              <el-input :value="formData.agencyName" disabled></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
             <el-form-item label="鎶ュ簾浠撳簱" prop="warehouseId">
-              <el-select v-model="formData.warehouseId" placeholder="璇烽�夋嫨" style="width: 100%">
-                <el-option v-for="item in warehouses" :key="item.id" :label="item.warehouseName" :value="item.id" />
-              </el-select>
+              <el-input :value="formData.warehouseName" disabled></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="24" class="headerHeight">
+          <el-col :span="12">
+            <el-form-item label="鎶ュ簾浜�" prop="buyType">
+              <el-input :value="formData.operatorName" disabled></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -25,17 +35,8 @@
           </el-col>
         </el-row>
         <el-row :gutter="24" class="headerHeight">
-          <el-col :span="12">
-            <el-form-item label="鎶ュ簾绫诲瀷" prop="buyType">
-              <el-select v-model="formData.buyType" placeholder="璇烽�夋嫨" style="width: 100%">
-                <el-option v-for="item in buyTypeOptions" :key="item.value" :label="item.label" :value="item.value" />
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row :gutter="24" class="headerHeight">
           <el-col :span="24">
-            <el-form-item label="鎶ュ簾鎶ュ簾鎵嬬画" prop="procureDoc">
+            <el-form-item label="鎶ュ簾瀹℃壒鎵嬬画" prop="procureDoc">
               <upload ref="uploadRef" :values="fileList" :settings="uploadSettings" @on-change="uploadChange"></upload>
             </el-form-item>
           </el-col>
@@ -118,24 +119,14 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col :span="12">
-              <el-form-item label="渚涜揣鍟�" prop="supplier">
-                <el-input v-model="goodsItem.supplier" clearable maxlength="20" show-word-limit />
-              </el-form-item>
-            </el-col>
           </el-row>
           <el-table :data="goodsItem.models" :stripe="true">
-            <el-table-column prop="baseGoodsModelsId" label="瑙勬牸鍨嬪彿" align="center">
+            <el-table-column prop="baseGoodsModelsId" label="鍨嬪彿" align="center">
               <template slot-scope="scope">
                 {{ getGoodsModelsName(scope.row.baseGoodsModelsId) }}
               </template>
             </el-table-column>
-            <el-table-column label="鍗曚綅" align="center">
-              <template slot-scope="scope">
-                {{ scope.row.unit }}
-              </template>
-            </el-table-column>
-            <el-table-column prop="price" label="鍗曚环锛堝厓锛�" align="center">
+            <el-table-column prop="price" label="鍓╀綑鏁伴噺" align="center">
               <template slot-scope="scope">
                 <el-input type="number" v-model="scope.row.price"></el-input>
               </template>
@@ -143,6 +134,13 @@
             <el-table-column prop="counts" label="鎶ュ簾鏁伴噺" align="center">
               <template slot-scope="scope">
                 <el-input type="number" v-model="scope.row.counts"></el-input>
+              </template>
+            </el-table-column>
+            <el-table-column prop="counts" label="鎶ュ簾鍘熷洜" align="center">
+              <template slot-scope="scope">
+                <el-select v-model="scope.row.modelsIds" multiple placeholder="璇烽�夋嫨">
+                  <el-option v-for="item in []" :key="item.id" :label="item.label" :value="item.id" />
+                </el-select>
               </template>
             </el-table-column>
           </el-table>
@@ -170,8 +168,8 @@
       </div>
     </el-form>
     <div slot="footer" align="center" class="dialog-footer">
-      <my-button name="鍙栨秷" site="form" @click="close"/>
-      <my-button name="淇濆瓨" site="form" @click="handleSubmit"/>
+      <my-button name="鍙栨秷" site="form" @click="close" />
+      <my-button name="淇濆瓨" site="form" @click="handleSubmit" />
     </div>
   </win-md>
 </template>
@@ -188,8 +186,8 @@
 import MyButton from '@/components/myButton/myButton';
 import winMd from '@/components/win/win-md';
 import upload from '@/components/upload/index';
-import { getUploadUrl,getDownUrl} from '@/utils/base';
-
+import { getUploadUrl, getDownUrl } from '@/utils/base';
+import { mapGetters } from 'vuex';
 import SettingIplatform from '../../../../../public/static/config';
 
 export default {
@@ -197,27 +195,29 @@
   props: {
     setting: {
       type: Object,
-      default: () => {
-      }
-    }
+      default: () => {},
+    },
   },
   data() {
     return {
       visible: false,
       loading: false,
-      buyTypeOptions:[{
-        label:'闆嗛噰',
-        value: '1'
-      },{
-        label:'鑷噰',
-        value: '2'
-      }],
-      fileList:[],
+      buyTypeOptions: [
+        {
+          label: '闆嗛噰',
+          value: '1',
+        },
+        {
+          label: '鑷噰',
+          value: '2',
+        },
+      ],
+      fileList: [],
       warehouses: [], // 鎶ュ簾浠撳簱鍒楄〃
       categoryOptions: [], // 鐗╁搧鍒嗙被鍒楄〃
       modelList: [], //鍨嬪彿鍒楄〃
       formData: {
-        procureDoc:'',
+        procureDoc: '',
         warehouseId: '', // 鎶ュ簾浠撳簱id
         procureTime: '', // 鎶ュ簾鏃堕棿
         buyType: '2', // 鎶ュ簾鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛�
@@ -228,7 +228,6 @@
         baseCategoryId: '', // 鍒嗙被缂栧彿
         baseGoodsTemplateId: '', // 鐗╁搧妯$増缂栧彿
         goodsTemplateName: '', // 鐗╁搧妯$増鍚嶇О
-        supplier: '', // 渚涘簲鍟�
         sort: '', // 鏄剧ず椤哄簭
         goodsOptions: [], // 鐗╁搧鍒楄〃select
         modelsOptions: [], //瑙勬牸鍨嬪彿select
@@ -237,10 +236,7 @@
       },
       modelsItem: {
         baseGoodsModelsId: '', // 瑙勬牸鍨嬪彿缂栧彿
-        price: 0, // 鍗曚环(鎶ュ簾闇�瑕侊紝璋冩嫧涓嶉渶瑕�)
         counts: 0, // 鎿嶄綔鏁伴噺
-        supplier: '', // 渚涘簲鍟�
-        unit: null, //鍗曚綅
       },
       rules: {
         warehouseId: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
@@ -266,38 +262,31 @@
       },
     };
   },
+  computed: {
+    ...mapGetters(['userInfo']),
+  },
   created() {
-    this.init()
+    this.init();
   },
   methods: {
     async init() {
       this.getWarehouseList();
-      this.getgoodsTemplate()
+      this.getgoodsTemplate();
       this.getgoodsModel();
+      this.getCategoryTree();
+      this.formData.procureGoods.push(JSON.parse(JSON.stringify(this.goodsItem)));
+      this.formData.operatorId = this.userInfo.userCode;
+      this.formData.operatorName = this.userInfo.id;
+      this.formData.agencyId = this.userInfo.tenantId;
+      this.formData.agencyName = this.userInfo.tenantName;
+      this.formData.warehouseId = this.userInfo.tenantId;
+      this.formData.warehouseName = this.userInfo.tenantName;
+      this.formData.WAREHOUSE_TYPE = 0;
+    },
+    async getCategoryTree() {
       // 鑾峰彇鐗╁搧鍒嗙被鍒楄〃
       const treeRes = await getTree();
       this.categoryOptions = this.removeEmptyChildren(treeRes);
-      if (this.setting.id) {
-        const detail = await procureDetail({ id:this.setting.id });
-        this.formData = Object.assign(this.formData, detail);
-        if(this.formData.procureDoc) {
-          this.fileList = JSON.parse(this.formData.procureDoc)
-        }
-        this.$set(this.formData,'buyType',this.formData.buyType.toString())
-        this.formData.procureTime = this.formData.procureTime.toString();
-        this.formData.procureGoods.map((item, index) => {
-          // 鏍规嵁瀛愰泦ID鎷兼帴鐗╁搧鍒嗙被鍒楄〃
-          item.baseCategoryIds = this.findParentIds(this.categoryOptions, item.baseCategoryId);
-          this.$set(this.formData.procureGoods[index],'modelsIds',item.models.map((v) => v.baseGoodsModelsId))
-          this.getgoodsTemplate(item.baseCategoryId, index);
-          this.getgoodsModel(item.baseGoodsTemplateId, index);
-          return item
-        });
-        console.log('this.formData.procureGoods',this.formData.procureGoods)
-      } else {
-        this.formData.procureGoods.push(JSON.parse(JSON.stringify(this.goodsItem)));
-      }
-      this.visible = true;
     },
 
     // 鑾峰彇鎶ュ簾浠撳簱鍒楄〃
@@ -331,7 +320,7 @@
       goodsTemplate({ categoryId: id || '' }).then((res) => {
         if (index || index == 0) {
           this.$set(this.formData.procureGoods[index], 'goodsOptions', res);
-        }else {
+        } else {
           this.goodsTemplatelAll = res;
         }
       });
@@ -368,12 +357,12 @@
 
     // 鐗╁搧鍒嗙被閫夋嫨
     categoryChange(e, index) {
-      this.formData.procureGoods[index].goodsOptions = []
-      this.formData.procureGoods[index].baseGoodsTemplateId = ''
-      this.formData.procureGoods[index].goodsTemplateName = ''
-      this.formData.procureGoods[index].modelsOptions = []
-      this.formData.procureGoods[index].modelsIds = []
-      this.formData.procureGoods[index].models = []
+      this.formData.procureGoods[index].goodsOptions = [];
+      this.formData.procureGoods[index].baseGoodsTemplateId = '';
+      this.formData.procureGoods[index].goodsTemplateName = '';
+      this.formData.procureGoods[index].modelsOptions = [];
+      this.formData.procureGoods[index].modelsIds = [];
+      this.formData.procureGoods[index].models = [];
 
       this.formData.procureGoods[index].baseCategoryId = e[e.length - 1];
       // 鏍规嵁閫変腑鍒嗙被璇锋眰鐗╁搧鍚嶇О鍒楄〃
@@ -382,11 +371,11 @@
 
     // 鐗╁搧鍚嶇О鍒楄〃
     goodsTemplateChange(e, index) {
-      this.formData.procureGoods[index].modelsOptions = []
-      this.formData.procureGoods[index].modelsIds = []
-      this.formData.procureGoods[index].models = []
+      this.formData.procureGoods[index].modelsOptions = [];
+      this.formData.procureGoods[index].modelsIds = [];
+      this.formData.procureGoods[index].models = [];
 
-      this.formData.procureGoods[index].goodsTemplateName = this.getGoodsTemplateName(e)
+      this.formData.procureGoods[index].goodsTemplateName = this.getGoodsTemplateName(e);
       // 鏍规嵁閫変腑鐗╁搧鍚嶇Оid鑾峰彇瑙勬牸鍨嬪彿鍒楄〃
       this.getgoodsModel(e, index);
     },
@@ -413,8 +402,8 @@
 
     // 涓婁紶
     uploadChange() {
-      let arr = this.$refs.uploadRef.fileList
-      this.formData.procureDoc = JSON.stringify(arr)
+      let arr = this.$refs.uploadRef.fileList;
+      this.formData.procureDoc = JSON.stringify(arr);
     },
 
     // 鐐瑰嚮鏂板鐗╁搧
@@ -462,12 +451,12 @@
     },
 
     close() {
-      this.formData ={
+      this.formData = {
         warehouseId: '', // 鎶ュ簾浠撳簱id
         procureTime: '', // 鎶ュ簾鏃堕棿
         procureGoods: [],
-      }
-      this.$emit('close')
+      };
+      this.$emit('close');
     },
 
     // 閫氳繃瀛愰泦id鏌ュ埌鎵�浠ョ浉鍏崇埗绾d骞惰繑鍥炴暟缁�

--
Gitblit v1.9.1