|
|
|
|
@ -44,6 +44,7 @@ Page({
@@ -44,6 +44,7 @@ Page({
|
|
|
|
|
previewImages: [] as string[], |
|
|
|
|
previewAngles: [] as string[], |
|
|
|
|
previewCurrentIndex: 0, |
|
|
|
|
previewPhotoLabels: [] as { name: string, index: number, total: number }[], |
|
|
|
|
|
|
|
|
|
recordId: '', |
|
|
|
|
// 表单数据
|
|
|
|
|
@ -59,7 +60,7 @@ Page({
@@ -59,7 +60,7 @@ Page({
|
|
|
|
|
|
|
|
|
|
// 顺序拍摄模式
|
|
|
|
|
sequentialShootMode: false, |
|
|
|
|
sequentialShootList: [] as { name: string; type: string; angle: string }[], |
|
|
|
|
sequentialShootList: [] as { name: string, type: string, angle: string }[], |
|
|
|
|
sequentialShootIndex: 0, |
|
|
|
|
|
|
|
|
|
// 替妥尤单抗使用次数选项 (0-9, 9表示大于8)
|
|
|
|
|
@ -210,7 +211,8 @@ Page({
@@ -210,7 +211,8 @@ Page({
|
|
|
|
|
// 左眼度数输入
|
|
|
|
|
onLeftEyeInput(e: any) { |
|
|
|
|
let val = e.detail.value |
|
|
|
|
if (Number(val) > 999.9) val = '999.9' |
|
|
|
|
if (Number(val) > 999.9) |
|
|
|
|
val = '999.9' |
|
|
|
|
this.setData({ |
|
|
|
|
leftEye: val, |
|
|
|
|
}) |
|
|
|
|
@ -218,7 +220,8 @@ Page({
@@ -218,7 +220,8 @@ Page({
|
|
|
|
|
|
|
|
|
|
onRightEyeInput(e: any) { |
|
|
|
|
let val = e.detail.value |
|
|
|
|
if (Number(val) > 999.9) val = '999.9' |
|
|
|
|
if (Number(val) > 999.9) |
|
|
|
|
val = '999.9' |
|
|
|
|
this.setData({ |
|
|
|
|
rightEye: val, |
|
|
|
|
}) |
|
|
|
|
@ -226,7 +229,8 @@ Page({
@@ -226,7 +229,8 @@ Page({
|
|
|
|
|
|
|
|
|
|
onInterorbitalDistanceInput(e: any) { |
|
|
|
|
let val = e.detail.value |
|
|
|
|
if (Number(val) > 999.9) val = '999.9' |
|
|
|
|
if (Number(val) > 999.9) |
|
|
|
|
val = '999.9' |
|
|
|
|
this.setData({ |
|
|
|
|
interorbitalDistance: val, |
|
|
|
|
}) |
|
|
|
|
@ -382,17 +386,33 @@ Page({
@@ -382,17 +386,33 @@ Page({
|
|
|
|
|
if (photo) { |
|
|
|
|
// 构建已上传图片列表(按 cameraList 顺序)
|
|
|
|
|
const allAngles = [ |
|
|
|
|
...this.data.cameraList.frontend, |
|
|
|
|
...this.data.cameraList.backend, |
|
|
|
|
...this.data.cameraList.other, |
|
|
|
|
...this.data.cameraList.frontend.map(item => ({ ...item, group: 'frontend' })), |
|
|
|
|
...this.data.cameraList.backend.map(item => ({ ...item, group: 'backend' })), |
|
|
|
|
...this.data.cameraList.other.map(item => ({ ...item, group: 'other' })), |
|
|
|
|
] |
|
|
|
|
const previewAngles: string[] = [] |
|
|
|
|
const previewImages: string[] = [] |
|
|
|
|
const previewPhotoLabels: { name: string, index: number, total: number }[] = [] |
|
|
|
|
const groupCounts: Record<string, number> = {} |
|
|
|
|
const groupOffsets: Record<string, number> = {} |
|
|
|
|
allAngles.forEach((item) => { |
|
|
|
|
if (!groupCounts[item.group]) |
|
|
|
|
groupCounts[item.group] = 0 |
|
|
|
|
groupCounts[item.group]++ |
|
|
|
|
}) |
|
|
|
|
allAngles.forEach((item) => { |
|
|
|
|
const p = this.data.photoMap[item.angle] |
|
|
|
|
if (p) { |
|
|
|
|
previewAngles.push(item.angle) |
|
|
|
|
previewImages.push(p.photoUrl) |
|
|
|
|
if (!groupOffsets[item.group]) |
|
|
|
|
groupOffsets[item.group] = 0 |
|
|
|
|
groupOffsets[item.group]++ |
|
|
|
|
previewPhotoLabels.push({ |
|
|
|
|
name: item.name, |
|
|
|
|
index: groupOffsets[item.group], |
|
|
|
|
total: groupCounts[item.group], |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
const currentIndex = previewAngles.indexOf(angle) |
|
|
|
|
@ -404,6 +424,7 @@ Page({
@@ -404,6 +424,7 @@ Page({
|
|
|
|
|
previewImages, |
|
|
|
|
previewAngles, |
|
|
|
|
previewCurrentIndex: currentIndex >= 0 ? currentIndex : 0, |
|
|
|
|
previewPhotoLabels, |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
@ -448,8 +469,8 @@ Page({
@@ -448,8 +469,8 @@ Page({
|
|
|
|
|
|
|
|
|
|
// 保存记录
|
|
|
|
|
handleSave() { |
|
|
|
|
const { recordId, recordDate, treatmentCount, isBaseline, leftEye, rightEye, interorbitalDistance, photoMap } = |
|
|
|
|
this.data |
|
|
|
|
const { recordId, recordDate, treatmentCount, isBaseline, leftEye, rightEye, interorbitalDistance, photoMap } |
|
|
|
|
= this.data |
|
|
|
|
|
|
|
|
|
// 表单验证
|
|
|
|
|
if (!recordDate) { |
|
|
|
|
@ -465,13 +486,13 @@ Page({
@@ -465,13 +486,13 @@ Page({
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 所有照片全不合规才不允许保存
|
|
|
|
|
const hasCompliantPhoto = photos.some((photo) => photo.checkStatus === 1) |
|
|
|
|
const hasCompliantPhoto = photos.some(photo => photo.checkStatus === 1) |
|
|
|
|
if (!hasCompliantPhoto) { |
|
|
|
|
wx.showToast({ title: '所有照片不合规,请重新上传', icon: 'none' }) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const photoIds = photos.map((photo) => photo.photoId).join(',') |
|
|
|
|
const photoIds = photos.map(photo => photo.photoId).join(',') |
|
|
|
|
|
|
|
|
|
const data: any = { |
|
|
|
|
...(recordId ? { recordId } : {}), |
|
|
|
|
@ -482,9 +503,12 @@ Page({
@@ -482,9 +503,12 @@ Page({
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 可选字段
|
|
|
|
|
if (leftEye) data.leftEye = leftEye |
|
|
|
|
if (rightEye) data.rightEye = rightEye |
|
|
|
|
if (interorbitalDistance) data.interorbitalDistance = interorbitalDistance |
|
|
|
|
if (leftEye) |
|
|
|
|
data.leftEye = leftEye |
|
|
|
|
if (rightEye) |
|
|
|
|
data.rightEye = rightEye |
|
|
|
|
if (interorbitalDistance) |
|
|
|
|
data.interorbitalDistance = interorbitalDistance |
|
|
|
|
|
|
|
|
|
wx.showLoading({ title: '保存中...' }) |
|
|
|
|
|
|
|
|
|
@ -524,7 +548,8 @@ Page({
@@ -524,7 +548,8 @@ Page({
|
|
|
|
|
}) |
|
|
|
|
if (popupType === 'popup18') { |
|
|
|
|
this.setData({ isBaseline: 1 }) |
|
|
|
|
} else { |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
this.handleSave() |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
@ -536,7 +561,8 @@ Page({
@@ -536,7 +561,8 @@ Page({
|
|
|
|
|
}) |
|
|
|
|
if (popupType === 'popup18') { |
|
|
|
|
this.setData({ isBaseline: 0 }) |
|
|
|
|
} else { |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
wx.navigateBack() |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
@ -547,7 +573,8 @@ Page({
@@ -547,7 +573,8 @@ Page({
|
|
|
|
|
popupShow: true, |
|
|
|
|
popupType: 'popup16', |
|
|
|
|
}) |
|
|
|
|
} else { |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
wx.navigateBack() |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
|