信达小程序
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.

292 lines
6.5 KiB

import Toast from '@vant/weapp/toast/toast'
5 months ago
const app = getApp<IAppOption>()
6 months ago
Page({
data: {
toastText: '',
5 months ago
id: '',
6 months ago
step: 0,
5 months ago
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: '是的,严重',
5 months ago
},
},
{
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
5 months ago
const { list, key, index } = e.currentTarget.dataset
this.setData({
[`${list}[${index}].answer`]: key,
})
6 months ago
},
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
}
}
6 months ago
this.setData({
step: 1,
})
wx.pageScrollTo({
scrollTop: 0,
})
},
5 months ago
handleReset() {
wx.redirectTo({
url: '/patient/pages/qolAdd/index',
})
},
6 months ago
handleSubmit() {
5 months ago
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}`,
5 months ago
})
Toast()
5 months ago
return
}
form[`Question${order}`] = item.answer
}
wx.ajax({
method: 'POST',
url: '?r=xd/qol/create',
data: {
...form,
},
}).then((res) => {
wx.redirectTo({
5 months ago
url: `/patient/pages/qolResult/index?id=${res.Id}`,
})
6 months ago
})
},
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',
})
},
})
}
},
})
},
6 months ago
})
export {}