From 13b0bad30ef1df53492cbab1c1b99dfc02dee63f Mon Sep 17 00:00:00 2001
From: haoyahui <2032914783@qq.com>
Date: 星期二, 21 十一月 2023 17:51:16 +0800
Subject: [PATCH] 台账管理,盘点任务开发

---
 admin-web/src/views/stock/inventorycount/inventorytask/inventory.vue |  137 ++++++++++++++++++++++++++++++---------------
 1 files changed, 92 insertions(+), 45 deletions(-)

diff --git a/admin-web/src/views/stock/inventorycount/inventorytask/inventory.vue b/admin-web/src/views/stock/inventorycount/inventorytask/inventory.vue
index 4d91a20..45ecc56 100644
--- a/admin-web/src/views/stock/inventorycount/inventorytask/inventory.vue
+++ b/admin-web/src/views/stock/inventorycount/inventorytask/inventory.vue
@@ -1,30 +1,43 @@
 <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 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
+        v-loading="loading"
+        :data="formData.formInventoryGoodsList"
+        :rules="rules"
+        height="400"
+        :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="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
+              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,7 +46,7 @@
 <script>
 import winMd from '@/components/win/win-md';
 import myButton from '@/components/myButton/myButton';
-import { inventorySelectPdList,inventoryTemporaryStorage,inventoryFinish } from '@/api/stock/inventory';
+import { inventoryQuery, inventoryTemporaryStorage, inventoryFinish } from '@/api/stock/inventory';
 export default {
   components: { winMd, myButton },
   props: {
@@ -45,38 +58,72 @@
   data() {
     return {
       loading: false,
+      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,
-    //   });
-    // }
-    inventorySelectPdList({id:this.setting.id}).then(res=>{
-      this.formData = res
-    })
+    const info = JSON.parse(this.setting.info);
+    console.log('info', info);
+    if (info.states == 1) {
+      // 缁х画鐩樼偣
+
+    } else {
+      inventoryQuery({ id: this.setting.id }).then((res) => {
+        this.formData = res;
+        this.formData.id = this.setting.id;
+      });
+    }
+      inventoryQuery({ id: this.setting.id }).then((res) => {
+        this.formData = res;
+        this.formData.id = this.setting.id;
+      });
   },
   methods: {
     close() {
       this.$emit('close');
     },
+    staging() {
+      this.$refs['ruleForm'].validate((valid) => {
+        if (valid) {
+          const params = {
+            ...this.formData,
+            inventoryGoodsList: this.formData.formInventoryGoodsList,
+          };
+          inventoryTemporaryStorage(params).then(() => {
+            this.$message.success('鏆傚瓨鎴愬姛锛�');
+            this.close();
+            this.$emit('search');
+          });
+        }
+      });
+    },
     save() {
-      
-    }
+      this.$refs['ruleForm'].validate((valid) => {
+        if (valid) {
+          const params = {
+            ...this.formData,
+            inventoryGoodsList: this.formData.formInventoryGoodsList,
+          };
+          inventoryFinish(params).then(() => {
+            this.$message.success('鏆傚瓨鎴愬姛锛�');
+            this.close();
+            this.$emit('search');
+          });
+        }
+      });
+    },
   },
 };
 </script>

--
Gitblit v1.9.1