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