259 lines
6.9 KiB
JavaScript
259 lines
6.9 KiB
JavaScript
import { API } from './../../../utils/network/api'
|
||
import Toast from 'tdesign-miniprogram/toast/index';
|
||
import { requestSubscribeMessage } from './../../../utils/requestSubscribeUtil';
|
||
|
||
let api = new API()
|
||
const app = getApp()
|
||
Page({
|
||
data: {
|
||
navbarData: {
|
||
showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
|
||
title: '在线问诊设置', //导航栏 中间的标题
|
||
},
|
||
height: app.globalData.height,
|
||
// open_note: "已开启,患者可以向您发起图文问诊",
|
||
// close_note: "已关闭,暂不接诊",
|
||
note: "",
|
||
inquiry_type: 1,
|
||
inquiry_mode: 1,
|
||
config_setting:{},
|
||
info:{
|
||
is_open: false,
|
||
inquiry_price: 0,
|
||
work_num_day: 0
|
||
},
|
||
active:0,
|
||
myprice: "",
|
||
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,
|
||
showSetting:false
|
||
},
|
||
onLoad(){
|
||
|
||
},
|
||
onShow(){
|
||
this.getDoctorconfig();
|
||
},
|
||
getDoctorconfig(){
|
||
let {inquiry_type,inquiry_mode}=this.data;
|
||
//接诊类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
|
||
//接诊方式(1:图文 2:视频 3:语音 4:电话 5:会员)
|
||
//获取医生我的账户数据
|
||
api.getDoctorInquiryConfig({
|
||
inquiry_type,
|
||
inquiry_mode
|
||
}).then(response => {
|
||
console.log(response);
|
||
this.setData({
|
||
info: response.data.info,
|
||
config: response.data.config,
|
||
note: response.data.info.is_open
|
||
})
|
||
}).catch(errors => {console.error(errors);})
|
||
},
|
||
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 }) {
|
||
this.doChange(detail)
|
||
},
|
||
getConfig(){
|
||
let {inquiry_type,inquiry_mode}=this.data;
|
||
api.getServiceConfig({
|
||
inquiry_type,
|
||
inquiry_mode
|
||
}).then(response => {
|
||
let result=response.data;
|
||
if(result){
|
||
this.setData({
|
||
'config_setting.service_content':result.service_content,
|
||
'config_setting.service_process':result.service_process,
|
||
'config_setting.service_period':result.service_period,
|
||
'config_setting.service_rounds':result.service_rounds,
|
||
'config_setting.config_service_id':result.config_service_id
|
||
})
|
||
}
|
||
}).catch(errors => {console.error(errors);})
|
||
},
|
||
doChange(detail){
|
||
console.log("onChange: ", detail);
|
||
let is_open = 0;
|
||
if(detail){
|
||
let inquiry_price = this.data.info.inquiry_price;
|
||
console.log(this.data.active);
|
||
if(this.data.active==0){
|
||
let check = this.checkPrice(inquiry_price);
|
||
if(!check) return;
|
||
}
|
||
if(this.data.active==1 || this.data.active==2){
|
||
if(!this.data.info.work_num_day || !this.data.info.inquiry_price){
|
||
this.setData({
|
||
showSetting:true
|
||
})
|
||
return false;
|
||
}
|
||
}
|
||
this.setData({ note: this.data.open_note });
|
||
wx.vibrateShort({
|
||
"type": "heavy"
|
||
})
|
||
is_open = 1
|
||
}else{
|
||
this.setData({ note: this.data.close_note });
|
||
is_open = 0
|
||
}
|
||
this.setData({ "info.is_open": is_open });
|
||
|
||
//修改开关
|
||
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,
|
||
})
|
||
}
|
||
})
|
||
|
||
}
|
||
}).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)
|
||
}
|
||
})
|
||
},
|
||
settingcancelDialog(){
|
||
this.setData({
|
||
showSetting: false
|
||
})
|
||
},
|
||
settingconfirmDialog(){
|
||
let {active}=this.data;
|
||
this.setData({
|
||
showSetting: false
|
||
})
|
||
if(active==1){
|
||
app.go("/Pages/yishi/onlinesetupprice/index?inquiry_mode=1")
|
||
}else if(active==2){
|
||
app.go("/Pages/yishi/onlinesetupprice/index?inquiry_mode=6")
|
||
}
|
||
|
||
},
|
||
onChangeInquiry(event) {
|
||
let index=event.detail.name;
|
||
this.setData({
|
||
active:index
|
||
})
|
||
if(index==0){
|
||
this.setData({
|
||
inquiry_type:1,
|
||
inquiry_mode:1,
|
||
})
|
||
}else if(index==1){
|
||
this.setData({
|
||
inquiry_type:1,
|
||
inquiry_mode:2,
|
||
})
|
||
}else{
|
||
this.setData({
|
||
inquiry_type:1,
|
||
inquiry_mode:6,
|
||
})
|
||
this.getConfig();
|
||
}
|
||
this.getDoctorconfig();
|
||
},
|
||
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("修改成功");
|
||
// wx.switchTab({
|
||
// url: "/Pages/yishi/wenzhen_v2/wenzhen"
|
||
// })
|
||
// }).catch(errors => {console.error(errors);})
|
||
|
||
wx.switchTab({
|
||
url: "/Pages/yishi/wenzhen_v2/wenzhen"
|
||
})
|
||
|
||
},
|
||
myToast(message){
|
||
Toast({
|
||
context: this,
|
||
selector: '#t-toast',
|
||
message: message,
|
||
theme: 'error',
|
||
direction: 'column',
|
||
});
|
||
},
|
||
checkPrice(price){
|
||
let value = Number(price);
|
||
let min = Number(this.data.config.min_inquiry_price);
|
||
let max = Number(this.data.config.max_inquiry_price);
|
||
if(value < min){
|
||
value = min;
|
||
let message = '价格不能低于' + min + '元';
|
||
this.myToast(message);
|
||
return false;
|
||
}else if(value >= min && value <=max ){
|
||
return true;
|
||
}else{
|
||
value = max;
|
||
let message = '价格不能高于' + max + '元';
|
||
this.myToast(message);
|
||
return false;
|
||
}
|
||
},
|
||
}) |