import Toast from '@vant/weapp/toast/toast' const app = getApp() 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 {}