fix: 更新任务列表屏幕标题为“任务模版”,并在任务编辑页面中处理二维码解析失败时清空相关字段
This commit is contained in:
parent
3576a82b8a
commit
e18d0314e6
@ -27,7 +27,7 @@ function HomeStackNavigator() {
|
||||
<HomeStack.Screen
|
||||
name="TaskList"
|
||||
component={TaskListScreen}
|
||||
options={{ title: '任务列表' }}
|
||||
options={{ title: '任务模版' }}
|
||||
/>
|
||||
<HomeStack.Screen
|
||||
name="TaskEdit"
|
||||
|
@ -126,6 +126,7 @@ export default function TaskEditScreen() {
|
||||
.trim();
|
||||
|
||||
const qrData = JSON.parse(cleanedContent);
|
||||
|
||||
console.log('二维码解析成功:', qrData);
|
||||
|
||||
// 创建新的任务对象,保持原有数据不变
|
||||
@ -144,7 +145,6 @@ export default function TaskEditScreen() {
|
||||
value: '', // 清空为空字符串
|
||||
};
|
||||
});
|
||||
|
||||
// 然后用二维码数据填充匹配的字段
|
||||
Object.keys(qrData).forEach(qrKey => {
|
||||
const matchingParam = task.detail!.inputParams.find(
|
||||
@ -178,8 +178,31 @@ export default function TaskEditScreen() {
|
||||
// 扫描成功后,按钮状态变回"扫描二维码获取信息"
|
||||
setIsWaitingForQrCode(false);
|
||||
} catch (error) {
|
||||
// 解析失败不报错,按照需求静默处理
|
||||
console.log('二维码信息解析失败,但不影响使用:', error);
|
||||
// 解析失败时清空二维码输入框和表单字段
|
||||
setQrCodeInfo('');
|
||||
|
||||
// 清空所有表单字段
|
||||
if (task && task.detail && task.detail.inputParams) {
|
||||
const clearedTask = { ...task };
|
||||
if (!clearedTask.parameters) {
|
||||
clearedTask.parameters = {};
|
||||
}
|
||||
|
||||
task.detail.inputParams.forEach(param => {
|
||||
const currentParam = clearedTask.parameters[param.name] || {};
|
||||
clearedTask.parameters[param.name] = {
|
||||
...currentParam,
|
||||
value: '', // 清空为空字符串
|
||||
};
|
||||
});
|
||||
|
||||
setTask(clearedTask);
|
||||
if (!isModified) {
|
||||
setIsModified(true);
|
||||
}
|
||||
}
|
||||
|
||||
console.log('二维码信息解析失败,已清空相关字段:', error);
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user