|
|
|
const app = getApp<IAppOption>()
|
|
|
|
|
|
|
|
Page({
|
|
|
|
data: {
|
|
|
|
popupShow: false,
|
|
|
|
popupType: 'preDiagnosisReportDate', // 确认绑定曾经扫码医生
|
|
|
|
popupParams: {},
|
|
|
|
|
|
|
|
edit: false,
|
|
|
|
|
|
|
|
fold1: true,
|
|
|
|
fold2: true,
|
|
|
|
fold3: true,
|
|
|
|
|
|
|
|
hospitalName: '',
|
|
|
|
|
|
|
|
examId: '',
|
|
|
|
period: '1',
|
|
|
|
|
|
|
|
beginDate: '',
|
|
|
|
endDate: '',
|
|
|
|
hospitalId: '',
|
|
|
|
isBiochemical: 2,
|
|
|
|
alt: '',
|
|
|
|
ast: '',
|
|
|
|
bilirubin: '',
|
|
|
|
isCFIxActivity: 2,
|
|
|
|
clottingFactor: '',
|
|
|
|
isOther: 2,
|
|
|
|
otherInfo: '',
|
|
|
|
|
|
|
|
attachmentList2: [],
|
|
|
|
attachmentList3: [],
|
|
|
|
attachmentList10: [],
|
|
|
|
|
|
|
|
formKeys: [
|
|
|
|
'beginDate',
|
|
|
|
'endDate',
|
|
|
|
'hospitalId',
|
|
|
|
'isBiochemical',
|
|
|
|
'alt',
|
|
|
|
'ast',
|
|
|
|
'bilirubin',
|
|
|
|
'isCFIxActivity',
|
|
|
|
'clottingFactor',
|
|
|
|
'isOther',
|
|
|
|
'otherInfo',
|
|
|
|
],
|
|
|
|
|
|
|
|
dict: {
|
|
|
|
result: {},
|
|
|
|
number: {},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
onLoad(options) {
|
|
|
|
this.setData({
|
|
|
|
examId: options.examid || '',
|
|
|
|
period: options.period || '1',
|
|
|
|
edit: options.edit === '1',
|
|
|
|
})
|
|
|
|
},
|
|
|
|
onShow() {
|
|
|
|
app.waitLogin({ type: 1 }).then(() => {
|
|
|
|
this.getDict()
|
|
|
|
this.getDetail()
|
|
|
|
})
|
|
|
|
},
|
|
|
|
getDict() {
|
|
|
|
wx.ajax({
|
|
|
|
method: 'GET',
|
|
|
|
url: '?r=wtx/treatment/get-dict',
|
|
|
|
data: {},
|
|
|
|
}).then((res) => {
|
|
|
|
this.setData({
|
|
|
|
dict: res,
|
|
|
|
})
|
|
|
|
})
|
|
|
|
},
|
|
|
|
getDetail() {
|
|
|
|
const { examId, formKeys } = this.data
|
|
|
|
if (!examId) return
|
|
|
|
wx.ajax({
|
|
|
|
method: 'GET',
|
|
|
|
url: '?r=wtx/treatment/get-examination-info',
|
|
|
|
data: {
|
|
|
|
examId: examId,
|
|
|
|
},
|
|
|
|
}).then((res) => {
|
|
|
|
const reset = formKeys.reduce((pre, cur) => {
|
|
|
|
pre[cur] = res[cur] || ''
|
|
|
|
return pre
|
|
|
|
}, {})
|
|
|
|
this.setData({
|
|
|
|
...reset,
|
|
|
|
attachmentList2: res.attachmentList[2] || [],
|
|
|
|
attachmentList3: res.attachmentList[3] || [],
|
|
|
|
attachmentList10: res.attachmentList[10] || [],
|
|
|
|
hospitalName: res.hospitalName || '',
|
|
|
|
})
|
|
|
|
})
|
|
|
|
},
|
|
|
|
handleSelectHospital() {
|
|
|
|
wx.navigateTo({
|
|
|
|
url: `/patient/pages/selectHostipal/index?select=1&id=${this.data.hospitalId}`,
|
|
|
|
events: {
|
|
|
|
acceptDataFromOpenedPage: (data) => {
|
|
|
|
this.setData({
|
|
|
|
hospitalId: data.hospitalId,
|
|
|
|
hospitalName: data.hospitalName,
|
|
|
|
})
|
|
|
|
this.updateSave()
|
|
|
|
},
|
|
|
|
},
|
|
|
|
})
|
|
|
|
},
|
|
|
|
handleToggleFold(e: any) {
|
|
|
|
const { fold } = e.currentTarget.dataset
|
|
|
|
this.setData({
|
|
|
|
[fold]: !this.data[fold],
|
|
|
|
})
|
|
|
|
},
|
|
|
|
handleToggleCheck(e: any) {
|
|
|
|
const { check, fold } = e.currentTarget.dataset
|
|
|
|
let foldValue = this.data[fold]
|
|
|
|
if (this.data[check] == 2) {
|
|
|
|
foldValue = false
|
|
|
|
}
|
|
|
|
this.setData({
|
|
|
|
[check]: this.data[check] == 1 ? 2 : 1,
|
|
|
|
[fold]: foldValue,
|
|
|
|
})
|
|
|
|
this.updateSave()
|
|
|
|
},
|
|
|
|
updateSave(e = null) {
|
|
|
|
let isBack = false
|
|
|
|
if (e) {
|
|
|
|
const { back } = (e as any).currentTarget.dataset
|
|
|
|
isBack = back == 1
|
|
|
|
}
|
|
|
|
const { formKeys, period, examId, ...reset } = this.data
|
|
|
|
const form = formKeys.reduce((pre, cur) => {
|
|
|
|
pre[cur] = reset[cur]
|
|
|
|
return pre
|
|
|
|
}, {})
|
|
|
|
wx.ajax({
|
|
|
|
method: 'POST',
|
|
|
|
url: '?r=wtx/exam/save-record',
|
|
|
|
data: {
|
|
|
|
examId,
|
|
|
|
period,
|
|
|
|
...form,
|
|
|
|
},
|
|
|
|
}).then((res) => {
|
|
|
|
this.setData({
|
|
|
|
examId: res,
|
|
|
|
})
|
|
|
|
if (isBack) {
|
|
|
|
wx.navigateBack()
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
setFile(e: any) {
|
|
|
|
const { type, key } = e.currentTarget.dataset
|
|
|
|
const { examId, period } = this.data
|
|
|
|
const detail = e.detail || []
|
|
|
|
let apiArr: any[] = []
|
|
|
|
const fileList = this.data[key] || []
|
|
|
|
detail.forEach((item: any) => {
|
|
|
|
const params: any = {
|
|
|
|
examId,
|
|
|
|
period,
|
|
|
|
type,
|
|
|
|
fileType: item.fileType,
|
|
|
|
name: item.name,
|
|
|
|
url: item.url,
|
|
|
|
videoUrl: item.videoUrl,
|
|
|
|
duration: item.duration,
|
|
|
|
}
|
|
|
|
fileList.push(params)
|
|
|
|
apiArr.push(this.saveAttachment(params))
|
|
|
|
})
|
|
|
|
this.setData({
|
|
|
|
[key]: fileList,
|
|
|
|
})
|
|
|
|
Promise.all(apiArr).then((res) => {
|
|
|
|
console.log(res)
|
|
|
|
})
|
|
|
|
},
|
|
|
|
saveAttachment(params: any) {
|
|
|
|
return wx.ajax({
|
|
|
|
method: 'POST',
|
|
|
|
url: '?r=wtx/treatment/save-attachment',
|
|
|
|
data: params,
|
|
|
|
})
|
|
|
|
},
|
|
|
|
delFile(e: any) {
|
|
|
|
const { key } = e.currentTarget.dataset
|
|
|
|
const { index, item } = e.detail
|
|
|
|
if (item.attachmentId) {
|
|
|
|
wx.ajax({
|
|
|
|
method: 'POST',
|
|
|
|
url: '?r=wtx/treatment/del-attachment',
|
|
|
|
data: {
|
|
|
|
attachmentId: item.attachmentId,
|
|
|
|
},
|
|
|
|
})
|
|
|
|
}
|
|
|
|
const fileList = this.data[key]
|
|
|
|
const newFileList = fileList.filter((_, i) => i !== index)
|
|
|
|
this.setData({
|
|
|
|
[key]: newFileList,
|
|
|
|
})
|
|
|
|
},
|
|
|
|
handleDel() {
|
|
|
|
const { examId } = this.data
|
|
|
|
wx.showModal({
|
|
|
|
title: '确认删除?',
|
|
|
|
confirmColor: 'rgba(246, 74, 58, 1)',
|
|
|
|
success: (res) => {
|
|
|
|
if (res.confirm) {
|
|
|
|
wx.ajax({
|
|
|
|
method: 'POST',
|
|
|
|
url: '?r=wtx/exam/del',
|
|
|
|
data: { examId },
|
|
|
|
}).then(() => {
|
|
|
|
wx.navigateBack()
|
|
|
|
})
|
|
|
|
}
|
|
|
|
},
|
|
|
|
})
|
|
|
|
},
|
|
|
|
handleBack() {
|
|
|
|
wx.navigateBack()
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
export {}
|