refactor(wms): 移除钢卷号重复校验并替换部门选择组件

移除多个组件中关于钢卷号重复的远程校验逻辑,改为本地校验
将部门选择从DictSelect替换为el-select组件,直接从API获取部门数据
This commit is contained in:
砂糖
2026-03-05 17:28:13 +08:00
parent 9e24368d4c
commit f6c60226ba
7 changed files with 101 additions and 102 deletions

View File

@@ -477,19 +477,19 @@ export default {
currentCoilNo: [
{ required: true, message: "当前钢卷号不能为空", trigger: "blur" },
// 远程校验,当前钢卷号不能重复
{
validator: (rule, value, callback) => {
checkCoilNo({ currentCoilNo: value, coilId: this.form.coilId }).then(res => {
const { duplicateType } = res.data;
if (duplicateType === 'current' || duplicateType === 'both') {
// alert('当前钢卷号重复,请重新输入');
callback(new Error('当前钢卷号重复,请重新输入'));
} else {
callback();
}
})
}, trigger: 'blur'
},
// {
// validator: (rule, value, callback) => {
// checkCoilNo({ currentCoilNo: value, coilId: this.form.coilId }).then(res => {
// const { duplicateType } = res.data;
// if (duplicateType === 'current' || duplicateType === 'both') {
// // alert('当前钢卷号重复,请重新输入');
// callback(new Error('当前钢卷号重复,请重新输入'));
// } else {
// callback();
// }
// })
// }, trigger: 'blur'
// },
],
materialType: [
{ required: true, message: "材料类型不能为空", trigger: "change" }

View File

@@ -443,19 +443,19 @@ export default {
currentCoilNo: [
{ required: true, message: "当前钢卷号不能为空", trigger: "blur" },
// 远程校验,当前钢卷号不能重复
{
validator: (rule, value, callback) => {
checkCoilNo({ currentCoilNo: value, coilId: this.form.coilId }).then(res => {
const { duplicateType } = res.data;
if (duplicateType === 'current' || duplicateType === 'both') {
// alert('当前钢卷号重复,请重新输入');
callback(new Error('当前钢卷号重复,请重新输入'));
} else {
callback();
}
})
}, trigger: 'blur'
},
// {
// validator: (rule, value, callback) => {
// checkCoilNo({ currentCoilNo: value, coilId: this.form.coilId }).then(res => {
// const { duplicateType } = res.data;
// if (duplicateType === 'current' || duplicateType === 'both') {
// // alert('当前钢卷号重复,请重新输入');
// callback(new Error('当前钢卷号重复,请重新输入'));
// } else {
// callback();
// }
// })
// }, trigger: 'blur'
// },
],
materialType: [
{ required: true, message: "材料类型不能为空", trigger: "change" }

View File

@@ -590,26 +590,26 @@ export default {
currentCoilNo: [
{ required: true, message: "当前钢卷号不能为空", trigger: "blur" },
// 仅在新增的时候校验
{
validator: (rule, value, callback) => {
// if (this.form.coilId) {
// // 修改时会有coilId不触发校验
// console.log('修改时会有coilId不触发校验');
// callback();
// } else {
// 没有coilId则为新增 触发校验
checkCoilNo({ currentCoilNo: value, coilId: this.form.coilId }).then(res => {
const { duplicateType } = res.data;
if (duplicateType === 'current' || duplicateType === 'both') {
// alert('当前钢卷号重复,请重新输入');
callback(new Error('当前钢卷号重复,请重新输入'));
} else {
callback();
}
})
// }
}, trigger: 'blur'
}
// {
// validator: (rule, value, callback) => {
// // if (this.form.coilId) {
// // // 修改时会有coilId不触发校验
// // console.log('修改时会有coilId不触发校验');
// // callback();
// // } else {
// // 没有coilId则为新增 触发校验
// checkCoilNo({ currentCoilNo: value, coilId: this.form.coilId }).then(res => {
// const { duplicateType } = res.data;
// if (duplicateType === 'current' || duplicateType === 'both') {
// // alert('当前钢卷号重复,请重新输入');
// callback(new Error('当前钢卷号重复,请重新输入'));
// } else {
// callback();
// }
// })
// // }
// }, trigger: 'blur'
// }
],
itemId: [
{ required: true, message: "物品ID不能为空", trigger: "blur" }

View File

@@ -278,20 +278,20 @@ export default {
}, trigger: 'blur'
},
// 仅在新增的时候校验
{
validator: (rule, value, callback) => {
// 没有coilId则为新增 触发校验
checkCoilNo({ currentCoilNo: value, coilId: this.splitForm.coilId }).then(res => {
const { duplicateType } = res.data;
if (duplicateType === 'current' || duplicateType === 'both') {
// alert('当前钢卷号重复,请重新输入');
callback(new Error('当前钢卷号重复,请重新输入'));
} else {
callback();
}
})
}, trigger: 'blur'
}
// {
// validator: (rule, value, callback) => {
// // 没有coilId则为新增 触发校验
// checkCoilNo({ currentCoilNo: value, coilId: this.splitForm.coilId }).then(res => {
// const { duplicateType } = res.data;
// if (duplicateType === 'current' || duplicateType === 'both') {
// // alert('当前钢卷号重复,请重新输入');
// callback(new Error('当前钢卷号重复,请重新输入'));
// } else {
// callback();
// }
// })
// }, trigger: 'blur'
// }
],
materialType: [{ required: true, message: '请选择材料类型', trigger: 'change' }],
itemId: [{ required: true, message: '请选择成品/原料', trigger: 'change' }],

View File

@@ -298,20 +298,20 @@ export default {
}, trigger: 'blur'
},
// 仅在新增的时候校验
{
validator: (rule, value, callback) => {
// 没有coilId则为新增 触发校验
checkCoilNo({ currentCoilNo: value, coilId: this.updateForm.coilId }).then(res => {
const { duplicateType } = res.data;
if (duplicateType === 'current' || duplicateType === 'both') {
// alert('当前钢卷号重复,请重新输入');
callback(new Error('当前钢卷号重复,请重新输入'));
} else {
callback();
}
})
}, trigger: 'blur'
}
// {
// validator: (rule, value, callback) => {
// // 没有coilId则为新增 触发校验
// checkCoilNo({ currentCoilNo: value, coilId: this.updateForm.coilId }).then(res => {
// const { duplicateType } = res.data;
// if (duplicateType === 'current' || duplicateType === 'both') {
// // alert('当前钢卷号重复,请重新输入');
// callback(new Error('当前钢卷号重复,请重新输入'));
// } else {
// callback();
// }
// })
// }, trigger: 'blur'
// }
],
team: [
{ required: true, message: '请输入班组', trigger: 'blur' }

View File

@@ -31,7 +31,15 @@
/>
</el-form-item>
<el-form-item label="部门名称" prop="deptName">
<DictSelect dictType="hrm_department" v-model="queryParams.deptName" placeholder="请选择部门名称"></DictSelect>
<!-- <DictSelect dictType="hrm_department" v-model="queryParams.deptName" placeholder="请选择部门名称"></DictSelect> -->
<el-select v-model="queryParams.deptName" placeholder="请选择部门名称">
<el-option
v-for="dict in deptOptions"
:key="dict.deptName"
:label="dict.deptName"
:value="dict.deptName"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="报餐人" prop="reportUserName">
<employee-selector v-model="queryParams.reportUserName" :key-field="'name'" placeholder="请选择报餐人姓名" />
@@ -156,7 +164,15 @@
</el-select>
</el-form-item>
<el-form-item label="部门名称" prop="deptName">
<DictSelect dictType="hrm_department" v-model="form.deptName" placeholder="请选择部门名称"></DictSelect>
<el-select v-model="form.deptName" placeholder="请选择部门名称">
<el-option
v-for="dict in deptOptions"
:key="dict.deptName"
:label="dict.deptName"
:value="dict.deptName"
></el-option>
</el-select>
<!-- <DictSelect dictType="hrm_department" v-model="form.deptName" placeholder="请选择部门名称"></DictSelect> -->
</el-form-item>
<el-form-item label="堂食成员" prop="dineInPeopleList">
<employee-selector v-model="form.dineInPeopleList" :key-field="'name'" :multiple="true" placeholder="请选择堂食成员" @change="handleDineInPeopleChange" :disabled-names="form.takeoutPeopleList || ''" />
@@ -188,6 +204,7 @@
import { listMealReport, getMealReport, delMealReport, addMealReport, updateMealReport } from "@/api/wms/mealReport";
import DictSelect from "@/components/DictSelect";
import EmployeeSelector from "@/components/EmployeeSelector";
import { listDept } from "@/api/wms/dept"
export default {
name: "MealReport",
@@ -241,11 +258,13 @@ export default {
takeoutPeople: [{ required: true, message: '打包人数不能为空', trigger: 'blur' }],
totalPeople: [{ required: true, message: '用餐总人数不能为空', trigger: 'blur' }],
reportUserName: [{ required: true, message: '报餐人姓名不能为空', trigger: 'change' }]
}
},
deptOptions: []
};
},
created() {
this.getList();
this.getDeptList();
},
watch: {
'form.dineInPeople': {
@@ -262,6 +281,11 @@ export default {
}
},
methods: {
getDeptList() {
listDept().then(response => {
this.deptOptions = response.data
})
},
/** 查询部门报餐主列表 */
getList() {
this.loading = true;

View File

@@ -395,31 +395,6 @@ export default {
this.title = "修改收货单";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
this.buttonLoading = true;
if (this.form.waybillId != null) {
updateDeliveryWaybill(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
}).finally(() => {
this.buttonLoading = false;
});
} else {
addDeliveryWaybill(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
}).finally(() => {
this.buttonLoading = false;
});
}
}
});
},
/** 导出按钮操作 */
handleExport() {
this.download('wms/deliveryWaybill/export', {