From 115fcb76642644a59d56ea4a88ce9906c0db3efb Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期六, 02 十二月 2023 17:44:53 +0800
Subject: [PATCH] feat: 部门物品管理 报废、退回新增时数量校验
---
admin-web/src/views/departmentitem/itemscr/scrapping/edit.vue | 28 +++++++++++++++++-----------
admin-web/src/views/departmentitem/itemret/returnNote/edit.vue | 14 ++++++++++++--
2 files changed, 29 insertions(+), 13 deletions(-)
diff --git a/admin-web/src/views/departmentitem/itemret/returnNote/edit.vue b/admin-web/src/views/departmentitem/itemret/returnNote/edit.vue
index 28a1bf7..c7afe42 100644
--- a/admin-web/src/views/departmentitem/itemret/returnNote/edit.vue
+++ b/admin-web/src/views/departmentitem/itemret/returnNote/edit.vue
@@ -149,6 +149,7 @@
]"
>
<el-input
+ clearable
type="number"
v-model.number="row.counts"
></el-input>
@@ -471,14 +472,23 @@
this.$refs['ruleForm'].validate((valid) => {
if (valid) {
let params = JSON.parse(JSON.stringify(this.formData))
- params.goods.map((g, gid) => {
+ params.goods.map(g => {
delete g.goodsOptions
let arr = []
g.models.map(m => {
- arr = arr.concat(m)
+ m.map(item=>{
+ if(item.counts&&item.counts>0){
+ arr.push(item)
+ }
+ })
})
g.models = arr
})
+ params.goods = params.goods.filter(g=>g.models.length>0)
+ if(params.goods.length===0){
+ this.$message.error('璇疯嚦灏戝~鍐欎竴涓��鍥炵墿鍝�');
+ return;
+ }
if (this.loading) return
this.loading = true
returnAdd(params)
diff --git a/admin-web/src/views/departmentitem/itemscr/scrapping/edit.vue b/admin-web/src/views/departmentitem/itemscr/scrapping/edit.vue
index 69d67af..7370b1f 100644
--- a/admin-web/src/views/departmentitem/itemscr/scrapping/edit.vue
+++ b/admin-web/src/views/departmentitem/itemscr/scrapping/edit.vue
@@ -149,6 +149,7 @@
]"
>
<el-input
+ clearable
type="number"
v-model.number="row.counts"
></el-input>
@@ -161,10 +162,10 @@
label-width="0"
:prop="`goods.${goodsIndex}.models.${mIndex}.scrappedCode`"
:rules="[
- {validator: checkReason,scrappedCode:row.scrappedCode, trigger: ['blur', 'change']}
+ {validator: checkReason,counts:row.counts,scrappedCode:row.scrappedCode, trigger: ['blur', 'change']}
]"
>
- <el-select v-model="row.scrappedCode" placeholder="璇烽�夋嫨">
+ <el-select v-model="row.scrappedCode" clearable placeholder="璇烽�夋嫨">
<el-option
v-for="item in scrapReasonOptions"
:key="item.dict_code"
@@ -254,15 +255,11 @@
return {
checkCounts: (rule, value, callback) => {
if (!rule.counts) {
- return callback(new Error('璇疯緭鍏ユ姤搴熸暟閲�'));
+ return callback();
}
if (!Number.isInteger(rule.counts)) {
// this.$message.warning('璇疯緭鍏ユ暟瀛楀��');
return callback(new Error('璇疯緭鍏ユ暟瀛楀��'));
- }
- if (rule.counts < 1) {
- // this.$message.warning('鏁板瓧鍊间笉鑳戒负0');
- return callback(new Error('鏁板瓧鍊煎繀椤诲ぇ浜�0'));
}
if (rule.counts > rule.userUseCount) {
// this.$message.warning('鍒嗗彂鏁伴噺涓嶈兘澶т簬鍓╀綑鏁伴噺');
@@ -271,7 +268,7 @@
callback();
},
checkReason: (rule, value, callback) => {
- if (!rule.scrappedCode) {
+ if (rule.counts && !rule.scrappedCode) {
return callback(new Error('璇烽�夋嫨鎶ュ簾鍘熷洜'));
}
callback();
@@ -504,15 +501,24 @@
this.$refs['ruleForm'].validate((valid) => {
if (valid) {
let params = JSON.parse(JSON.stringify(this.formData))
- params.goods.map((g, gid) => {
+ params.goods.map(g => {
delete g.goodsOptions
let arr = []
g.models.map(m => {
- arr = arr.concat(m)
+ m.map(item=>{
+ if(item.counts&&item.counts>0){
+ arr.push(item)
+ }
+ })
})
g.models = arr
})
- if(this.loading) return
+ params.goods = params.goods.filter(g=>g.models.length>0)
+ if(params.goods.length===0){
+ this.$message.error('璇疯嚦灏戝~鍐欎竴涓姤搴熺墿鍝�');
+ return;
+ }
+ if (this.loading) return
this.loading = true
scrappedAdd(params)
.then((res) => {
--
Gitblit v1.9.1