feat(borrow): 借库申请前端必填拦截与星标——申请原因、预计归还日期(长期借用除外)

- 提交前拦截:申请原因为空或(未勾长期借用且无归还日期)提示并 return
- 表单加必填星标:申请原因恒必填;预计归还日期仅在非长期借用时 required
This commit is contained in:
yueli
2026-09-09 10:53:16 +08:00
parent aa9322bcbc
commit e622697d7c

View File

@ -412,7 +412,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="预计归还日期"> <el-form-item label="预计归还日期" :required="!requestIndefinite">
<el-date-picker <el-date-picker
v-model="requestExpectedReturn" v-model="requestExpectedReturn"
type="date" type="date"
@ -426,12 +426,12 @@
长期借用 长期借用
</el-checkbox> </el-checkbox>
</el-form-item> </el-form-item>
<el-form-item label="申请原因"> <el-form-item label="申请原因" required>
<el-input <el-input
v-model="requestRemark" v-model="requestRemark"
type="textarea" type="textarea"
:rows="3" :rows="3"
placeholder="请填写借库申请原因(选填)" placeholder="请填写借库申请原因(必填)"
maxlength="200" maxlength="200"
show-word-limit show-word-limit
/> />
@ -1102,6 +1102,17 @@ const buildRemarkWithShortage = (baseRemark: string): string => {
} }
const confirmSubmitRequest = async () => { const confirmSubmitRequest = async () => {
// ★ 借库申请必填拦截:申请原因;预计归还日期(除非长期借用/不限归还)
const _reasonText = requestRemark.value.trim()
if (!_reasonText) {
ElMessage.warning('请填写借库申请原因')
return
}
if (!requestIndefinite.value && !requestExpectedReturn.value) {
ElMessage.warning('请填写预计归还日期,或勾选“长期借用(不限归还)”')
return
}
requestSubmitting.value = true requestSubmitting.value = true
try { try {
const items = validSelectedItems.value.map((item: any) => ({ const items = validSelectedItems.value.map((item: any) => ({