Ver código fonte

日期选择问题

shaogen1995 7 meses atrás
pai
commit
22fef0b5a4

+ 3 - 0
后台管理/src/assets/styles/base.css

@@ -183,3 +183,6 @@ textarea {
 .ant-picker-dropdown {
   text-align: center;
 }
+.ant-picker-selection-item-remove {
+  display: none !important;
+}

+ 8 - 0
后台管理/src/assets/styles/base.less

@@ -290,3 +290,11 @@ textarea {
 .ant-picker-dropdown {
   text-align: center;
 }
+.ant-picker-selection-item-remove {
+  display: none !important;
+}
+// .ant-picker-year-btn,
+// .ant-picker-header-super-prev-btn,
+// .ant-picker-header-super-next-btn {
+//   display: none;
+// }

+ 19 - 10
后台管理/src/pages/A2orderSet/A2NoTime.tsx

@@ -1,4 +1,4 @@
-import React, { useCallback, useEffect, useRef, useState } from 'react'
+import React, { useCallback, useEffect, useState } from 'react'
 import styles from './index.module.scss'
 import { Button, DatePicker, Modal } from 'antd'
 import MyPopconfirm from '@/components/MyPopconfirm'
@@ -17,7 +17,7 @@ function A2NoTime({ baseTime, closeFu, editFu, num }: Props) {
 
   useEffect(() => {
     if (baseTime && baseTime !== '空') {
-      let txt = baseTime.replaceAll('月', '-').replaceAll('日', '')
+      let txt = baseTime.replaceAll('年', '-').replaceAll('月', '-').replaceAll('日', '')
       setValue(txt.split(','))
     }
   }, [baseTime])
@@ -30,15 +30,19 @@ function A2NoTime({ baseTime, closeFu, editFu, num }: Props) {
           arr = arr.filter((c, i) => i < num)
           MessageFu.warning(`最多${num}个日期,已过滤超出日期`)
         }
-        setValue(arr.map(v => v.replaceAll('月', '-').replaceAll('日', '')))
+        setValue(
+          arr.map(v => v.replaceAll('年', '-').replaceAll('月', '-').replaceAll('日', ''))
+        )
       } else setValue(null)
     },
     [num]
   )
 
-  const disabledDate = useCallback((time: any) => {
-    return dayjs().year() !== time.year()
-  }, [])
+  // const disabledDate = useCallback((time: any) => {
+  //   return dayjs().year() !== time.year()
+  // }, [])
+
+  // const [checkTime, setCheckTime] = useState(dayjs())
 
   return (
     <Modal
@@ -54,12 +58,17 @@ function A2NoTime({ baseTime, closeFu, editFu, num }: Props) {
         multiple
         onChange={onChange}
         maxTagCount='responsive'
-        value={value ? value.map(v => dayjs(`${dayjs().year()}-${v}`)) : []}
+        value={value ? value.map(v => dayjs(v)) : []}
         size='large'
-        allowClear={false}
-        format='MM月DD日'
-        disabledDate={disabledDate}
+        // allowClear={false}
+        format='YYYY年MM月DD日'
+        // disabledDate={disabledDate}
         // needConfirm={true}
+        // pickerValue={checkTime}
+        // onPanelChange={a => {
+        //   // 只能选择今年的月份
+        //   if (dayjs(a).year() === dayjs().year()) setCheckTime(a)
+        // }}
       />
 
       <div className='A2Nbtn'>

+ 3 - 2
后台管理/src/pages/A2orderSet/index.tsx

@@ -113,7 +113,8 @@ function A2orderSet() {
     return [
       {
         title: '不可预约日期',
-        render: (item: A2NolistType) => item.time || ' - '
+        render: (item: A2NolistType) =>
+          item.time ? item.time.replaceAll(',', ' , ') : ' - '
       },
       {
         title: '操作',
@@ -135,7 +136,7 @@ function A2orderSet() {
       let str = ''
 
       if (val) {
-        const arr = val.map(v => v.replaceAll('-', '月') + '日')
+        const arr = val.map(v => v.replace('-', '年').replace('-', '月') + '日')
         str = arr.join(',')
       }
 

+ 8 - 3
后台管理/src/pages/B1exhibit/index.tsx

@@ -49,11 +49,14 @@ function B1exhibit() {
       let str = ''
 
       if (val) {
-        const arr = val.map(v => v.replaceAll('-', '月') + '日')
+        const arr = val.map(v => v.replace('-', '年').replace('-', '月') + '日')
         str = arr.join(',')
       }
 
-      const res = await A2_APIsetConfig('cms/configExhibition/setConfig', { id: 15, rtf: str })
+      const res = await A2_APIsetConfig('cms/configExhibition/setConfig', {
+        id: 15,
+        rtf: str
+      })
       if (res.code === 0) {
         MessageFu.success('设置不可预约日期成功!')
         getNoListFu()
@@ -87,7 +90,9 @@ function B1exhibit() {
       <MyTable list={list} columnsTemp={B1tableC} pagingInfo={false} isNull='闭馆' />
 
       {/* 编辑 */}
-      {edit ? <B1edit list={list} closeFu={() => setEdit(false)} editTableFu={getListFu} /> : null}
+      {edit ? (
+        <B1edit list={list} closeFu={() => setEdit(false)} editTableFu={getListFu} />
+      ) : null}
 
       {/* 不可预约日期设置 */}
       {noTxt ? (

+ 3 - 4
展示端/src/pages/A3selectDay/index.tsx

@@ -21,7 +21,7 @@ function A3selectDay() {
     const res = await A3_APIgetInfoByDay(dayjs().format('YYYY-MM-DD'))
     if (res.code === 0) {
       let noTime: string = res.data.stopDate
-      noTime = noTime.replaceAll('月', '-').replaceAll('日', '')
+      noTime = noTime.replaceAll('年', '-').replaceAll('月', '-').replaceAll('日', '')
       const noTimeArr = noTime.split(',')
 
       const res2 = await A3_APIgetList()
@@ -33,7 +33,7 @@ function A3selectDay() {
 
         let arr: A3ListType[] = []
 
-        const arrTime = getWeekList('MM-DD', 8)
+        const arrTime = getWeekList('YYYY-MM-DD', 8)
 
         // 上午obj
         const AMobj = baseList[0]
@@ -59,7 +59,6 @@ function A3selectDay() {
         // if (noeXisoShi >= 12) arr[0].shangNum = 2
         // if (noeXisoShi >= 17) arr[0].xiaNum = 2
 
-        // 最多给2天可预约的日期
         arr = arr.filter(v => v.shangNum === 0 || v.xiaNum === 0)
 
         setList(arr)
@@ -103,7 +102,7 @@ function A3selectDay() {
                   // hidden={item.shangNum !== 0 && item.xiaNum !== 0}
                 >
                   <div className='A3R1'>
-                    {item.time} {item.txt}
+                    {item.time.substring(5)} {item.txt}
                   </div>
                   <div className='A3R2'>
                     <div

+ 7 - 2
展示端/src/pages/B3start/index.tsx

@@ -21,9 +21,14 @@ function B3start() {
       const res2 = await B3_APIgetList()
       if (res2.code === 0) {
         let noTime: string = res.data.stopDate
-        let noTimeArr = noTime.replaceAll('月', '.').replaceAll('日', '').split(',')
-        noTimeArr = noTimeArr.map(v => dayjs().format('YYYY') + '.' + v)
+        let noTimeArr = noTime
+          .replaceAll('年', '.')
+          .replaceAll('月', '.')
+          .replaceAll('日', '')
+          .split(',')
+        // noTimeArr = noTimeArr.map(v => dayjs().format('YYYY') + '.' + v)
         const arr = getWeekList()
+
         let arrRes: TimeChageResType[] = []
         arr.forEach(v => {
           if (!noTimeArr.includes(v.date)) {