index修改

This commit is contained in:
2025-12-25 13:36:53 +08:00
parent 78db3fc9e4
commit eb827a961c
4 changed files with 85 additions and 97 deletions

View File

@@ -254,72 +254,48 @@ onLoad((options: any) => {
// 处理 mode 参数
if (options.mode === 'create') {
mode.value = 'create'
// 从 storage 读取登录信息
// create 模式必须从上一页带入 roomId前端先建 room 的策略)
const roomId = options.roomId || ''
if (!roomId) {
uni.showToast({ title: '缺少roomId无法创建工单', icon: 'none' })
// 直接退出,避免后续提交失败
setTimeout(() => uni.navigateBack(), 800)
return
}
// 只使用 loginDomain没有就空
let username = ''
let phone = ''
let userId = ''
try {
let loginDomainRaw = uni.getStorageSync('loginDomain')
let username = ''
let phone = ''
let userId = ''
let roomId = options.roomId || ''
const loginDomainRaw = uni.getStorageSync('loginDomain')
if (loginDomainRaw) {
// 如果是字符串,需要先解析
let loginDomain = loginDomainRaw
if (typeof loginDomainRaw === 'string') {
loginDomain = JSON.parse(loginDomainRaw)
}
// 尝试多种可能的字段路径
username = loginDomain.userInfo?.username
phone = loginDomain.user?.phone
userId = loginDomain.userInfo?.userId
}
// 创建模式,初始化表单并填充用户信息
workcase.value = {
username: username,
phone: phone,
userId: userId,
device: '',
type: '',
address: '',
description: '',
emergency: 'normal',
imgs: []
}
// 如果有 roomId添加到工单数据中
if (roomId) {
workcase.value.roomId = roomId
}
} catch (error) {
console.error('读取用户信息失败:', error)
// 初始化空表单
workcase.value = {
username: '',
phone: '',
device: '',
type: '',
address: '',
description: '',
emergency: 'normal',
imgs: []
}
// 如果有 roomId添加到工单数据中
if (options.roomId) {
workcase.value.roomId = options.roomId
const loginDomain = typeof loginDomainRaw === 'string' ? JSON.parse(loginDomainRaw) : loginDomainRaw
username = loginDomain?.userInfo?.username || ''
phone = loginDomain?.user?.phone || ''
userId = loginDomain?.userInfo?.userId || ''
}
} catch (e) {
console.error('读取loginDomain失败:', e)
}
workcase.value = {
username,
phone,
userId,
roomId,
device: '',
type: '',
address: '',
description: '',
emergency: 'normal',
imgs: []
}
} else if (options.workcaseId) {
// 查看模式
workcaseId.value = options.workcaseId
mode.value = 'view'
loadWorkcaseDetail(workcaseId.value)
}
// 查看模式
workcaseId.value = options.workcaseId
mode.value = 'view'
loadWorkcaseDetail(workcaseId.value)
}
})
onMounted(() => {
@@ -413,8 +389,12 @@ function getTimelineDotClass(status: string): string {
// 查看对话
function handleViewChat() {
if (!workcase.value.roomId) {
uni.showToast({ title: '未关联聊天室', icon: 'none' })
return
}
uni.navigateTo({
url: `/pages/chatRoom/chatRoom/chatRoom?roomId=${workcase.value.workcaseId}`
url: `/pages/chatRoom/chatRoom/chatRoom?roomId=${workcase.value.roomId}`
})
}
@@ -616,9 +596,12 @@ async function submitWorkcase() {
title: '工单创建成功',
icon: 'success'
})
// 创建成功后直接回到该聊天室(闭环)
setTimeout(() => {
uni.navigateBack()
}, 1500)
uni.redirectTo({
url: `/pages/chatRoom/chatRoom/chatRoom?roomId=${workcase.value.roomId}&workcaseId=${res.data.workcaseId || ''}`
})
}, 600)
} else {
uni.showToast({
title: res.message || '创建失败',