From e2525e1ed686dc305e562757c3a00b37ac3beec4 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期五, 21 六月 2024 16:24:32 +0800 Subject: [PATCH] time --- admin/src/components/business/operaVisitsWindow.vue | 68 +++++++++++++++++++++++++++++++++ 1 files changed, 67 insertions(+), 1 deletions(-) diff --git a/admin/src/components/business/operaVisitsWindow.vue b/admin/src/components/business/operaVisitsWindow.vue index a772e6e..72c3919 100644 --- a/admin/src/components/business/operaVisitsWindow.vue +++ b/admin/src/components/business/operaVisitsWindow.vue @@ -50,6 +50,8 @@ value-format="yyyy-MM-dd HH:mm:ss" type="datetime" default-time="08:00:00" + :picker-options="startPickerOptions" + @change="changeStarttime" /> </el-form-item> <el-form-item label="绂诲洯鏃堕棿" prop="endtime"> @@ -58,6 +60,7 @@ format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" + :picker-options="endPickerOptions" default-time="08:00:00" /> </el-form-item> @@ -88,6 +91,7 @@ import BaseOpera from '@/components/base/BaseOpera' import GlobalWindow from '@/components/common/GlobalWindow' import UploadFaceImg from '@/components/common/UploadFaceImg' +import dayjs from 'dayjs' import { createFk, getVisitedVisitReason, getVisitedMember } from '@/api/business/visits' export default { name: 'OperaVisitsHkWindow', @@ -101,13 +105,29 @@ isShowModal: false, param: { type: 0, - idcardType: 0 + idcardType: 0, + starttime: '', + endtime: '' }, VisitReason: [], memberList: [], uploadData: { folder: 'member' + }, + startPickerOptions: { + disabledDate (time) { + return time.getTime() < Date.now() - 8.64e7 // 绂佺敤瓒呰繃褰撳墠鏃堕棿鐨勬棩鏈� + }, + selectableRange: '00:00:00 - 23:59:59' // 杩欎釜鍔犱笂涔嬪悗锛屾椂鍒嗙涓婇潰鎵嶆湁绂佹閫夋嫨鍙樼伆锛屽鏋滀笉鍔狅紝涔熷彲浠ョ姝㈤�夋嫨锛屼絾鏄笉浼氬彉鐏� + }, + endPickerOptions: { + disabledDate: (time) => { + if (this.param.starttime) { + return new Date(this.param.starttime).getTime() > time.getTime() + 8.64e7 // 绂佺敤瓒呰繃褰撳墠鏃堕棿鐨勬棩鏈� + } + }, + selectableRange: '00:00:00 - 23:59:59' }, rules: { starttime: [{ required: true, message: '璇烽�夋嫨鏃ユ湡', trigger: 'change' }], @@ -130,6 +150,49 @@ this.$set(this.param, 'receptMemberId', this.$store.state.userInfo.memberId) this.initData() }, + watch: { + 'param.starttime': { + handler (newValue, oldValue) { + if (newValue) { + const date = new Date() + // const min = date.getMinutes() + // date.setMinutes(min) // 杩欓噷鍔�1鍒嗛挓锛屾槸涓轰簡瑙e喅鍊兼敼鍙樺悗锛岀郴缁熺鏁板氨杩囨湡闄愬埗浜嗭紝鏃犳硶鐐瑰嚮鈥滄鍒烩�濇寜閽紝 濡傛灉鐩戝惉 鈥滅郴缁熸椂闂粹�濈殑鏀瑰彉锛屽垯浼氬奖鍝嶆�ц兘銆� + const nowDate = dayjs(date).format('HH:mm:ss') + let st = '' + if (dayjs(date).format('yyyy-MM-DD') === dayjs(newValue).format('yyyy-MM-DD')) { + const hh1 = dayjs(newValue).format('HH:mm:ss') + // if (hh1 < nowDate) { + // this.param.starttime = new Date() + // } + st = nowDate + } else { + st = '00:00:00' + } + this.$set(this.startPickerOptions, 'selectableRange', st + ' - 23:59:59') + // this.startPickerOptions = this.startPickerOptions + } + }, + deep: true, + immediate: true + }, + 'param.endtime': { + handler (newValue, oldValue) { + if (newValue) { + const nowDate = dayjs(this.param.starttime).format('HH:mm:ss') + let st = '' + if (dayjs(this.param.starttime).format('yyyy-MM-DD') === dayjs(newValue).format('yyyy-MM-DD')) { + st = nowDate + } else { + st = '00:00:00' + } + this.$set(this.endPickerOptions, 'selectableRange', st + ' - 23:59:59') + // this.startPickerOptions = this.startPickerOptions + } + }, + deep: true, + immediate: true + } + }, methods: { initData () { getVisitedVisitReason({}).then(res => { @@ -143,6 +206,9 @@ this.$set(this.param, 'faceImg', file.imgurl) this.$set(this.param, 'faceImgUrl', file.imgurlfull) }, + changeStarttime (e) { + this.$set(this.param, 'endtime', this.param.starttime) + }, // 鍚屾淇℃伅 confirm () { this.$refs.paramRef.validate((valid) => { -- Gitblit v1.9.3