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