262 lines
6.7 KiB
JavaScript
262 lines
6.7 KiB
JavaScript
import { API } from '../../../../utils/network/api'
|
||
import Toast from '@vant/weapp/toast/toast';
|
||
import { requestSubscribeMessage } from '../../../../utils/requestSubscribeUtil';
|
||
let api = new API()
|
||
const app = getApp()
|
||
Page({
|
||
data: {
|
||
navbarData: {
|
||
showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
|
||
title: '公益问诊设置', //导航栏 中间的标题
|
||
},
|
||
height: app.globalData.height,
|
||
checked: true,
|
||
canFree:false,
|
||
showSetting:false,
|
||
open_note: "已开启,可在问诊消息中进行接诊",
|
||
close_note: "已关闭,暂不接收公益问诊",
|
||
note: "",
|
||
amountText: "选择金额(元)",
|
||
amountValue: "",
|
||
inquiry_type: 3,
|
||
inquiry_mode: 1,
|
||
amounts: [],
|
||
info:{
|
||
is_open: false,
|
||
inquiry_price: 0,
|
||
work_num_day: 0
|
||
},
|
||
config:{
|
||
"max_work_num_day": 30,
|
||
"min_inquiry_price": 0,
|
||
"max_inquiry_price": 0,
|
||
"default_inquiry_price": 0,
|
||
"times_number": 10,
|
||
"duration": 1440,
|
||
"system_inquiry_price": [
|
||
"0",
|
||
"5",
|
||
"10"
|
||
]
|
||
},
|
||
sub_visible: false,
|
||
},
|
||
|
||
onLoad(){
|
||
|
||
},
|
||
onShow(){
|
||
let doctor_id=wx.getStorageSync('client_user_id_2');
|
||
console.log(doctor_id);
|
||
if(doctor_id){
|
||
this.getService(doctor_id)
|
||
}
|
||
let params = {};
|
||
params.inquiry_type = this.data.inquiry_type;//接诊类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
|
||
params.inquiry_mode = this.data.inquiry_mode;//接诊方式(1:图文 2:视频 3:语音 4:电话 5:会员)
|
||
//获取医生我的账户数据
|
||
api.getDoctorInquiryConfig(params).then(response => {
|
||
console.log(response);
|
||
this.setData({
|
||
info: response.data.info,
|
||
config: response.data.config,
|
||
})
|
||
this.formatAmounts();
|
||
this.formatAmountValue();
|
||
}).then(re =>{
|
||
let is_open = this.data.info.is_open;
|
||
let note = this.data.note;
|
||
if(is_open == 1) note = this.data.open_note;
|
||
if(is_open == 0) note = this.data.close_note;
|
||
this.setData({
|
||
note: note
|
||
})
|
||
}).catch(errors => {console.error(errors);})
|
||
},
|
||
getService(id){
|
||
api.getDoctorService(id).then(response=>{
|
||
let res=response.data;
|
||
for (let i = 0; i < res.length; i++) {
|
||
if(res[i].inquiry_mode==1 && res[i].inquiry_type==3){
|
||
this.setData({
|
||
canFree:true
|
||
})
|
||
break;
|
||
};
|
||
|
||
}
|
||
|
||
})
|
||
},
|
||
formatAmounts(){
|
||
let list = this.data.config.system_inquiry_price.map(item => {
|
||
let it = {};
|
||
it.label = item+" 元";
|
||
it.value = item;
|
||
return it;
|
||
});
|
||
this.setData({
|
||
amounts: list
|
||
})
|
||
},
|
||
formatAmountValue(){
|
||
// let val = Math.trunc(this.data.info.inquiry_price);
|
||
let val =this.data.info.inquiry_price;
|
||
let valarr = [''+val+'']
|
||
this.setData({
|
||
amountValue: valarr,
|
||
amountText: val
|
||
})
|
||
},
|
||
changeON(){
|
||
let is_open = this.data.info.is_open
|
||
console.log("changeON:", is_open)
|
||
let detail = false
|
||
if(is_open == 0){
|
||
detail = true
|
||
}else{
|
||
detail = false
|
||
}
|
||
this.doChange(detail)
|
||
},
|
||
onChange({ detail }) {
|
||
console.log("onChange: ", detail);
|
||
this.doChange(detail)
|
||
},
|
||
doChange(detail){
|
||
let is_open = 0;
|
||
if(detail){
|
||
|
||
if(!this.data.canFree){
|
||
this.setData({
|
||
showSetting:true
|
||
})
|
||
return false;
|
||
}
|
||
wx.vibrateShort({
|
||
"type": "heavy"
|
||
})
|
||
is_open = 1;
|
||
}else{
|
||
is_open = 0
|
||
}
|
||
//修改开关
|
||
let params = {};
|
||
params.inquiry_type = this.data.inquiry_type;//接诊类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
|
||
params.inquiry_mode = this.data.inquiry_mode;//接诊方式(1:图文 2:视频 3:语音 4:电话 5:会员)
|
||
params.is_open = detail?1:0;
|
||
api.putDoctorInquiryOpen(params).then(response => {
|
||
console.log(response);
|
||
}).then(()=>{
|
||
if(detail){
|
||
let tmplIds = ['G1RIs0RYqsTQ2CuPQWalIMyb6_deuEEbJfajfhGvNzc']
|
||
let sub_promise = requestSubscribeMessage(tmplIds)
|
||
sub_promise.then(res => {
|
||
console.log("订阅成功")
|
||
|
||
}).catch(err => {
|
||
console.log(err)
|
||
let errCode = err.errCode
|
||
if(errCode == 20004){
|
||
this.setData({
|
||
sub_visible: true,
|
||
})
|
||
}
|
||
})
|
||
}
|
||
}).then(()=>{
|
||
if(detail){
|
||
this.setData({ note: this.data.open_note });
|
||
}else{
|
||
this.setData({ note: this.data.close_note });
|
||
}
|
||
this.setData({ "info.is_open": is_open });
|
||
}).catch(errors => {console.error(errors);})
|
||
|
||
},
|
||
subcancelDialog(){
|
||
this.setData({
|
||
sub_visible: false
|
||
})
|
||
},
|
||
subconfirmDialog(){
|
||
this.setData({
|
||
sub_visible: false
|
||
})
|
||
wx.openSetting({
|
||
success (res) {
|
||
console.log(res.authSetting)
|
||
}
|
||
})
|
||
},
|
||
putDoctorInquiryConfig(){
|
||
//修改医生问诊配置
|
||
let params = {};
|
||
params.inquiry_type = this.data.inquiry_type;//接诊类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
|
||
params.inquiry_mode = this.data.inquiry_mode;//接诊方式(1:图文 2:视频 3:语音 4:电话 5:会员)
|
||
params.inquiry_price = this.data.info.inquiry_price;
|
||
params.work_num_day = this.data.info.work_num_day;
|
||
api.putDoctorInquiryConfig(params).then(response => {
|
||
console.log(response);
|
||
Toast.success("修改成功");
|
||
}).catch(errors => {console.error(errors);})
|
||
},
|
||
onStepperChange(event) {
|
||
console.log(event.detail);
|
||
this.setData({
|
||
"info.work_num_day": event.detail
|
||
});
|
||
this.putDoctorInquiryConfig()
|
||
},
|
||
|
||
onAmountPicker() {
|
||
this.setData({ amountVisible: true });
|
||
},
|
||
|
||
onColumnChange(e) {
|
||
console.log('picker pick:', e);
|
||
},
|
||
|
||
onPickerChange(e) {
|
||
console.log(e);
|
||
const { key } = e.currentTarget.dataset;
|
||
const { value } = e.detail;
|
||
console.log('picker change:', e.detail);
|
||
this.setData({
|
||
[`${key}Visible`]: false,
|
||
[`${key}Value`]: value,
|
||
[`${key}Text`]: value+' 元',
|
||
"info.inquiry_price": value[0]
|
||
});
|
||
|
||
this.putDoctorInquiryConfig()
|
||
},
|
||
settingcancelDialog(){
|
||
|
||
this.setData({
|
||
showSetting: false
|
||
})
|
||
},
|
||
settingconfirmDialog(){
|
||
|
||
this.setData({
|
||
showSetting: false
|
||
})
|
||
app.go("/user/pages/yishi/yizhensetupprice/index")
|
||
|
||
},
|
||
onPickerCancel(e) {
|
||
const { key } = e.currentTarget.dataset;
|
||
console.log(e, '取消');
|
||
console.log('picker1 cancel:');
|
||
this.setData({
|
||
[`${key}Visible`]: false,
|
||
});
|
||
},
|
||
go(e){
|
||
let url = e.currentTarget.dataset.url;
|
||
wx.switchTab({
|
||
url: url
|
||
})
|
||
}
|
||
}) |