From 62b6a7fac3f2acde70b578431147c4a01f19c182 Mon Sep 17 00:00:00 2001
From: 黎星凯 <13949086503@163.com>
Date: 星期一, 15 四月 2024 09:07:05 +0800
Subject: [PATCH] bug修改

---
 admin-web/src/views/stock/inventorycount/inventorytask/inventory.vue |  140 +++++++++++++++++++++++++++++++++-------------
 1 files changed, 100 insertions(+), 40 deletions(-)

diff --git a/admin-web/src/views/stock/inventorycount/inventorytask/inventory.vue b/admin-web/src/views/stock/inventorycount/inventorytask/inventory.vue
index ff242e6..07441f8 100644
--- a/admin-web/src/views/stock/inventorycount/inventorytask/inventory.vue
+++ b/admin-web/src/views/stock/inventorycount/inventorytask/inventory.vue
@@ -1,30 +1,44 @@
 <template>
   <win-md :title="setting.title" @close="close" :width="'1200px'">
-    <el-row :gutter="20" style="margin-bottom: 20px" type="flex" align="middle">
-      <el-col :span="6">鐩樼偣鍗曞彿锛歿{ formData.businessFormCode }}</el-col>
-      <el-col :span="6">鐩樼偣浠诲姟锛歿{ formData.businessTaskCode }}</el-col>
-      <el-col :span="6">鐩樼偣浠撳簱锛歿{ formData.warehouseId }}</el-col>
-      <el-col :span="3" :offset="3">
-        <my-button name="瀵煎嚭鐩樼偣鍗�" site="form" size="medium" type="primary" />
-      </el-col>
-    </el-row>
-    <el-table v-loading="loading" :data="formData.tableData" height="100%" :stripe="true" class="the-table">
-      <el-table-column prop="goodsTemplateName" label="鐗╁搧鍚嶇О"> </el-table-column>
-      <el-table-column prop="baseGoodsModelsId" label="鍨嬪彿" align="center"> </el-table-column>
-      <el-table-column prop="classification" label="绫诲埆"> </el-table-column>
-      <el-table-column prop="unit" label="鍗曚綅" align="center"> </el-table-column>
-      <el-table-column prop="kc" label="搴旀湁搴撳瓨" align="center"> </el-table-column>
-      <el-table-column prop="price" label="鍗曚环" align="center"> </el-table-column>
-      <el-table-column prop="inventoryResult" label="閲戦" align="center"> </el-table-column>
-      <el-table-column prop="inventoryCounts" label="瀹炵洏鏁伴噺" align="center">
-        <template slot-scope="scope">
-            <el-input v-model="scope.row.inventoryCounts"></el-input>
-        </template>
-      </el-table-column>
-    </el-table>
+    <el-form v-loading="loading" class="form" ref="ruleForm" :model="formData" :rules="rules">
+      <el-row :gutter="20" style="margin-bottom: 20px" type="flex" align="middle">
+        <el-col :span="6">鐩樼偣鍗曞彿锛歿{ formData.businessFormCode }}</el-col>
+        <el-col :span="6">鐩樼偣浠诲姟锛歿{ formData.businessFormName }}</el-col>
+        <el-col :span="6">鐩樼偣浠撳簱锛歿{ formData.warehouseName }}</el-col>
+        <el-col :span="3" :offset="3">
+          <my-button name="瀵煎嚭鐩樼偣鍗�" site="form" size="medium" type="primary" />
+        </el-col>
+      </el-row>
+      <el-table
+        :data="formData.formInventoryGoodsList"
+        :rules="rules"
+        height="500"
+        :stripe="true"
+        class="the-table"
+      >
+        <el-table-column prop="goodsTemplateName" label="鐗╁搧鍚嶇О"> </el-table-column>
+        <el-table-column prop="baseGoodsModelsName" label="鍨嬪彿" align="center"> </el-table-column>
+        <el-table-column prop="baseGoodsModelsId" label="鍨嬪彿id" v-show="false" align="center"> </el-table-column>
+        <el-table-column prop="type" label="绫诲埆"> </el-table-column>
+        <el-table-column prop="unit" label="鍗曚綅" align="center"> </el-table-column>
+        <el-table-column prop="inventoryCount" label="搴旀湁搴撳瓨" align="center"> </el-table-column>
+        <el-table-column prop="realNum" label="瀹炵洏鏁伴噺" align="center">
+          <template slot-scope="scope">
+            <el-form-item
+              style="margin-bottom: 0"
+              label-width="0"
+              :prop="`formInventoryGoodsList[${scope.$index}].realNum`"
+              :rules="rules.realNum"
+            >
+              <el-input v-model.number="scope.row.realNum" maxlength="8"></el-input>
+            </el-form-item>
+          </template>
+        </el-table-column>
+      </el-table>
+    </el-form>
 
     <div slot="footer" align="center" class="dialog-footer">
-      <my-button name="鏆傚瓨" site="form" type="primary" @click="close" />
+      <my-button name="鏆傚瓨" site="form" type="primary" @click="staging" />
       <my-button name="瀹屾垚鐩樼偣" site="form" type="success" @click="save" />
     </div>
   </win-md>
@@ -33,6 +47,8 @@
 <script>
 import winMd from '@/components/win/win-md';
 import myButton from '@/components/myButton/myButton';
+import {inventoryDetail, inventoryFinish, inventoryQuery, inventoryTemporaryStorage} from '@/api/stock/inventory';
+
 export default {
   components: { winMd, myButton },
   props: {
@@ -43,26 +59,40 @@
   },
   data() {
     return {
-      loading: false,
+      loading: true,
+      btnLoading: false,
       formData: {
-        businessFormCode: '2023080812',
-        businessTaskCode: '2023骞�9鏈堢洏鐐瑰崟',
-        warehouseId: '寮�灏佸競浠撳簱',
-        tableData: [],
+        businessFormCode: '',
+        businessFormName: '',
+        warehouseName: '',
+        formInventoryGoodsList: [],
+      },
+      rules: {
+        realNum: [
+          { required: true, message: '璇疯緭鍏�', trigger: 'blur' },
+          { type: 'number', message: '璇疯緭鍏ユ暟瀛楀��' },
+        ],
       },
     };
   },
   created() {
-    for (let i = 0; i < 10; i++) {
-      this.formData.tableData.push({
-        goodsTemplateName: '鏂戒箰榛戣壊纰崇矇',
-        baseGoodsModelsId: '鏂戒箰c2201',
-        classification: 'A',
-        unit: '濂�',
-        kc: 10,
-        price: 20,
-        inventoryResult: 200,
-        inventoryCounts: 0,
+    const info = JSON.parse(this.setting.info);
+    if (info.states == 1) {
+      // 缁х画鐩樼偣
+      inventoryDetail({ id: this.setting.id }).then((res) => {
+        this.loading = false
+        this.formData = res;
+        this.formData.id = this.setting.id;
+      }).catch(()=>{
+        this.loading = false
+      });
+    } else {
+      inventoryQuery({ id: this.setting.id }).then((res) => {
+        this.loading = false
+        this.formData = res;
+        this.formData.id = this.setting.id;
+      }).catch(()=>{
+        this.loading = false
       });
     }
   },
@@ -70,9 +100,39 @@
     close() {
       this.$emit('close');
     },
+    staging() {
+      const params = {
+        id: this.formData.id,
+        inventoryGoodsList: this.formData.formInventoryGoodsList,
+      };
+      this.loading = true
+      inventoryTemporaryStorage(params).then(() => {
+        this.loading = false
+        this.$message.success('鏆傚瓨鎴愬姛锛�');
+        this.close();
+        this.$emit('search');
+      }).catch(()=>{
+        this.loading = false
+      });
+    },
     save() {
-
-    }
+      this.$refs['ruleForm'].validate((valid) => {
+        if (valid) {
+          const params = {
+            ...this.formData,
+            inventoryGoodsList: this.formData.formInventoryGoodsList,
+          };
+          this.loading = true
+          inventoryFinish(params).then(() => {
+            this.$message.success('鏆傚瓨鎴愬姛锛�');
+            this.close();
+            this.$emit('search');
+          }).catch(()=>{
+            this.loading = false
+          });
+        }
+      });
+    },
   },
 };
 </script>

--
Gitblit v1.9.1