fix:调整已注册的卡片没有回调的问题

This commit is contained in:
liyi 2025-06-12 17:32:44 +08:00
parent d2071f2e88
commit 81bc00e03e
3 changed files with 47 additions and 45 deletions

View File

@ -35,9 +35,9 @@ Page({
},
observers: {
'weekDayInput': function(val) {
'weekDayInput': function (val) {
if (!val) {
this.setData({
this.setData({
weekDay: [],
isRound: 0
});
@ -70,9 +70,11 @@ Page({
console.log('收到卡片确认事件', data, this.data.cardId, this.data.cardNumber);
// 添加成功后自动刷新列表
await this.findAllCard();
} else {
console.log('收到卡片确认事件', data, this.data.cardId, this.data.cardNumber);
}
});
// 初始化时间
const now = new Date();
const nextHour = new Date(now.getTime() + 60 * 60 * 1000);
@ -101,7 +103,7 @@ Page({
startDateDisplay: this.formatDateTime(now),
endDateDisplay: this.formatDateTime(nextHour)
});
// 页面加载时获取卡片列表
this.findAllCard();
@ -129,29 +131,29 @@ Page({
const days = [];
const hours = [];
const minutes = [];
// 生成年份选项当前年份往后5年
for(let i = date.getFullYear(); i <= date.getFullYear() + 5; i++) {
for (let i = date.getFullYear(); i <= date.getFullYear() + 5; i++) {
years.push(i + '年');
}
// 生成月份选项 - 显示1-12月
for(let i = 1; i <= 12; i++) {
for (let i = 1; i <= 12; i++) {
months.push(i.toString().padStart(2, '0') + '月');
}
// 生成天数选项默认31天
for(let i = 1; i <= 31; i++) {
for (let i = 1; i <= 31; i++) {
days.push(i.toString().padStart(2, '0') + '日');
}
// 生成小时选项
for(let i = 0; i < 24; i++) {
for (let i = 0; i < 24; i++) {
hours.push(i.toString().padStart(2, '0') + '时');
}
// 生成分钟选项
for(let i = 0; i < 60; i++) {
for (let i = 0; i < 60; i++) {
minutes.push(i.toString().padStart(2, '0') + '分');
}
@ -163,14 +165,14 @@ Page({
onStartDateTimeChange(e) {
const val = e.detail.value;
const dateTimeArray = this.data.dateTimeArray;
const yearStr = dateTimeArray[0][val[0]];
const year = parseInt(yearStr);
const month = parseInt(dateTimeArray[1][val[1]]) - 1; // 转换为0-11的月份
const day = parseInt(dateTimeArray[2][val[2]]);
const hour = parseInt(dateTimeArray[3][val[3]]);
const minute = parseInt(dateTimeArray[4][val[4]]);
const date = new Date();
date.setFullYear(year);
date.setMonth(month); // 使用0-11的月份
@ -179,9 +181,9 @@ Page({
date.setMinutes(minute);
date.setSeconds(0);
date.setMilliseconds(0);
const timestamp = date.getTime();
this.setData({
startDateTimeArray: val,
startDate: timestamp,
@ -192,14 +194,14 @@ Page({
onEndDateTimeChange(e) {
const val = e.detail.value;
const dateTimeArray = this.data.dateTimeArray;
const yearStr = dateTimeArray[0][val[0]];
const year = parseInt(yearStr);
const month = parseInt(dateTimeArray[1][val[1]]) - 1; // 转换为0-11的月份
const day = parseInt(dateTimeArray[2][val[2]]);
const hour = parseInt(dateTimeArray[3][val[3]]);
const minute = parseInt(dateTimeArray[4][val[4]]);
const date = new Date();
date.setFullYear(year);
date.setMonth(month); // 使用0-11的月份
@ -208,9 +210,9 @@ Page({
date.setMinutes(minute);
date.setSeconds(59);
date.setMilliseconds(999);
const timestamp = date.getTime();
this.setData({
endDateTimeArray: val,
endDate: timestamp,
@ -237,15 +239,15 @@ Page({
const year = this.data.dateTimeArray[0][this.data[arrayName][0]];
const month = monthIndex + 1;
const days = new Date(parseInt(year), month, 0).getDate();
const newDays = [];
for(let i = 1; i <= days; i++) {
for (let i = 1; i <= days; i++) {
newDays.push(i.toString().padStart(2, '0') + '日');
}
const dateTimeArray = this.data.dateTimeArray;
dateTimeArray[2] = newDays;
this.setData({
dateTimeArray: dateTimeArray
});
@ -307,8 +309,8 @@ Page({
try {
const app = getApp();
const { accountInfo } = app.globalData;
const { lock } = app.globalData;
const {accountInfo} = app.globalData;
const {lock} = app.globalData;
await selectLock({
accountInfo: accountInfo,
@ -384,7 +386,7 @@ Page({
const registerExtendedProductsResult = await registerExtendedProducts(parms)
console.log('registerExtendedProductsResult', registerExtendedProductsResult);
if (registerExtendedProductsResult.code === 0) {
// 操作成功后清空表单
this.setData({
@ -427,10 +429,10 @@ Page({
async findAllCard() {
const app = getApp();
const { lock } = app.globalData;
const {lock} = app.globalData;
const result = await getIcCardList({lockId: lock.lockId})
console.log('findAllCard', result)
// 处理返回的卡片列表数据
const processedList = (result.data.list || []).map(card => {
// 将周期数字转换为周几文本
@ -509,7 +511,7 @@ Page({
onWeekdayPatternChange(e) {
const index = e.detail.value;
let weekDay = [];
switch (index) {
case '0': // 工作日循环
weekDay = [2, 3, 4, 5, 6]; // 星期一到星期五
@ -527,7 +529,7 @@ Page({
weekDay,
isRound: weekDay.length > 0 ? 1 : 0
});
console.log('周期模式变更:', this.data.weekdayPatterns[index], weekDay);
},
@ -540,22 +542,22 @@ Page({
weekDay,
isRound: weekDay.length > 0 ? 1 : 0
});
console.log('自定义周期变更:', weekDay);
},
// 修改选择卡片方法中的处理
selectCard(e) {
const cardData = e.currentTarget.dataset.card;
// 处理循环数据
let weekDay = [];
let weekdayPatternIndex = 0;
if (cardData.weekDay && Array.isArray(cardData.weekDay)) {
weekDay = cardData.weekDay;
weekDay.sort((a, b) => a - b); // 确保顺序一致
// 判断是否符合预设模式
const weekDayStr = weekDay.join(',');
if (weekDayStr === '2,3,4,5,6') {
@ -572,9 +574,9 @@ Page({
const endDateTime = new Date(Number(cardData.endDate) || 0);
// 提取时间部分
const startTime = cardData.startTime ||
const startTime = cardData.startTime ||
`${startDateTime.getHours().toString().padStart(2, '0')}:${startDateTime.getMinutes().toString().padStart(2, '0')}`;
const endTime = cardData.endTime ||
const endTime = cardData.endTime ||
`${endDateTime.getHours().toString().padStart(2, '0')}:${endDateTime.getMinutes().toString().padStart(2, '0')}`;
// 格式化日期显示
@ -601,7 +603,7 @@ Page({
selectedCard: cardData
}, () => {
// 强制触发一次视图更新
this.setData({ _forceUpdate: Date.now() });
this.setData({_forceUpdate: Date.now()});
});
},

8
package-lock.json generated
View File

@ -24,7 +24,7 @@
"@dcloudio/uni-mp-xhs": "3.0.0-4030620241128001",
"@dcloudio/uni-quickapp-webview": "3.0.0-4030620241128001",
"pinia": "^2.2.8",
"star-cloud-uni": "^1.0.16",
"star-cloud-uni": "^1.0.17",
"vue": "^3.5.13",
"vue-i18n": "^9.1.9"
},
@ -10046,9 +10046,9 @@
}
},
"node_modules/star-cloud-uni": {
"version": "1.0.16",
"resolved": "https://registry.npmjs.org/star-cloud-uni/-/star-cloud-uni-1.0.16.tgz",
"integrity": "sha512-Q9KF7C41WD5KH3EePgkFTIxaLnbc/uL4N0iu6qzmZ+6N8bJIHQaJAcnJPho+TQVsnyv9fkTOR4bF0oOqqg/dGg==",
"version": "1.0.17",
"resolved": "https://registry.npmjs.org/star-cloud-uni/-/star-cloud-uni-1.0.17.tgz",
"integrity": "sha512-xo34TDSasHRVIiPvE+a1Tuk3uB0CSJsGAsu/jpsAmT2lqfbQhJlwwZwA0WrZjxckLgYEwjzQKTj7AcPcbwOwqA==",
"dependencies": {
"buffer": "^6.0.3",
"crc": "^4.3.2",

View File

@ -52,7 +52,7 @@
"@dcloudio/uni-mp-xhs": "3.0.0-4030620241128001",
"@dcloudio/uni-quickapp-webview": "3.0.0-4030620241128001",
"pinia": "^2.2.8",
"star-cloud-uni": "^1.0.16",
"star-cloud-uni": "^1.0.17",
"vue": "^3.5.13",
"vue-i18n": "^9.1.9"
},