Browse Source

fix: 服务商/家长端页面日期解析改用 parseDate(iOS 兼容)

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
asus 3 months ago
parent
commit
4d66d01f95

+ 5 - 2
cfc-frontend/pages/guide/activities/detail.vue

@@ -126,6 +126,7 @@
 <script>
 import { getGuideActivityDetail, createActivity, updateActivity, publishActivity } from '../../../utils/api.js'
 import config from '@/config.js'
+import { parseDate } from '../../../utils/format.js'
 
 export default {
   data() {
@@ -194,7 +195,8 @@ export default {
             mode: 'time',
             success: function(res2) {
               var time = res2.value
-              var d = new Date(date)
+              var d = parseDate(date)
+              if (!d) return
               var parts = time.split(':')
               d.setHours(parseInt(parts[0]), parseInt(parts[1]))
               self.form.activityDate = d
@@ -308,7 +310,8 @@ export default {
     },
     formatDate(dateStr) {
       if (!dateStr) return ''
-      var d = new Date(dateStr)
+      var d = parseDate(dateStr)
+      if (!d) return ''
       var y = d.getFullYear()
       var m = ('0' + (d.getMonth() + 1)).slice(-2)
       var day = ('0' + d.getDate()).slice(-2)

+ 3 - 1
cfc-frontend/pages/guide/activities/index.vue

@@ -84,6 +84,7 @@
 <script>
 import { getActivityList, publishActivity, cancelActivity, deleteActivity } from '../../../utils/api.js'
 import config from '@/config.js'
+import { parseDate } from '../../../utils/format.js'
 
 export default {
   data() {
@@ -198,7 +199,8 @@ export default {
     },
     formatDate(dateStr) {
       if (!dateStr) return ''
-      var d = new Date(dateStr)
+      var d = parseDate(dateStr)
+      if (!d) return ''
       var y = d.getFullYear()
       var m = ('0' + (d.getMonth() + 1)).slice(-2)
       var day = ('0' + d.getDate()).slice(-2)

+ 3 - 1
cfc-frontend/pages/guide/bind/invite.vue

@@ -69,6 +69,7 @@
 <script>
 import { generateBindInvite, generateQrCodeFromText } from '@/utils/api.js'
 import config from '@/config.js'
+import { parseDate } from '@/utils/format.js'
 
 export default {
   data() {
@@ -204,7 +205,8 @@ export default {
     },
     formatDate(date) {
       if (!date) return ''
-      const d = new Date(date)
+      const d = parseDate(date)
+      if (!d) return ''
       return `${d.getMonth() + 1}-${d.getDate()}`
     },
     goHome() {

+ 3 - 1
cfc-frontend/pages/guide/invite/share.vue

@@ -108,6 +108,7 @@
 
 <script>
 import { getInviteCodes, generateInviteCode, generateQrCodeFromText } from '../../../utils/api.js'
+import { parseDate } from '../../../utils/format.js'
 
 export default {
   data() {
@@ -322,7 +323,8 @@ export default {
 
     formatDate(dateStr) {
       if (!dateStr) return ''
-      const date = new Date(dateStr)
+      const date = parseDate(dateStr)
+      if (!date) return ''
       return `${date.getMonth() + 1}月${date.getDate()}日`
     }
   }

+ 3 - 1
cfc-frontend/pages/parent/appointments.vue

@@ -61,6 +61,7 @@
 
 <script>
 import { getMyAppointments, cancelAppointment } from '../../utils/api.js'
+import { parseDate } from '../../utils/format.js'
 
 export default {
   data() {
@@ -90,7 +91,8 @@ export default {
 
     formatTime(ts) {
       if (!ts) return ''
-      const d = new Date(ts)
+      const d = parseDate(ts)
+      if (!d) return ''
       return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')} ${String(d.getHours()).padStart(2, '0')}:${String(d.getMinutes()).padStart(2, '0')}`
     },
 

+ 3 - 1
cfc-frontend/pages/teacher/appointments.vue

@@ -70,6 +70,7 @@
 
 <script>
 import { getGuideAppointments, confirmAppointment, cancelAppointment } from '../../utils/api.js'
+import { parseDate } from '../../utils/format.js'
 
 export default {
   data() {
@@ -106,7 +107,8 @@ export default {
 
     formatTime(ts) {
       if (!ts) return ''
-      const d = new Date(ts)
+      const d = parseDate(ts)
+      if (!d) return ''
       return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')} ${String(d.getHours()).padStart(2, '0')}:${String(d.getMinutes()).padStart(2, '0')}`
     },
 

+ 3 - 1
cfc-frontend/pages/teacher/service-tasks.vue

@@ -70,6 +70,7 @@
 
 <script>
 import config from '@/config.js'
+import { parseDate } from '../../utils/format.js'
 
 export default {
   data() {
@@ -161,7 +162,8 @@ export default {
     },
     formatTime(timeStr) {
       if (!timeStr) return ''
-      const date = new Date(timeStr)
+      const date = parseDate(timeStr)
+      if (!date) return ''
       return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')} ${String(date.getHours()).padStart(2, '0')}:${String(date.getMinutes()).padStart(2, '0')}`
     },
     getStatusClass(task) {

+ 3 - 1
cfc-frontend/pages/vendor/orders/orders.vue

@@ -61,6 +61,7 @@
 
 <script>
 import { productOrderVendor, productOrderConfirm } from '@/utils/api.js'
+import { parseDate } from '@/utils/format.js'
 
 export default {
   data() {
@@ -151,7 +152,8 @@ export default {
     },
     formatTime(time) {
       if (!time) return ''
-      const d = new Date(time)
+      const d = parseDate(time)
+      if (!d) return ''
       return d.getFullYear() + '-' + String(d.getMonth() + 1).padStart(2, '0') + '-' + String(d.getDate()).padStart(2, '0')
     }
   }