From fa797eec3c0e44daad063646697a89f99e027325 Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Wed, 4 Feb 2026 15:42:57 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=B1=BB=E5=9E=8B=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=8F=90=E7=A4=BA=E4=BF=AE=E6=94=B9=E3=80=81=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E7=AE=A1=E7=90=86=E5=BD=92=E8=BF=98=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/device-manage/useOrReturnForm.vue | 31 +++++++++++++++++-- src/views/basic/pro-type/index.vue | 2 +- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/views/basic/device-manage/useOrReturnForm.vue b/src/views/basic/device-manage/useOrReturnForm.vue index e2401db..9723756 100644 --- a/src/views/basic/device-manage/useOrReturnForm.vue +++ b/src/views/basic/device-manage/useOrReturnForm.vue @@ -78,12 +78,13 @@ export default { returnTime: '', }, userList: [], - pickerOptionsToday: { + /* pickerOptionsToday: { disabledDate(time) { // 禁用今天之前的日期(不含今天) - return time.getTime() < Date.now() - 8.64e7; // 8.64e7 = 24 * 60 * 60 * 1000 + // return time.getTime() < Date.now() - 8.64e7; // 8.64e7 = 24 * 60 * 60 * 1000 + return time.getTime() > Date.now(); } - } + } */ } }, computed: { @@ -97,6 +98,28 @@ export default { rules.returnTime = [{required: true, message: '请选择归还时间', trigger: 'change'}] } return rules + }, + pickerOptionsToday() { + // 保存 Vue 实例的 this,确保在 disabledDate 内部能访问到 data + const _this = this; + + return { + disabledDate(time) { + // 1. 获取当前系统时间(用于限制最大值为今天) + const now = Date.now(); + + // 2. 获取领用时间的时间戳(用于限制最小值为领用时间) + // 这里的 .replace(/-/g, '/') 是为了兼容 Safari 浏览器的日期解析 + let useTimeLimit = 0; + if (_this.useOrReturnForm.useTime) { + useTimeLimit = new Date(_this.useOrReturnForm.useTime.replace(/-/g, '/')).getTime(); + } + + // 3. 核心判断逻辑: + // 如果 (日期 > 今天) 或者 (日期 < 领用时间) 则禁用 + return time.getTime() > now || time.getTime() < useTimeLimit; + } + }; } }, created() { @@ -177,6 +200,8 @@ export default { this.displayBorrower = userName; if(startTime){ this.displayBorrowerData = startTime.substr(0, 10); + // 归还时需要设置 useTime,用于限制归还日期的最小值 + this.useOrReturnForm.useTime = startTime.substr(0, 10); } }, }, diff --git a/src/views/basic/pro-type/index.vue b/src/views/basic/pro-type/index.vue index f77ed16..e3e248d 100644 --- a/src/views/basic/pro-type/index.vue +++ b/src/views/basic/pro-type/index.vue @@ -180,7 +180,7 @@ export default { // 删除按钮 handleDelete(row) { - this.$modal.confirm('是否确认删除项目类型编号为"' + row.id + '"的数据项?').then(async () => { + this.$modal.confirm('是否确认删除项目类型名称为"' + row.typeName + '"的数据项?').then(async () => { var data ={id:row.id} const res = await delProTypeApi(data) if (res.code === 200) {