pxb 2 週間 前
コミット
f3d2ac1084

+ 4 - 2
src/components/TableSearch/index.vue

@@ -213,11 +213,13 @@ export default {
         return valueFormat[type]
       }
     },
-    // 日期选择器配置:默认禁止选择未来日期,可用 item.pickerOptions 覆盖
+    // 日期选择器配置:默认禁止选择未来日期(当天整天可选),可用 item.pickerOptions 覆盖
     datePickerOptions() {
       return (item) => {
         const defaultDisabled = (time) => {
-          return time.getTime() > Date.now()
+          const endOfToday = new Date()
+          endOfToday.setHours(23, 59, 59, 999)
+          return time.getTime() > endOfToday.getTime()
         }
         const itemOptions = item.pickerOptions || {}
         const itemDisabled = itemOptions.disabledDate

+ 21 - 0
src/utils/index.js

@@ -163,3 +163,24 @@ export const getLastDays = (value) => {
 
   return [format(startDate), format(today)] // 返回[起始日期, 结束日期]
 }
+
+// 禁止选择未来日期(当天整天可选)——用于 el-date-picker 的 picker-options
+export const disableFutureDate = {
+  disabledDate(time) {
+    const endOfToday = new Date()
+    endOfToday.setHours(23, 59, 59, 999)
+    return time.getTime() > endOfToday.getTime()
+  }
+}
+
+// 构建日期选择器 picker-options:默认禁止未来日期,可叠加自定义项(如 shortcuts)
+export const buildDatePickerOptions = (extra = {}) => {
+  return {
+    disabledDate(time) {
+      const endOfToday = new Date()
+      endOfToday.setHours(23, 59, 59, 999)
+      return time.getTime() > endOfToday.getTime()
+    },
+    ...extra
+  }
+}

+ 2 - 5
src/views/Digital/MacauMarkSix/index.vue

@@ -194,6 +194,7 @@
 
 <script>
 import { getLotteryList, setOpenCode } from '@/api/data';
+import { disableFutureDate } from '@/utils/index';
 
 export default {
   name: 'LotteryList',
@@ -222,11 +223,7 @@ export default {
       greenWaves: ['5', '6', '11', '16', '17', '21', '22', '27', '28', '32', '33', '38', '39', '43', '44', '49'],
 
       // 禁止选择未来日期
-      disableFutureDate: {
-        disabledDate(time) {
-          return time.getTime() > Date.now()
-        }
-      }
+      disableFutureDate
     };
   },
   created() {

+ 3 - 5
src/views/Digital/order/index.vue

@@ -37,6 +37,7 @@
 <script>
 import Dialog from '@/components/Dialog/index.vue'
 import UnifiedOrderDetail from '../detail/index.vue' // 根据实际路径调整
+import { buildDatePickerOptions } from '@/utils/index'
 
 const lotteryStatusOptions = [
   { value: 0, label: '待开奖' },
@@ -76,10 +77,7 @@ export default {
       activeType: '',
       detailId: null, // 详情弹窗使用的订单ID
       lotteryTypeTabs: [{ label: '全部', value: '' }, ...lotteryTypeOptions],
-      pickerOptions: {
-        disabledDate(time) {
-          return time.getTime() > Date.now()
-        },
+      pickerOptions: buildDatePickerOptions({
         shortcuts: [
           {
             text: '今天',
@@ -115,7 +113,7 @@ export default {
             }
           }
         ]
-      },
+      }),
 
       searchForm: [
         { label: '注册来源', type: 'select', prop: 'from', default: '1', clearable: true, options: [

+ 6 - 2
src/views/Homepage/Homepage/index.vue

@@ -921,7 +921,9 @@ export default {
       return {
         disabledDate: (time) => {
           // 禁止选择未来日期
-          if (time.getTime() > Date.now()) return true
+          const endOfToday = new Date()
+          endOfToday.setHours(23, 59, 59, 999)
+          if (time.getTime() > endOfToday.getTime()) return true
           // 开始日期不得晚于结束日期
           if (this.query.end_date) {
             return time.getTime() > new Date(this.query.end_date).getTime()
@@ -934,7 +936,9 @@ export default {
       return {
         disabledDate: (time) => {
           // 禁止选择未来日期
-          if (time.getTime() > Date.now()) return true
+          const endOfToday = new Date()
+          endOfToday.setHours(23, 59, 59, 999)
+          if (time.getTime() > endOfToday.getTime()) return true
           // 结束日期不得早于开始日期
           if (this.query.start_date) {
             return time.getTime() < new Date(this.query.start_date).getTime()

+ 2 - 5
src/views/agent/index.vue

@@ -342,6 +342,7 @@
 </template>
 
 <script>
+import { disableFutureDate } from '@/utils/index'
 export default {
   name: 'AgentList',
   data() {
@@ -418,11 +419,7 @@ export default {
     },
     // 禁止选择未来日期
     disableFutureDate() {
-      return {
-        disabledDate(time) {
-          return time.getTime() > Date.now()
-        }
-      }
+      return disableFutureDate
     }
   },
   created() {

+ 2 - 5
src/views/agent/loginLog/index.vue

@@ -93,6 +93,7 @@
 </template>
 
 <script>
+import { disableFutureDate } from '@/utils/index'
 export default {
   name: 'AgentLoginLog',
   data() {
@@ -107,11 +108,7 @@ export default {
       limit: 10,
       total: 0,
       tableData: [],
-      disableFutureDate: {
-        disabledDate(time) {
-          return time.getTime() > Date.now()
-        }
-      }
+      disableFutureDate,
     }
   },
   created() {

+ 2 - 5
src/views/agent/report/index.vue

@@ -183,6 +183,7 @@
 </template>
 
 <script>
+import { disableFutureDate } from '@/utils/index'
 export default {
   name: 'AgentReport',
   data() {
@@ -197,11 +198,7 @@ export default {
       limit: 10,
       total: 0,
       tableData: [],
-      disableFutureDate: {
-        disabledDate(time) {
-          return time.getTime() > Date.now()
-        }
-      }
+      disableFutureDate,
     }
   },
   created() {

+ 2 - 5
src/views/agent/withdrawLog/index.vue

@@ -108,6 +108,7 @@
 </template>
 
 <script>
+import { disableFutureDate } from '@/utils/index'
 export default {
   name: 'AgentWithdrawLog',
   data() {
@@ -123,11 +124,7 @@ export default {
       limit: 10,
       total: 0,
       tableData: [],
-      disableFutureDate: {
-        disabledDate(time) {
-          return time.getTime() > Date.now()
-        }
-      }
+      disableFutureDate,
     }
   },
   created() {

+ 2 - 5
src/views/certification/jisuHistory/index.vue

@@ -481,6 +481,7 @@ import {
   issuelotteryDraw,
   pcIssuepreDraw
 } from '@/api/data';
+import { disableFutureDate } from '@/utils/index'
 
 const options28 = [
   { value: 0, label: '草稿' },
@@ -589,11 +590,7 @@ export default {
     },
     // 禁止选择未来日期
     disableFutureDate() {
-      return {
-        disabledDate(time) {
-          return time.getTime() > Date.now()
-        }
-      }
+      return disableFutureDate
     }
   },
   mounted() {

+ 2 - 5
src/views/certification/jisuHistory/index1.vue

@@ -282,6 +282,7 @@
 
 <script>
 import {getJisuLotteryList, setJisuOpenCode} from '@/api/data';
+import { disableFutureDate } from '@/utils/index';
 
 export default {
   name: 'LotteryList',
@@ -305,11 +306,7 @@ export default {
       currentRow: null,
 
       // 禁止选择未来日期
-      disableFutureDate: {
-        disabledDate(time) {
-          return time.getTime() > Date.now()
-        }
-      }
+      disableFutureDate
     };
   },
   created() {

+ 2 - 5
src/views/certification/jisuOrder/index.vue

@@ -182,6 +182,7 @@
 
 <script>
 import { getjisuGameOrderList, jisuGameOrderRefund } from '@/api/data.js'
+import { disableFutureDate } from '@/utils/index'
 
 export default {
   name: 'JisuGameOrderList',
@@ -234,11 +235,7 @@ export default {
     },
     // 禁止选择未来日期
     disableFutureDate() {
-      return {
-        disabledDate(time) {
-          return time.getTime() > Date.now()
-        }
-      }
+      return disableFutureDate
     }
   },
   mounted() {

+ 3 - 5
src/views/fund/inOutSummary/index.vue

@@ -61,6 +61,7 @@
 </template>
 
 <script>
+import { buildDatePickerOptions } from '@/utils/index'
 export default {
   name: 'InOutSummary',
   data() {
@@ -69,10 +70,7 @@ export default {
       query: {
         dateRange: [this.getDefaultDate(0) + ' 00:00:00', this.getDefaultDate(0) + ' 23:59:59']
       },
-      pickerOptions: {
-        disabledDate(time) {
-          return time.getTime() > Date.now()
-        },
+      pickerOptions: buildDatePickerOptions({
         shortcuts: [
           {
             text: '今天',
@@ -108,7 +106,7 @@ export default {
             }
           }
         ]
-      },
+      }),
       // 假数据:收入
       incomeRows: [
         { name: '公司入款', amount: 0, count: 0 },

+ 3 - 5
src/views/fund/manualAudit/index.vue

@@ -139,6 +139,7 @@
 <script>
 import { withdraw, walletdebiting, getChangeTypes } from '@/api/data'
 import Dialog from '@/components/Dialog/index.vue'
+import { buildDatePickerOptions } from '@/utils/index'
 
 // 假数据
 const MANUAL_AUDIT_MOCK = [
@@ -183,10 +184,7 @@ export default {
         amount: [{ required: true, message: '请输入金额', trigger: 'blur' }]
       },
       viewRow: null,
-      pickerOptions: {
-        disabledDate(time) {
-          return time.getTime() > Date.now()
-        },
+      pickerOptions: buildDatePickerOptions({
         shortcuts: [
           {
             text: '今天',
@@ -222,7 +220,7 @@ export default {
             }
           }
         ]
-      }
+      })
     }
   },
   computed: {

+ 2 - 5
src/views/fund/thirdPartyDeposit/index.vue

@@ -148,6 +148,7 @@
 
 <script>
 import Dialog from '@/components/Dialog/index.vue'
+import { disableFutureDate } from '@/utils/index'
 
 // 假数据
 const THIRD_PARTY_MOCK = [
@@ -181,11 +182,7 @@ export default {
         submitRange: [],
         depositRange: []
       },
-      pickerOptions: {
-        disabledDate(time) {
-          return time.getTime() > Date.now()
-        }
-      }
+      pickerOptions: disableFutureDate
     }
   },
   computed: {

+ 2 - 5
src/views/operationalData/index.vue

@@ -89,6 +89,7 @@
 
 <script>
 import { operationIndex } from '@/api/data'
+import { disableFutureDate } from '@/utils/index'
 
 export default {
   data() {
@@ -110,11 +111,7 @@ export default {
         { title: '销售额', prop: 'total_price', bgColor: '#7190ff', type: 'price' },
       ],
       // 禁止选择未来日期
-      disableFutureDate: {
-        disabledDate(time) {
-          return time.getTime() > Date.now()
-        }
-      }
+      disableFutureDate
     }
   },
   mounted() {

+ 3 - 5
src/views/orderManage/List/index.vue

@@ -155,6 +155,7 @@
 <script>
 import Dialog from '@/components/Dialog/index.vue'
 import { orderRefund, walletOrderDebiting, walletOrderTopUp } from '@/api/data'
+import { buildDatePickerOptions } from '@/utils/index'
 
 export default {
   components: {
@@ -165,10 +166,7 @@ export default {
       loading: false,
       queryData: {},
       viewRow: null,
-      pickerOptions: {
-        disabledDate(time) {
-          return time.getTime() > Date.now()
-        },
+      pickerOptions: buildDatePickerOptions({
         shortcuts: [
           {
             text: '今天',
@@ -204,7 +202,7 @@ export default {
             }
           }
         ]
-      },
+      }),
 
       // 搜索表单配置
       searchForm: [

+ 2 - 5
src/views/orderManage/TotalSoccerAdvanceOrder/index.vue

@@ -145,6 +145,7 @@
 
 <script>
 import { getSportGameOrderList, refundSportGameOrder } from '@/api/data'
+import { disableFutureDate } from '@/utils/index'
 
 export default {
   name: 'SportGameOrderList',
@@ -189,11 +190,7 @@ export default {
     },
     // 禁止选择未来日期
     disableFutureDate() {
-      return {
-        disabledDate(time) {
-          return time.getTime() > Date.now()
-        }
-      }
+      return disableFutureDate
     }
   },
   mounted() {

+ 4 - 10
src/views/user/demoList/index.vue

@@ -283,6 +283,7 @@
 
 <script>
 import Dialog from "@/components/Dialog/index.vue";
+import { disableFutureDate, buildDatePickerOptions } from "@/utils/index";
 import {
   getChangeTypes,
   menucheck,
@@ -410,11 +411,7 @@ export default {
     },
     // 禁止选择未来日期
     disableFutureDate() {
-      return {
-        disabledDate(time) {
-          return time.getTime() > Date.now();
-        },
-      };
+      return disableFutureDate;
     }
   },
   data() {
@@ -430,10 +427,7 @@ export default {
           { required: true, message: "请输入新密码", trigger: "blur" },
         ],
       },
-      pickerOptions: {
-        disabledDate(time) {
-          return time.getTime() > Date.now();
-        },
+      pickerOptions: buildDatePickerOptions({
         shortcuts: [
           {
             text: "今天",
@@ -469,7 +463,7 @@ export default {
             },
           },
         ],
-      },
+      }),
       selectedMemberIds: [],
       channelGroupList: [],
       channelFormData: {

+ 8 - 3
src/views/user/userList/index.vue

@@ -484,11 +484,13 @@ export default {
         { label: 'IP', value: row.register_ip || '--' },
       ];
     },
-    // 禁止选择未来日期
+    // 禁止选择未来日期(当天整天可选)
     disableFutureDate() {
+      const endOfToday = new Date()
+      endOfToday.setHours(23, 59, 59, 999)
       return {
         disabledDate(time) {
-          return time.getTime() > Date.now();
+          return time.getTime() > endOfToday.getTime();
         },
       };
     }
@@ -507,8 +509,11 @@ export default {
         ],
       },
       pickerOptions: {
+        // 禁止选择未来日期(当天整天可选)
         disabledDate(time) {
-          return time.getTime() > Date.now();
+          const endOfToday = new Date()
+          endOfToday.setHours(23, 59, 59, 999)
+          return time.getTime() > endOfToday.getTime();
         },
         shortcuts: [
           {

+ 2 - 5
src/views/user/userOnlineSummary/index.vue

@@ -181,6 +181,7 @@
 <script>
 import { getOnlineUsers, getOnlineNewUserSummary } from '@/api/data'
 import Dialog from '@/components/Dialog/index.vue'
+import { disableFutureDate } from '@/utils/index'
 
 export default {
   name: 'UserOnlineSummary',
@@ -206,11 +207,7 @@ export default {
       query: {
         dateRange: [this.formatDefaultDate(-30), this.formatDefaultDate(0)]
       },
-      pickerOptions: {
-        disabledDate(time) {
-          return time.getTime() > Date.now()
-        }
-      },
+      pickerOptions: disableFutureDate,
       onlineListData: [],
       onlineTotal: 0,
       onlinePage: 1,

+ 2 - 5
src/views/user/userStatistics/index.vue

@@ -67,6 +67,7 @@
 <script>
 import * as echarts from 'echarts'
 import { getRegisterTrend, getRegisterDomain } from '@/api/data'
+import { disableFutureDate } from '@/utils/index'
 
 export default {
   name: 'UserStatistics',
@@ -84,11 +85,7 @@ export default {
       domainTotal: 0,
       domainPage: 1,
       domainPageSize: 50,
-      pickerOptions: {
-        disabledDate(time) {
-          return time.getTime() > Date.now()
-        }
-      }
+      pickerOptions: disableFutureDate
     }
   },
   computed: {