You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
291 lines
6.5 KiB
291 lines
6.5 KiB
import Toast from '@vant/weapp/toast/toast' |
|
|
|
const app = getApp<IAppOption>() |
|
|
|
Page({ |
|
data: { |
|
toastText: '', |
|
id: '', |
|
step: 0, |
|
qolList0: [ |
|
{ |
|
title: '1. 骑自行车或电动车', |
|
answer: '', |
|
answerList: { |
|
4: '没学过', |
|
3: '无影响', |
|
2: '有点影响', |
|
1: '严重影响', |
|
}, |
|
}, |
|
{ |
|
title: '2. 开车', |
|
answer: '', |
|
answerList: { |
|
4: '没学过', |
|
3: '无影响', |
|
2: '有点影响', |
|
1: '严重影响', |
|
}, |
|
}, |
|
{ |
|
title: '3. 室内走动', |
|
answer: '', |
|
answerList: { |
|
3: '无影响', |
|
2: '有点影响', |
|
1: '严重影响', |
|
}, |
|
}, |
|
{ |
|
title: '4. 室外走动', |
|
answer: '', |
|
answerList: { |
|
3: '无影响', |
|
2: '有点影响', |
|
1: '严重影响', |
|
}, |
|
}, |
|
{ |
|
title: '5. 看书看报', |
|
answer: '', |
|
answerList: { |
|
3: '无影响', |
|
2: '有点影响', |
|
1: '严重影响', |
|
}, |
|
}, |
|
{ |
|
title: '6. 看电视', |
|
answer: '', |
|
answerList: { |
|
3: '无影响', |
|
2: '有点影响', |
|
1: '严重影响', |
|
}, |
|
}, |
|
{ |
|
title: '7. 兴趣爱好及平时娱乐', |
|
answer: '', |
|
answerList: { |
|
3: '无影响', |
|
2: '有点影响', |
|
1: '严重影响', |
|
}, |
|
}, |
|
{ |
|
title: '8. 过去的1周内,您是否觉得甲状腺相关眼病会阻碍您去做您想做的事', |
|
answer: '', |
|
answerList: { |
|
3: '无影响', |
|
2: '有点影响', |
|
1: '严重影响', |
|
}, |
|
}, |
|
], |
|
qolList1: [ |
|
{ |
|
title: '9. 您是否感觉到甲状腺相关眼病改变您的外表?', |
|
answer: '', |
|
answerList: { |
|
3: '不,没有', |
|
2: '是的,有点', |
|
1: '是的,严重', |
|
}, |
|
}, |
|
{ |
|
title: '10. 您是否感觉到甲状腺相关眼病使您受到了别人的注视?', |
|
answer: '', |
|
answerList: { |
|
3: '不,没有', |
|
2: '是的,有点', |
|
1: '是的,严重', |
|
}, |
|
}, |
|
{ |
|
title: '11. 您是否感觉到别人因为甲状腺相关眼病对您不友善?', |
|
answer: '', |
|
answerList: { |
|
3: '不,没有', |
|
2: '是的,有点', |
|
1: '是的,严重', |
|
}, |
|
}, |
|
{ |
|
title: '12. 您是否感觉到甲状腺相关眼病影响您的自信心?', |
|
answer: '', |
|
answerList: { |
|
3: '不,没有', |
|
2: '是的,有点', |
|
1: '是的,严重', |
|
}, |
|
}, |
|
{ |
|
title: '13. 您是否感觉到甲状腺相关眼病影响您结交新朋友?', |
|
answer: '', |
|
answerList: { |
|
3: '不,没有', |
|
2: '是的,有点', |
|
1: '是的,严重', |
|
}, |
|
}, |
|
{ |
|
title: '14. 您是否感觉到甲状腺相关眼病使您收到了社会孤立?', |
|
answer: '', |
|
answerList: { |
|
3: '不,没有', |
|
2: '是的,有点', |
|
1: '是的,严重', |
|
}, |
|
}, |
|
{ |
|
title: '15. 您是否感觉到甲状腺相关眼病使您拍照的次数减少了?', |
|
answer: '', |
|
answerList: { |
|
3: '不,没有', |
|
2: '是的,有点', |
|
1: '是的,严重', |
|
}, |
|
}, |
|
{ |
|
title: '16. 您是否会试图掩饰甲状腺相关眼病给您带来的外貌变化?', |
|
answer: '', |
|
answerList: { |
|
3: '不,没有', |
|
2: '是的,有点', |
|
1: '是的,严重', |
|
}, |
|
}, |
|
], |
|
}, |
|
onLoad(options) { |
|
this.setData({ |
|
id: options.id, |
|
}) |
|
app.waitLogin({ type: [1] }).then(() => { |
|
if (options.id) { |
|
this.getDetail() |
|
} |
|
}) |
|
}, |
|
getDetail() { |
|
const { qolList0, qolList1 } = this.data |
|
wx.ajax({ |
|
method: 'GET', |
|
url: '?r=xd/qol/view', |
|
data: { |
|
Id: this.data.id, |
|
}, |
|
}).then((res) => { |
|
this.setData({ |
|
detail: res, |
|
}) |
|
qolList0.forEach((item, index) => { |
|
item.answer = res[`Question${index + 1}`] |
|
}) |
|
qolList1.forEach((item, index) => { |
|
item.answer = res[`Question${index + 9}`] |
|
}) |
|
this.setData({ |
|
qolList0, |
|
qolList1, |
|
}) |
|
}) |
|
}, |
|
handleSelect(e) { |
|
const { id } = this.data |
|
if (id) |
|
return |
|
const { list, key, index } = e.currentTarget.dataset |
|
this.setData({ |
|
[`${list}[${index}].answer`]: key, |
|
}) |
|
}, |
|
handleNext() { |
|
const { qolList0 } = this.data |
|
for (let i = 0; i < qolList0.length; i++) { |
|
const item = qolList0[i] |
|
const order = item.title.split('.')[0] |
|
if (!item.answer) { |
|
this.setData({ |
|
toastText: `请填写第${order}题`, |
|
}) |
|
Toast() |
|
return |
|
} |
|
} |
|
|
|
this.setData({ |
|
step: 1, |
|
}) |
|
wx.pageScrollTo({ |
|
scrollTop: 0, |
|
}) |
|
}, |
|
handleReset() { |
|
wx.redirectTo({ |
|
url: '/patient/pages/qolAdd/index', |
|
}) |
|
}, |
|
handleSubmit() { |
|
const { qolList0, qolList1 } = this.data |
|
const arr = [...qolList0, ...qolList1] |
|
const form = {} |
|
for (let i = 0; i < arr.length; i++) { |
|
const item = arr[i] |
|
const order = item.title.split('.')[0] |
|
if (!item.answer) { |
|
this.setData({ |
|
toastText: `请填写第${order}题`, |
|
}) |
|
Toast() |
|
return |
|
} |
|
form[`Question${order}`] = item.answer |
|
} |
|
wx.ajax({ |
|
method: 'POST', |
|
url: '?r=xd/qol/create', |
|
data: { |
|
...form, |
|
}, |
|
}).then((res) => { |
|
wx.redirectTo({ |
|
url: `/patient/pages/qolResult/index?id=${res.Id}`, |
|
}) |
|
}) |
|
}, |
|
handlePrev() { |
|
this.setData({ |
|
step: 0, |
|
}) |
|
}, |
|
handleBack() { |
|
const { id, qolList0, qolList1 } = this.data |
|
const isEmpry = [...qolList0, ...qolList1].every(item => !item.answer) |
|
if (isEmpry || id) { |
|
wx.navigateBack() |
|
return |
|
} |
|
wx.showModal({ |
|
content: '已答问题将被清空,是否放弃自评?', |
|
confirmColor: '#8c75d0', |
|
cancelColor: '#141515', |
|
cancelText: '放弃', |
|
confirmText: '继续', |
|
success: (e) => { |
|
if (e.cancel) { |
|
wx.navigateBack({ |
|
fail() { |
|
wx.reLaunch({ |
|
url: '/patient/pages/index/index', |
|
}) |
|
}, |
|
}) |
|
} |
|
}, |
|
}) |
|
}, |
|
}) |
|
|
|
export {}
|
|
|