From 24fc98301c0b38a76b7d5aa704fe79a2e385e584 Mon Sep 17 00:00:00 2001 From: 石广澎 <shiguangpeng@163.com> Date: 星期三, 29 十一月 2023 14:20:41 +0800 Subject: [PATCH] feat: 1、物品分发部门查询 2、分发新增数量校验 --- admin-web/src/views/departmentitem/itemdis/distribution/edit.vue | 98 ++++++++++++++++++++++++++++++------------------ 1 files changed, 61 insertions(+), 37 deletions(-) diff --git a/admin-web/src/views/departmentitem/itemdis/distribution/edit.vue b/admin-web/src/views/departmentitem/itemdis/distribution/edit.vue index 1a44026..d94d5c4 100644 --- a/admin-web/src/views/departmentitem/itemdis/distribution/edit.vue +++ b/admin-web/src/views/departmentitem/itemdis/distribution/edit.vue @@ -118,12 +118,12 @@ </el-col> </el-row> <el-row class="card3" v-for="(mItem, mIndex) in goodsItem.models" :key="mIndex"> - <el-col style="padding: 10px 0" :span="10"> + <el-col style="padding: 15px 0" :span="10"> <el-form-item label="瑙勬牸鍨嬪彿:" style="margin-bottom: 0"> {{ getGoodsModelsName(mItem.baseGoodsModelsId) }} </el-form-item> </el-col> - <el-col style="padding: 10px 0" :span="4"> + <el-col style="padding: 15px 0" :span="4"> <el-form-item label="鍓╀綑鏁伴噺:" style="margin-bottom: 0" label-width="80"> {{ mItem.worehouseCount }} </el-form-item> @@ -135,9 +135,12 @@ <template slot-scope="{$index,row}"> <el-form-item :prop="`transferGoods.${goodsIndex}.models.${mIndex}.procureModelUserList.${$index}.goodsNum`" + :rules="[ + {validator: checkCounts,type: 1, userList: mItem.procureModelUserList,worehouseCount: mItem.worehouseCount, trigger: ['blur', 'change']} + ]" label-width="0" > - <el-input v-model="row.goodsNum" style="width: 100%"></el-input> + <el-input v-model.number="row.goodsNum" style="width: 100%"></el-input> </el-form-item> </template> </el-table-column> @@ -145,6 +148,7 @@ <template slot-scope="{$index,row}"> <el-form-item :prop="`transferGoods.${goodsIndex}.models.${mIndex}.procureModelUserList.${$index}.nowUserName`" + :rules="[{required: true, message: '璇疯緭鍏ヤ娇鐢ㄤ汉濮撳悕', trigger: ['blur', 'change']}]" label-width="0" > <el-input v-model="row.nowUserName" style="width: 100%"></el-input> @@ -154,7 +158,8 @@ <el-table-column prop="nowUserPhone" label="鑱旂郴鐢佃瘽" align="center"> <template slot-scope="{$index,row}"> <el-form-item - :prop="`transferGoods.${goodsIndex}.models.${mIndex}].procureModelUserList.${$index}.nowUserPhone`" + :prop="`transferGoods.${goodsIndex}.models.${mIndex}.procureModelUserList.${$index}.nowUserPhone`" + :rules="[{required: true, message: '璇疯緭鍏ヨ仈绯荤數璇�', trigger: ['blur', 'change']}]" label-width="0" > <el-input v-model="row.nowUserPhone" style="width: 100%"></el-input> @@ -180,12 +185,15 @@ </el-table> </el-col> <!--BC绫诲晢鍝� --> - <el-col style="padding: 10px 0" :span="10" v-else> + <el-col style="padding: 15px 0" :span="10" v-else> <el-form-item label="鍒嗗彂鏁伴噺:" :prop="`transferGoods.${goodsIndex}.models.${mIndex}.counts`" + :rules="[ + {validator: checkCounts, type: 2,worehouseCount: mItem.worehouseCount, trigger: ['blur', 'change']} + ]" style="margin-bottom: 0" label-width="80"> - <el-input v-model.number="goodsItem.models[mIndex].counts" style="width: 160px;"></el-input> + <el-input v-model.number="mItem.counts" style="width: 160px;"></el-input> </el-form-item> </el-col> </el-row> @@ -258,23 +266,35 @@ } callback(); }; - // 鏁伴噺鏍¢獙 - var checkCounts = (rule, value, callback) => { - console.log(value); - if (!value) { - return callback(new Error('璇疯緭鍏�')); - } - if (!Number.isInteger(value)) { - this.$message.warning('璇疯緭鍏ユ暟瀛楀��'); - return callback(new Error('璇疯緭鍏ユ暟瀛楀��')); - } - if (value == 0) { - this.$message.warning('鏁板瓧鍊间笉鑳戒负0'); - return callback(new Error('鏁板瓧鍊间笉鑳戒负0')); - } - callback(); - }; return { + checkCounts: (rule, value, callback) => { + if (!value) { + return callback(new Error('璇疯緭鍏ュ垎鍙戞暟閲�')); + } + if (!Number.isInteger(value)) { + // this.$message.warning('璇疯緭鍏ユ暟瀛楀��'); + return callback(new Error('璇疯緭鍏ユ暟瀛楀��')); + } + if (value < 1) { + // this.$message.warning('鏁板瓧鍊间笉鑳戒负0'); + return callback(new Error('鏁板瓧鍊煎繀椤诲ぇ浜�0')); + } + if (value > rule.worehouseCount) { + // this.$message.warning('鍒嗗彂鏁伴噺涓嶈兘澶т簬鍓╀綑鏁伴噺'); + return callback(new Error('鍒嗗彂鏁伴噺涓嶈兘澶т簬鍓╀綑鏁伴噺')); + } + if(rule.type===1){ + let sum = 0 + rule.userList.map(item=>{ + sum+=(item.goodsNum||0) + }) + if (sum > rule.worehouseCount) { + // this.$message.warning('鍒嗗彂鏁伴噺鎬诲拰涓嶈兘澶т簬鍓╀綑鏁伴噺'); + return callback(new Error('鍒嗗彂鏁伴噺鎬诲拰涓嶈兘澶т簬鍓╀綑鏁伴噺')); + } + } + callback(); + }, loading: false, buyTypeOptions: [ { @@ -329,21 +349,25 @@ baseCategoryIds: [{required: true, message: '璇烽�夋嫨', trigger: 'change'}], baseGoodsTemplateId: [{validator: checkGoodsTemplateId, trigger: ['blur', 'change']}], modelsIds: [{required: true, message: '璇烽�夋嫨', trigger: 'change'}], - transferGoods:{ - models:{ - counts: [ - { required: true, message: '璇疯緭鍏�', trigger: 'change' }, - { type: 'number', message: '鏁伴噺蹇呴』涓烘暣鏁�' }, - ], - procureModelUserList:{ - goodsNum: [ { required: true, message: '璇疯緭鍏�', trigger: 'blur' }], - nowUserName: [ { required: true, message: '璇疯緭鍏�', trigger: 'blur' }], - nowUserPhone: [ { required: true, message: '璇疯緭鍏�', trigger: 'blur' }], - } + transferGoods: [ + { + models: [ + { + counts: [ + {required: true, message: '璇疯緭鍏�', trigger: 'change'}, + {type: 'number', message: '鏁伴噺蹇呴』涓烘暣鏁�'}, + ], + procureModelUserList: [ + { + goodsNum: [{required: true, message: '璇疯緭鍏�', trigger: 'blur'}], + nowUserName: [{required: true, message: '璇疯緭鍏�', trigger: 'blur'}], + nowUserPhone: [{required: true, message: '璇疯緭鍏�', trigger: 'blur'}], + } + ] + } + ] } - } - - + ] }, uploadSettings: { @@ -399,7 +423,7 @@ // 鑾峰彇鍏ュ簱浠撳簱鍒楄〃 getdeptmentList() { - departmentListAll({agencyId: this.userInfo.tenantId}) + departmentListAll({tenantId: this.userInfo.tenantId}) .then((res) => { this.departmentOptions = res; if (!this.setting.id && res.length) { -- Gitblit v1.9.1