注册 openId 没有获取调整
This commit is contained in:
parent
f0c85a60f9
commit
8231066bf5
30
src/App.vue
30
src/App.vue
@ -1,12 +1,42 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {onHide, onLaunch, onShow} from "@dcloudio/uni-app";
|
import {onHide, onLaunch, onShow} from "@dcloudio/uni-app";
|
||||||
|
import {useDataStore} from "@/store/modules/data";
|
||||||
|
|
||||||
onLaunch(() => {
|
onLaunch(() => {
|
||||||
console.log("App Launch");
|
console.log("App Launch");
|
||||||
|
|
||||||
|
// #ifdef H5
|
||||||
|
// 作为备用方案:从URL获取参数并保存到 global
|
||||||
|
try {
|
||||||
|
const urlParams = new URLSearchParams(window.location.search);
|
||||||
|
const openId = urlParams.get('openId');
|
||||||
|
const menu = urlParams.get('menu');
|
||||||
|
const type = urlParams.get('type');
|
||||||
|
const profilePhoto = urlParams.get('profilePhoto');
|
||||||
|
|
||||||
|
if (openId) {
|
||||||
|
const {setGlobal, getGlobal} = useDataStore();
|
||||||
|
// 只在 global 还没有 openId 时才保存(避免覆盖已有数据)
|
||||||
|
if (!getGlobal.openId) {
|
||||||
|
setGlobal({
|
||||||
|
openId,
|
||||||
|
menu,
|
||||||
|
type: type ? parseInt(type) : 2,
|
||||||
|
profilePhoto
|
||||||
});
|
});
|
||||||
|
console.log('App.vue 保存 URL 参数到 global:', {openId, menu, type, profilePhoto});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error('App.vue 处理 URL 参数失败:', error);
|
||||||
|
}
|
||||||
|
// #endif
|
||||||
|
});
|
||||||
|
|
||||||
onShow(() => {
|
onShow(() => {
|
||||||
console.log("App Show");
|
console.log("App Show");
|
||||||
});
|
});
|
||||||
|
|
||||||
onHide(() => {
|
onHide(() => {
|
||||||
console.log("App Hide");
|
console.log("App Hide");
|
||||||
});
|
});
|
||||||
|
|||||||
@ -4,11 +4,6 @@
|
|||||||
<view class="header-section">
|
<view class="header-section">
|
||||||
<view class="header-gradient"></view>
|
<view class="header-gradient"></view>
|
||||||
|
|
||||||
<!-- 退出按钮 -->
|
|
||||||
<view class="logout-btn" @click="handleLogout">
|
|
||||||
<text class="logout-text">退出</text>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<!-- 老师信息 -->
|
<!-- 老师信息 -->
|
||||||
<view class="teacher-info">
|
<view class="teacher-info">
|
||||||
<view class="teacher-avatar">
|
<view class="teacher-avatar">
|
||||||
@ -843,25 +838,6 @@ defineExpose({
|
|||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 退出按钮
|
|
||||||
.logout-btn {
|
|
||||||
position: absolute;
|
|
||||||
top: 40rpx;
|
|
||||||
right: 30rpx;
|
|
||||||
z-index: 3;
|
|
||||||
background: rgba(255, 255, 255, 0.2);
|
|
||||||
border-radius: 20rpx;
|
|
||||||
padding: 10rpx 20rpx;
|
|
||||||
border: 1px solid rgba(255, 255, 255, 0.3);
|
|
||||||
backdrop-filter: blur(10px);
|
|
||||||
|
|
||||||
.logout-text {
|
|
||||||
color: #ffffff;
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 500;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 老师信息
|
// 老师信息
|
||||||
.teacher-info {
|
.teacher-info {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@ -96,6 +96,18 @@ function goByJs(js: any) {
|
|||||||
onLoad(async (data: any) => {
|
onLoad(async (data: any) => {
|
||||||
console.log('launchPage onLoad - 接收到的参数:', data);
|
console.log('launchPage onLoad - 接收到的参数:', data);
|
||||||
if (data && data.openId) {
|
if (data && data.openId) {
|
||||||
|
// ⭐ 先保存参数到 global,确保后续页面可以获取
|
||||||
|
setGlobal({
|
||||||
|
openId: data.openId,
|
||||||
|
menu: data.menu,
|
||||||
|
type: data.type || 2, // 默认为教师端
|
||||||
|
profilePhoto: data.profilePhoto,
|
||||||
|
qdId: data.qdId,
|
||||||
|
rqgqtime: data.rqgqtime,
|
||||||
|
timestampqd: data.timestampqd
|
||||||
|
});
|
||||||
|
console.log('已保存参数到 global:', { openId: data.openId, type: data.type });
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const res = await checkOpenId({
|
const res = await checkOpenId({
|
||||||
openId: data.openId,
|
openId: data.openId,
|
||||||
|
|||||||
@ -111,7 +111,7 @@ const formData = reactive({
|
|||||||
loginName: "",
|
loginName: "",
|
||||||
phone: "",
|
phone: "",
|
||||||
code: "",
|
code: "",
|
||||||
avatarUrl: "",
|
avatarUrl: getGlobal.profilePhoto || "", // ⭐ 从微信获取的头像
|
||||||
openId: getGlobal.openId,
|
openId: getGlobal.openId,
|
||||||
appCode: getGlobal.type == 1 ? "ZB" : "JS",
|
appCode: getGlobal.type == 1 ? "ZB" : "JS",
|
||||||
});
|
});
|
||||||
|
|||||||
@ -146,25 +146,21 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="info-card list-item-card">
|
<view class="info-card list-item-card">
|
||||||
<uni-datetime-picker type="datetime" v-model="formData.startTime">
|
<view class="list-item-row" @click="startTimePicker?.open()">
|
||||||
<view class="list-item-row">
|
|
||||||
<text class="list-label">开始时间</text>
|
<text class="list-label">开始时间</text>
|
||||||
<view class="list-value">
|
<view class="list-value">
|
||||||
<text>{{ formData.startTime || "请选择" }}</text>
|
<text :class="{ placeholder: !formData.startTime }">{{ formData.startTime || "请选择" }}</text>
|
||||||
<uni-icons type="right" size="16" color="#999"></uni-icons>
|
<uni-icons type="right" size="16" color="#999"></uni-icons>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</uni-datetime-picker>
|
|
||||||
|
|
||||||
<uni-datetime-picker type="datetime" v-model="formData.endTime">
|
<view class="list-item-row no-border" @click="endTimePicker?.open()">
|
||||||
<view class="list-item-row no-border">
|
|
||||||
<text class="list-label">结束时间</text>
|
<text class="list-label">结束时间</text>
|
||||||
<view class="list-value">
|
<view class="list-value">
|
||||||
<text>{{ formData.endTime || "请选择" }}</text>
|
<text :class="{ placeholder: !formData.endTime }">{{ formData.endTime || "请选择" }}</text>
|
||||||
<uni-icons type="right" size="16" color="#999"></uni-icons>
|
<uni-icons type="right" size="16" color="#999"></uni-icons>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</uni-datetime-picker>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
@ -230,6 +226,22 @@
|
|||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
<!-- 自定义时间选择器 -->
|
||||||
|
<DatetimePicker
|
||||||
|
ref="startTimePicker"
|
||||||
|
:value="formData.startTime || new Date().getTime()"
|
||||||
|
mode="datetime"
|
||||||
|
title="选择开始时间"
|
||||||
|
@confirm="handleStartTimeConfirm"
|
||||||
|
/>
|
||||||
|
<DatetimePicker
|
||||||
|
ref="endTimePicker"
|
||||||
|
:value="formData.endTime || new Date().getTime()"
|
||||||
|
mode="datetime"
|
||||||
|
title="选择结束时间"
|
||||||
|
@confirm="handleEndTimeConfirm"
|
||||||
|
/>
|
||||||
</BasicLayout>
|
</BasicLayout>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -243,6 +255,7 @@ import { imagUrl } from "@/utils";
|
|||||||
import { mobilejlstudentListApi, jlFindByIdApi, jlSaveApi } from "@/api/base/jlApi";
|
import { mobilejlstudentListApi, jlFindByIdApi, jlSaveApi } from "@/api/base/jlApi";
|
||||||
import { findAllNjBjTree } from "@/api/base/server";
|
import { findAllNjBjTree } from "@/api/base/server";
|
||||||
import { useUserStore } from "@/store/modules/user";
|
import { useUserStore } from "@/store/modules/user";
|
||||||
|
import DatetimePicker from "@/components/BasicPicker/TimePicker/DatetimePicker.vue";
|
||||||
|
|
||||||
interface Attachment {
|
interface Attachment {
|
||||||
name: string;
|
name: string;
|
||||||
@ -272,6 +285,11 @@ interface FormData {
|
|||||||
|
|
||||||
const noticeId = ref<string | null>(null);
|
const noticeId = ref<string | null>(null);
|
||||||
const isLoadingStudents = ref(false);
|
const isLoadingStudents = ref(false);
|
||||||
|
|
||||||
|
// 自定义时间选择器控制
|
||||||
|
const startTimePicker = ref<any>(null);
|
||||||
|
const endTimePicker = ref<any>(null);
|
||||||
|
|
||||||
const formData = reactive<FormData>({
|
const formData = reactive<FormData>({
|
||||||
title: "",
|
title: "",
|
||||||
content: "",
|
content: "",
|
||||||
@ -1094,6 +1112,15 @@ const publishNotice = async () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// 自定义时间选择器确认事件处理
|
||||||
|
const handleStartTimeConfirm = (e: any) => {
|
||||||
|
formData.startTime = formatDate(e.value);
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleEndTimeConfirm = (e: any) => {
|
||||||
|
formData.endTime = formatDate(e.value);
|
||||||
|
};
|
||||||
|
|
||||||
// 监听标题变化,自动更新回执说明
|
// 监听标题变化,自动更新回执说明
|
||||||
watch(() => formData.title, (newTitle) => {
|
watch(() => formData.title, (newTitle) => {
|
||||||
if (formData.signatureRequired && newTitle) {
|
if (formData.signatureRequired && newTitle) {
|
||||||
|
|||||||
@ -138,6 +138,8 @@ import { ref, reactive, onMounted } from "vue";
|
|||||||
import { onShow, onLoad } from "@dcloudio/uni-app";
|
import { onShow, onLoad } from "@dcloudio/uni-app";
|
||||||
import { useUserStore } from "@/store/modules/user";
|
import { useUserStore } from "@/store/modules/user";
|
||||||
|
|
||||||
|
const { getJs, getUser } = useUserStore();
|
||||||
|
|
||||||
interface QdItem {
|
interface QdItem {
|
||||||
id: string;
|
id: string;
|
||||||
qdmc: string; // 签到名称
|
qdmc: string; // 签到名称
|
||||||
@ -152,15 +154,35 @@ interface QdItem {
|
|||||||
qdry: string; // 签到人员
|
qdry: string; // 签到人员
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取当月第一天和最后一天
|
||||||
|
const getCurrentMonthRange = () => {
|
||||||
|
const now = new Date();
|
||||||
|
const year = now.getFullYear();
|
||||||
|
const month = now.getMonth();
|
||||||
|
|
||||||
|
// 当月第一天
|
||||||
|
const firstDay = new Date(year, month, 1);
|
||||||
|
const startTime = `${year}-${String(month + 1).padStart(2, '0')}-01`;
|
||||||
|
|
||||||
|
// 当月最后一天
|
||||||
|
const lastDay = new Date(year, month + 1, 0);
|
||||||
|
const endTime = `${year}-${String(month + 1).padStart(2, '0')}-${String(lastDay.getDate()).padStart(2, '0')}`;
|
||||||
|
|
||||||
|
return { startTime, endTime };
|
||||||
|
};
|
||||||
|
|
||||||
// 页面参数
|
// 页面参数
|
||||||
const pageParams = ref({
|
const pageParams = ref({
|
||||||
qdlx: ''
|
qdlx: ''
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 获取默认时间范围
|
||||||
|
const defaultRange = getCurrentMonthRange();
|
||||||
|
|
||||||
// 搜索表单
|
// 搜索表单
|
||||||
const searchForm = reactive({
|
const searchForm = reactive({
|
||||||
startTime: '',
|
startTime: defaultRange.startTime,
|
||||||
endTime: ''
|
endTime: defaultRange.endTime
|
||||||
});
|
});
|
||||||
|
|
||||||
// 数据列表
|
// 数据列表
|
||||||
@ -187,8 +209,9 @@ const handleSearch = () => {
|
|||||||
|
|
||||||
// 重置搜索
|
// 重置搜索
|
||||||
const handleReset = () => {
|
const handleReset = () => {
|
||||||
searchForm.startTime = '';
|
const resetRange = getCurrentMonthRange();
|
||||||
searchForm.endTime = '';
|
searchForm.startTime = resetRange.startTime;
|
||||||
|
searchForm.endTime = resetRange.endTime;
|
||||||
getQdList();
|
getQdList();
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -197,16 +220,27 @@ const getQdList = async () => {
|
|||||||
isLoading.value = true;
|
isLoading.value = true;
|
||||||
try {
|
try {
|
||||||
const queryParams: any = {
|
const queryParams: any = {
|
||||||
qdkstime: searchForm.startTime,
|
|
||||||
qdjstime: searchForm.endTime,
|
|
||||||
page: 1,
|
page: 1,
|
||||||
rows: 100
|
rows: 100
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 添加创建时间范围查询
|
||||||
|
if (searchForm.startTime) {
|
||||||
|
queryParams.createdTimeStart = searchForm.startTime + ' 00:00:00';
|
||||||
|
}
|
||||||
|
if (searchForm.endTime) {
|
||||||
|
queryParams.createdTimeEnd = searchForm.endTime + ' 23:59:59';
|
||||||
|
}
|
||||||
|
|
||||||
// 如果有qdlx参数,添加到查询条件中
|
// 如果有qdlx参数,添加到查询条件中
|
||||||
if (pageParams.value.qdlx) {
|
if (pageParams.value.qdlx) {
|
||||||
queryParams.qdlx = pageParams.value.qdlx;
|
queryParams.qdlx = pageParams.value.qdlx;
|
||||||
}
|
}
|
||||||
|
// 如果不是 admin 用户,则传递当前教师ID进行过滤
|
||||||
|
const empCode = getUser?.empCode || '';
|
||||||
|
if (empCode !== 'admin') {
|
||||||
|
queryParams.jsId = getJs.id; // 当前教师ID
|
||||||
|
}
|
||||||
|
|
||||||
const res = await qdFindPageApi(queryParams);
|
const res = await qdFindPageApi(queryParams);
|
||||||
dataList.value = res.rows || [];
|
dataList.value = res.rows || [];
|
||||||
|
|||||||
@ -116,7 +116,21 @@
|
|||||||
|
|
||||||
<!-- 签到打卡开始时间 -->
|
<!-- 签到打卡开始时间 -->
|
||||||
<view class="info-card list-item-card">
|
<view class="info-card list-item-card">
|
||||||
<uni-datetime-picker type="datetime" v-model="formData.dkkstime">
|
<!-- iOS使用自定义时间选择器 -->
|
||||||
|
<view v-if="isIOS" class="list-item-row" @click="dkkstimePicker?.open()">
|
||||||
|
<view class="list-label-container">
|
||||||
|
<text class="required-asterisk">*</text>
|
||||||
|
<text class="list-label">签到开始</text>
|
||||||
|
</view>
|
||||||
|
<view class="list-value">
|
||||||
|
<text :class="{ placeholder: !formData.dkkstime }">
|
||||||
|
{{ formData.dkkstime || '请选择签到打卡开始时间' }}
|
||||||
|
</text>
|
||||||
|
<uni-icons type="right" size="16" color="#999"></uni-icons>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 非iOS使用原生时间选择器 -->
|
||||||
|
<uni-datetime-picker v-else type="datetime" v-model="formData.dkkstime">
|
||||||
<view class="list-item-row">
|
<view class="list-item-row">
|
||||||
<view class="list-label-container">
|
<view class="list-label-container">
|
||||||
<text class="required-asterisk">*</text>
|
<text class="required-asterisk">*</text>
|
||||||
@ -134,7 +148,21 @@
|
|||||||
|
|
||||||
<!-- 签到开始时间 -->
|
<!-- 签到开始时间 -->
|
||||||
<view class="info-card list-item-card">
|
<view class="info-card list-item-card">
|
||||||
<uni-datetime-picker type="datetime" v-model="formData.qdkstime">
|
<!-- iOS使用自定义时间选择器 -->
|
||||||
|
<view v-if="isIOS" class="list-item-row" @click="qdkstimePicker?.open()">
|
||||||
|
<view class="list-label-container">
|
||||||
|
<text class="required-asterisk">*</text>
|
||||||
|
<text class="list-label">会议开始</text>
|
||||||
|
</view>
|
||||||
|
<view class="list-value">
|
||||||
|
<text :class="{ placeholder: !formData.qdkstime }">
|
||||||
|
{{ formData.qdkstime || '请选择会议开始时间' }}
|
||||||
|
</text>
|
||||||
|
<uni-icons type="right" size="16" color="#999"></uni-icons>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 非iOS使用原生时间选择器 -->
|
||||||
|
<uni-datetime-picker v-else type="datetime" v-model="formData.qdkstime">
|
||||||
<view class="list-item-row">
|
<view class="list-item-row">
|
||||||
<view class="list-label-container">
|
<view class="list-label-container">
|
||||||
<text class="required-asterisk">*</text>
|
<text class="required-asterisk">*</text>
|
||||||
@ -152,7 +180,21 @@
|
|||||||
|
|
||||||
<!-- 签到结束时间 -->
|
<!-- 签到结束时间 -->
|
||||||
<view class="info-card list-item-card">
|
<view class="info-card list-item-card">
|
||||||
<uni-datetime-picker type="datetime" v-model="formData.qdjstime">
|
<!-- iOS使用自定义时间选择器 -->
|
||||||
|
<view v-if="isIOS" class="list-item-row" @click="qdjstimePicker?.open()">
|
||||||
|
<view class="list-label-container">
|
||||||
|
<text class="required-asterisk">*</text>
|
||||||
|
<text class="list-label">会议结束</text>
|
||||||
|
</view>
|
||||||
|
<view class="list-value">
|
||||||
|
<text :class="{ placeholder: !formData.qdjstime }">
|
||||||
|
{{ formData.qdjstime || '请选择会议结束时间' }}
|
||||||
|
</text>
|
||||||
|
<uni-icons type="right" size="16" color="#999"></uni-icons>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 非iOS使用原生时间选择器 -->
|
||||||
|
<uni-datetime-picker v-else type="datetime" v-model="formData.qdjstime">
|
||||||
<view class="list-item-row">
|
<view class="list-item-row">
|
||||||
<view class="list-label-container">
|
<view class="list-label-container">
|
||||||
<text class="required-asterisk">*</text>
|
<text class="required-asterisk">*</text>
|
||||||
@ -238,6 +280,32 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
<!-- iOS自定义时间选择器 -->
|
||||||
|
<DatetimePicker
|
||||||
|
v-if="isIOS"
|
||||||
|
ref="dkkstimePicker"
|
||||||
|
:value="formData.dkkstime || new Date().getTime()"
|
||||||
|
mode="datetime"
|
||||||
|
title="选择签到开始时间"
|
||||||
|
@confirm="handleDkkstimeConfirm"
|
||||||
|
/>
|
||||||
|
<DatetimePicker
|
||||||
|
v-if="isIOS"
|
||||||
|
ref="qdkstimePicker"
|
||||||
|
:value="formData.qdkstime || new Date().getTime()"
|
||||||
|
mode="datetime"
|
||||||
|
title="选择会议开始时间"
|
||||||
|
@confirm="handleQdkstimeConfirm"
|
||||||
|
/>
|
||||||
|
<DatetimePicker
|
||||||
|
v-if="isIOS"
|
||||||
|
ref="qdjstimePicker"
|
||||||
|
:value="formData.qdjstime || new Date().getTime()"
|
||||||
|
mode="datetime"
|
||||||
|
title="选择会议结束时间"
|
||||||
|
@confirm="handleQdjstimeConfirm"
|
||||||
|
/>
|
||||||
|
|
||||||
<template #bottom>
|
<template #bottom>
|
||||||
<view class="bottom-actions">
|
<view class="bottom-actions">
|
||||||
<button class="action-btn cancel-btn" @click="handleCancel">
|
<button class="action-btn cancel-btn" @click="handleCancel">
|
||||||
@ -260,9 +328,14 @@ import { kccyFindByKcjbIdApi } from "@/api/base/kccyApi";
|
|||||||
import { jyjbFindPageApi } from "@/api/base/jyjbApi";
|
import { jyjbFindPageApi } from "@/api/base/jyjbApi";
|
||||||
import { jycyFindByJyjbIdApi } from "@/api/base/jycyApi";
|
import { jycyFindByJyjbIdApi } from "@/api/base/jycyApi";
|
||||||
import { useUserStore } from "@/store/modules/user";
|
import { useUserStore } from "@/store/modules/user";
|
||||||
|
import { getPlatform } from "@/utils/uniapp";
|
||||||
|
import DatetimePicker from "@/components/BasicPicker/TimePicker/DatetimePicker.vue";
|
||||||
|
|
||||||
const { getJs } = useUserStore();
|
const { getJs } = useUserStore();
|
||||||
|
|
||||||
|
// 检测是否为iOS设备
|
||||||
|
const isIOS = getPlatform() === 'ios';
|
||||||
|
|
||||||
interface TeacherInfo {
|
interface TeacherInfo {
|
||||||
id: string;
|
id: string;
|
||||||
jsxm: string;
|
jsxm: string;
|
||||||
@ -293,6 +366,11 @@ const isPublishing = ref(false);
|
|||||||
const maxDisplayCount = 5;
|
const maxDisplayCount = 5;
|
||||||
const showTeacherListModal = ref(false); // 控制教师列表弹窗显示
|
const showTeacherListModal = ref(false); // 控制教师列表弹窗显示
|
||||||
|
|
||||||
|
// iOS自定义时间选择器控制
|
||||||
|
const dkkstimePicker = ref<any>(null);
|
||||||
|
const qdkstimePicker = ref<any>(null);
|
||||||
|
const qdjstimePicker = ref<any>(null);
|
||||||
|
|
||||||
// 课程相关数据
|
// 课程相关数据
|
||||||
const courseOptions = ref<CourseInfo[]>([]);
|
const courseOptions = ref<CourseInfo[]>([]);
|
||||||
const selectedCourse = ref<CourseInfo | null>(null);
|
const selectedCourse = ref<CourseInfo | null>(null);
|
||||||
@ -561,7 +639,7 @@ const handleCancel = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// 格式化时间为后台期望的格式
|
// 格式化时间为后台期望的格式
|
||||||
const formatDateTime = (dateTime: string) => {
|
const formatDateTime = (dateTime: string | number) => {
|
||||||
if (!dateTime) return '';
|
if (!dateTime) return '';
|
||||||
const date = new Date(dateTime);
|
const date = new Date(dateTime);
|
||||||
const year = date.getFullYear();
|
const year = date.getFullYear();
|
||||||
@ -573,6 +651,19 @@ const formatDateTime = (dateTime: string) => {
|
|||||||
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// iOS自定义时间选择器确认事件处理
|
||||||
|
const handleDkkstimeConfirm = (e: any) => {
|
||||||
|
formData.dkkstime = formatDateTime(e.value);
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleQdkstimeConfirm = (e: any) => {
|
||||||
|
formData.qdkstime = formatDateTime(e.value);
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleQdjstimeConfirm = (e: any) => {
|
||||||
|
formData.qdjstime = formatDateTime(e.value);
|
||||||
|
};
|
||||||
|
|
||||||
const handlePublish = async () => {
|
const handlePublish = async () => {
|
||||||
const requestStartTime = new Date().toISOString();
|
const requestStartTime = new Date().toISOString();
|
||||||
console.log('=== handlePublish 开始 ===', requestStartTime);
|
console.log('=== handlePublish 开始 ===', requestStartTime);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user