Explorar el Código

添加,设置节假日开放日期

lanxin hace 3 semanas
padre
commit
931b82232e

+ 1 - 1
src/pages/A6exhibition/A6add/index.tsx

@@ -185,7 +185,7 @@ function A6add({ editInfo, closeFu, addTableFu, editTableFu }: Props) {
             name='title'
             rules={[{ required: true, message: '请输入标题!' }]}
           >
-            <Input placeholder='请输入内容,最多20个字' maxLength={20} showCount />
+            <Input placeholder='请输入内容,最多30个字' maxLength={30} showCount />
           </Form.Item>
 
           <Form.Item

+ 15 - 2
src/pages/C1reserveOpt/C1NoTime.tsx

@@ -10,9 +10,10 @@ type Props = {
   editFu: (val: string[]) => void
   baseTime: string
   num: 20 | 50
+  openList: string
 }
 
-function C1NoTime({ baseTime, closeFu, editFu, num }: Props) {
+function C1NoTime({ baseTime, closeFu, editFu, num, openList }: Props) {
   const baseTimeArr = baseTime
     ? baseTime
         .split(',')
@@ -24,6 +25,18 @@ function C1NoTime({ baseTime, closeFu, editFu, num }: Props) {
     (date: any, dateString: string[] | string) => {
       if (dateString.length) {
         let arr = dateString as string[]
+        // 新增过滤逻辑:排除已在noList中的日期
+        const invalidDates = arr.filter(v =>
+          openList.includes(v.replaceAll('年', '-').replaceAll('月', '-').replaceAll('日', ''))
+        )
+        if (invalidDates.length > 0) {
+          MessageFu.warning(`日期${invalidDates.join(',')}已设置为节假日开放日期`)
+          arr = arr.filter(
+            v =>
+              !openList.includes(v.replaceAll('年', '-').replaceAll('月', '-').replaceAll('日', ''))
+          )
+        }
+        // 保留原有数量限制逻辑
         if (arr.length > num) {
           arr = arr.filter((c, i) => i < num)
           MessageFu.warning(`最多${num}个日期,已过滤超出日期`)
@@ -31,7 +44,7 @@ function C1NoTime({ baseTime, closeFu, editFu, num }: Props) {
         setValue(arr.map(v => v.replaceAll('年', '-').replaceAll('月', '-').replaceAll('日', '')))
       } else setValue([])
     },
-    [num]
+    [num, openList] // 添加noList到依赖数组
   )
 
   // const disabledDate = useCallback((time: any) => {

+ 16 - 3
src/pages/C1reserveOpt/C1OpenDay.tsx

@@ -10,9 +10,10 @@ type Props = {
   editFu: (val: string[], num: number) => void
   baseTime: string
   num: number
+  noList: string
 }
 
-function C1NoTime({ baseTime, closeFu, editFu, num }: Props) {
+function C1NoTime({ baseTime, closeFu, editFu, num, noList }: Props) {
   const baseTimeArr = baseTime
     ? JSON.parse(baseTime).openDate.map((v: any) =>
         v.replaceAll('年', '-').replaceAll('月', '-').replaceAll('日', '')
@@ -26,6 +27,18 @@ function C1NoTime({ baseTime, closeFu, editFu, num }: Props) {
     (date: any, dateString: string[] | string) => {
       if (dateString.length) {
         let arr = dateString as string[]
+        // 新增过滤逻辑:排除已在noList中的日期
+        const invalidDates = arr.filter(v =>
+          noList.includes(v.replaceAll('年', '-').replaceAll('月', '-').replaceAll('日', ''))
+        )
+        if (invalidDates.length > 0) {
+          MessageFu.warning(`日期${invalidDates.join(',')}已设置为不可预约日期`)
+          arr = arr.filter(
+            v =>
+              !noList.includes(v.replaceAll('年', '-').replaceAll('月', '-').replaceAll('日', ''))
+          )
+        }
+        // 保留原有数量限制逻辑
         if (arr.length > num) {
           arr = arr.filter((c, i) => i < num)
           MessageFu.warning(`最多${num}个日期,已过滤超出日期`)
@@ -33,7 +46,7 @@ function C1NoTime({ baseTime, closeFu, editFu, num }: Props) {
         setValue(arr.map(v => v.replaceAll('年', '-').replaceAll('月', '-').replaceAll('日', '')))
       } else setValue([])
     },
-    [num]
+    [num, noList] // 添加noList到依赖数组
   )
 
   return (
@@ -56,7 +69,7 @@ function C1NoTime({ baseTime, closeFu, editFu, num }: Props) {
       />
 
       <div className='allowCount'>
-        <div className='title'>节假日可预约人数</div>
+        <div className='title'>节假日时间段可预约人数</div>
         <InputNumber
           style={{ width: 120 }}
           defaultValue={500}

+ 3 - 1
src/pages/C1reserveOpt/index.tsx

@@ -44,7 +44,7 @@ function C1reserveOpt() {
   const getOpenListFu = useCallback(async () => {
     const res = await C1_APIgetbk({ type: 'openDate' })
     if (res.code === 0) {
-      setOpenList(res.data?.rtf || '')
+      setOpenList(res.data?.rtf || '{"openDate":[],"count":500}')
     }
   }, [])
 
@@ -144,6 +144,7 @@ function C1reserveOpt() {
         <C1NoTime
           num={20}
           baseTime={noList}
+          openList={openList}
           editFu={val => A2NoBtn(val)}
           closeFu={() => setIsShowNo(false)}
         />
@@ -154,6 +155,7 @@ function C1reserveOpt() {
         <C1OpenDay
           num={999}
           baseTime={openList}
+          noList={noList}
           editFu={(val, num) => A2OpenDayBtn(val, num)}
           closeFu={() => setIsShowOpenDay(false)}
         />

+ 2 - 2
src/utils/http.ts

@@ -16,8 +16,8 @@ console.log(baseUrlTemp)
 // const baseFlag = baseUrlTemp.includes('https://')
 
 // 请求基地址
-// export const baseURL = envFlag ? baseUrlTemp : baseUrlTemp
-export const baseURL = baseUrlTemp2
+export const baseURL = envFlag ? baseUrlTemp : baseUrlTemp
+// export const baseURL = baseUrlTemp2
 
 // 处理  类型"AxiosResponse<any, any>"上不存在属性"code"
 declare module 'axios' {