武田基因病B开发环境
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.
 
 
 

134 lines
3.2 KiB

import dayjs from 'dayjs'
const licia = require('miniprogram-licia')
const app = getApp<IAppOption>()
Page({
data: {
calendarConfig: {
multi: false,
hideSelectYear: true,
markToday: '今', // 当天日期展示不使用默认数字,用特殊文字标记
firstDayOfWeek: 'Mon',
theme: 'geneb',
takeoverTap: true,
highlightToday: true,
onlyShowCurrentMonth: true,
disableMode: {
type: 'after', // [‘before’, 'after']
},
},
endGif: false,
gifPath: `${app.globalData.imageUrl}gif2.gif?t=${app.globalData.Timestamp}`,
injectionDate: '',
injectionDateName: '',
},
onLoad() {
this.loadGifImage()
app.waitLogin({ type: 1 }).then(() => {
app.mpBehavior({ PageName: 'PG_INJECTIONDAY_VISIT' })
this.getDetail()
})
},
getDetail() {
wx.ajax({
method: 'GET',
url: '?r=wtx/treatment/get-injection-date',
data: {},
}).then((res) => {
if (res.injectionDate) {
const [year, month, date] = dayjs(res.injectionDate).format('YYYY-MM-DD').split('-')
const calendar = this.selectComponent('#calendar').calendar
calendar.jump({
year: year,
month: month,
date: 1,
})
calendar.setSelectedDates([
{
year,
month,
date,
},
])
this.setData({
injectionDate: res.injectionDate,
injectionDateName: dayjs(res.injectionDate).format('YYYY年MM月DD日 ddd'),
})
}
})
},
takeoverTap(e) {
const { year, month, date } = e.detail
const injectionDate = dayjs(`${year}-${month}-${date}`).format('YYYY-MM-DD')
const injectionDateName = dayjs(`${year}-${month}-${date}`).format('YYYY年MM月DD日 ddd')
const calendar = this.selectComponent('#calendar').calendar
calendar.cancelSelectedDates()
calendar.setSelectedDates([
{
year,
month,
date,
},
])
this.setData({
injectionDate,
injectionDateName,
})
},
loadGifImage() {
wx.preloadAssets({
data: [
{
type: 'image',
src: `${app.globalData.imageUrl}gif2.gif?t=${app.globalData.Timestamp}`,
},
],
success: () => {
wx.getImageInfo({
src: `${app.globalData.imageUrl}gif2.gif?t=${app.globalData.Timestamp}`,
success: (res) => {
this.setData({
gifPath: res.path,
})
},
})
},
})
},
handleBack() {
app.mpBehavior({ PageName: 'BTN_INJECTIONDAY_CANCELBUTTON_CLICK' })
wx.navigateBack()
},
handleSubmit() {
app.mpBehavior({ PageName: 'BTN_COMPLETEBUTTON_CLICK' })
const { injectionDate } = this.data
if (!injectionDate) {
wx.showToast({
title: '请选择注射日期',
icon: 'none',
})
return
}
wx.ajax({
method: 'POST',
url: '?r=wtx/treatment/save-injection-date',
data: {
injectionDate,
},
}).then(() => {
this.setData({
endGif: true,
})
setTimeout(() => {
wx.navigateBack()
}, 3000)
})
},
})
export {}