更新
This commit is contained in:
@@ -821,6 +821,7 @@ const agreedToTerms = ref(true) // 默认选中"是"
|
||||
const showDatePicker = ref(false)
|
||||
const diagnosisId = ref(null)
|
||||
const patientId = ref(null)
|
||||
const isAddMode = ref(false) // 新建模式
|
||||
|
||||
// 表单数据
|
||||
const formData = ref({
|
||||
@@ -1063,23 +1064,37 @@ const loadCardDetail = async () => {
|
||||
try {
|
||||
const pages = getCurrentPages()
|
||||
const currentPage = pages[pages.length - 1]
|
||||
diagnosisId.value = currentPage.options.id
|
||||
|
||||
if (!diagnosisId.value) {
|
||||
uni.showToast({ title: '诊单ID不存在', icon: 'none' })
|
||||
setTimeout(() => uni.navigateBack(), 1500)
|
||||
return
|
||||
}
|
||||
const options = currentPage.options || {}
|
||||
diagnosisId.value = options.id
|
||||
isAddMode.value = options.add === '1' || options.add === 1
|
||||
|
||||
const userData = uni.getStorageSync('userData')
|
||||
patientId.value = userData?.diagnosis?.patient_id
|
||||
|
||||
// 新建模式:patient_id 可选(创建后自动生成),仅需登录
|
||||
if (isAddMode.value) {
|
||||
const token = uni.getStorageSync('token')
|
||||
if (!token) {
|
||||
uni.showToast({ title: '请先登录', icon: 'none' })
|
||||
setTimeout(() => uni.redirectTo({ url: '/pages/login/login' }), 1500)
|
||||
return
|
||||
}
|
||||
loading.value = false
|
||||
return
|
||||
}
|
||||
|
||||
if (!patientId.value) {
|
||||
uni.showToast({ title: '请先登录', icon: 'none' })
|
||||
setTimeout(() => uni.redirectTo({ url: '/pages/login/login' }), 1500)
|
||||
return
|
||||
}
|
||||
|
||||
if (!diagnosisId.value) {
|
||||
uni.showToast({ title: '诊单ID不存在', icon: 'none' })
|
||||
setTimeout(() => uni.navigateBack(), 1500)
|
||||
return
|
||||
}
|
||||
|
||||
const res = await proxy.apiUrl({
|
||||
url: '/api/tcm/diagnosisDetail',
|
||||
method: 'GET',
|
||||
@@ -1302,18 +1317,26 @@ const submitForm = async () => {
|
||||
submitData.diagnosis_date = submitData.local_hospital_visit_date
|
||||
}
|
||||
|
||||
const apiUrl = isAddMode.value ? '/api/tcm/addCard' : '/api/tcm/updateCard'
|
||||
const apiData = isAddMode.value
|
||||
? { ...submitData, ...(patientId.value ? { patient_id: patientId.value } : {}) }
|
||||
: { id: diagnosisId.value, patient_id: patientId.value, ...submitData }
|
||||
|
||||
const res = await proxy.apiUrl({
|
||||
url: '/api/tcm/updateCard',
|
||||
url: apiUrl,
|
||||
method: 'POST',
|
||||
data: {
|
||||
id: diagnosisId.value,
|
||||
patient_id: patientId.value,
|
||||
...submitData
|
||||
}
|
||||
data: apiData
|
||||
})
|
||||
|
||||
if (res.code === 1) {
|
||||
uni.showToast({ title: '保存成功', icon: 'success' })
|
||||
// 新建成功:若有返回 patient_id,写入 userData 供后续列表查询
|
||||
if (isAddMode.value && res.data?.patient_id) {
|
||||
const userData = uni.getStorageSync('userData') || {}
|
||||
if (!userData.diagnosis) userData.diagnosis = {}
|
||||
userData.diagnosis.patient_id = res.data.patient_id
|
||||
uni.setStorageSync('userData', userData)
|
||||
}
|
||||
uni.showToast({ title: isAddMode.value ? '创建成功' : '保存成功', icon: 'success' })
|
||||
setTimeout(() => {
|
||||
uni.navigateBack()
|
||||
}, 1500)
|
||||
|
||||
Reference in New Issue
Block a user