add file
This commit is contained in:
@@ -0,0 +1,622 @@
|
||||
// commpents/myprofile/index.js
|
||||
import Toast from '@vant/weapp/toast/toast';
|
||||
import { API } from './../../utils/network/api'
|
||||
|
||||
const api = new API()
|
||||
const app = getApp()
|
||||
Component({
|
||||
/**
|
||||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
indentity: { //是否为认证页面
|
||||
type: Boolean,
|
||||
value: true
|
||||
}
|
||||
},
|
||||
data: {
|
||||
navbarData: {
|
||||
showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
|
||||
title: '医师身份认证', //导航栏 中间的标题
|
||||
},
|
||||
height: app.globalData.height,
|
||||
//选项卡
|
||||
stickyProps: {
|
||||
zIndex: 2,
|
||||
},
|
||||
realname:"",
|
||||
idcard:"",
|
||||
avatar: "https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/default_photo.png",
|
||||
is_avatar: false,
|
||||
city_show: false,
|
||||
keshi_show: false,
|
||||
yiyuan_show: false,
|
||||
zhuanchang_show: false,
|
||||
zhiye_show: false,
|
||||
zige_show: false,
|
||||
zhicheng_show: false,
|
||||
zhicheng_img_show: false,
|
||||
next_btn_txt: "下一步",
|
||||
next_btn_disabled: false,
|
||||
office_phone: "",
|
||||
keshi_note: "请选择科室",
|
||||
keshi_columns: [],
|
||||
select_keshi_id: "",
|
||||
select_keshi_index: "",
|
||||
custom_keshi: "",
|
||||
zhicheng_note: "请选择职称",
|
||||
zhicheng_columns: [
|
||||
{
|
||||
text: "执业医师",
|
||||
value: 1
|
||||
},
|
||||
{
|
||||
text: "主治医师",
|
||||
value: 2
|
||||
},
|
||||
{
|
||||
text: "副主任医师",
|
||||
value: 3
|
||||
},
|
||||
{
|
||||
text: "主任医师",
|
||||
value: 4
|
||||
}
|
||||
],
|
||||
select_zhicheng_id: "",
|
||||
select_zhicheng_index: "",
|
||||
select_yiyuan_index: "",
|
||||
yiyuan_columns: [],
|
||||
zhuanchang_columns: [],
|
||||
zhuanchang_selected_columns: [],
|
||||
select_province_id: "",
|
||||
select_city_id: "",
|
||||
select_county_id: "",
|
||||
city_note: "请选择城市",
|
||||
yiyuan_note: "请选择医院",
|
||||
select_yiyuan_id: "",
|
||||
area_sub_titles: ["省份","市区","区县"],
|
||||
areaList: [],
|
||||
textarea_jianjie: "",
|
||||
textarea_shanchang: "",
|
||||
zhiye_file_list:[],
|
||||
zige_file_list:[],
|
||||
zhicheng_file_list:[],
|
||||
doctorauthiden_data_ready: false,
|
||||
basicdepartment_data_ready: false,
|
||||
areaprovince_data_ready: false,
|
||||
iden_auth_status: 0,
|
||||
iden_auth_disabled: 0,
|
||||
iden_auth_status_txt: "未认证",
|
||||
},
|
||||
|
||||
options: {
|
||||
addGlobalClass: true,
|
||||
styleIsolation: 'apply-shared'
|
||||
},
|
||||
lifetimes: {
|
||||
attached(){
|
||||
let _this = this;
|
||||
//获得医师身份认证
|
||||
api.getDoctorAuthIden().then(response => {
|
||||
console.log("getDoctorAuthIden: ",response);
|
||||
this.setData({
|
||||
is_avatar: true,
|
||||
doctorauthiden_data_ready: true,
|
||||
textarea_jianjie: response.data.brief_introduction,
|
||||
textarea_shanchang: response.data.be_good_at,
|
||||
custom_keshi: response.data.department_custom_name,
|
||||
office_phone: response.data.department_custom_mobile,
|
||||
select_keshi_id: response.data.department_custom_id,
|
||||
select_zhicheng_id: response.data.doctor_title,
|
||||
select_province_id: response.data.hospital.province_id,
|
||||
select_city_id: response.data.hospital.city_id,
|
||||
select_county_id: response.data.hospital.county_id,
|
||||
select_yiyuan_id: response.data.hospital.hospital_id,
|
||||
hospital: response.data.hospital,
|
||||
iden_auth_status: response.data.iden_auth_status,
|
||||
});
|
||||
let iden_auth_status = response.data.iden_auth_status;
|
||||
console.log("iden_auth_status: ",iden_auth_status)
|
||||
let iden_auth_status_txt = iden_auth_status == 0?'请完善资料后提交':iden_auth_status == 1?'认证通过': iden_auth_status==2?'资料已提交,审核中':iden_auth_status==3?'认证失败':'未认证';
|
||||
|
||||
let iden_auth_disabled = iden_auth_status == 0?false:iden_auth_status == 1?false: iden_auth_status==2?true:iden_auth_status==3?false:true;
|
||||
console.log("iden_auth_disabled: ",iden_auth_disabled)
|
||||
this.setData({
|
||||
iden_auth_status_txt: iden_auth_status_txt,
|
||||
iden_auth_disabled: iden_auth_disabled
|
||||
})
|
||||
if(response.data.license_cert){
|
||||
let img_list = response.data.license_cert.map(item => {
|
||||
let img = {};
|
||||
img.url = item;
|
||||
img.isImg = true;
|
||||
return img;
|
||||
})
|
||||
this.setData({
|
||||
zhiye_file_list: img_list
|
||||
})
|
||||
}
|
||||
if(response.data.qualification_cert){
|
||||
let img_list = response.data.qualification_cert.map(item => {
|
||||
let img = {};
|
||||
img.url = item;
|
||||
img.isImg = true;
|
||||
return img;
|
||||
})
|
||||
this.setData({
|
||||
zige_file_list: img_list
|
||||
})
|
||||
}
|
||||
if(response.data.work_cert){
|
||||
let img_list = response.data.work_cert.map(item => {
|
||||
let img = {};
|
||||
img.url = item;
|
||||
img.isImg = true;
|
||||
return img;
|
||||
})
|
||||
this.setData({
|
||||
zhicheng_file_list: img_list
|
||||
})
|
||||
}
|
||||
let avatar = response.data.avatar;
|
||||
if(avatar && (avatar.indexOf("http") == -1)){
|
||||
avatar = api.getStaticHost() + avatar;
|
||||
}
|
||||
this.setData({
|
||||
"avatar": avatar
|
||||
})
|
||||
}).catch(errors => {console.error(errors);})
|
||||
|
||||
//加载省份列表
|
||||
api.getAreaProvince().then(response => {
|
||||
console.log(response);
|
||||
const list = _this.formatArea(response, -1, true);
|
||||
_this.setData({
|
||||
areaprovince_data_ready: true,
|
||||
areaList: list
|
||||
})
|
||||
}).catch(errors => {console.error(errors); })
|
||||
|
||||
//加载科室列表
|
||||
api.getBasicDepartment().then(response => {
|
||||
console.log(response);
|
||||
const list = _this.formatKeShi(response);
|
||||
_this.setData({
|
||||
basicdepartment_data_ready: true,
|
||||
keshi_columns: list
|
||||
})
|
||||
}).catch(errors => {console.error(errors); })
|
||||
|
||||
//加载专长列表
|
||||
api.getDoctorExpertise().then(response => {
|
||||
console.log(response);
|
||||
_this.setData({
|
||||
zhuanchang_columns: response.data
|
||||
})
|
||||
}).catch(errors => {console.error(errors); })
|
||||
|
||||
let keshi_huixian = false;
|
||||
let zhicheng_huixian = false;
|
||||
let area_huixian = false;
|
||||
//执行回显
|
||||
let data_replay = setInterval(() => {
|
||||
console.log("执行回显。。。")
|
||||
|
||||
//回显科室
|
||||
if(_this.data.doctorauthiden_data_ready && _this.data.basicdepartment_data_ready){
|
||||
let index = _this.data.keshi_columns.findIndex(item => {
|
||||
return item.value == _this.data.select_keshi_id
|
||||
})
|
||||
_this.setData({
|
||||
select_keshi_index: index,
|
||||
keshi_note: _this.data.keshi_columns[index].text
|
||||
})
|
||||
keshi_huixian = true;
|
||||
}
|
||||
//回显职称
|
||||
if(_this.data.doctorauthiden_data_ready){
|
||||
let index = _this.data.zhicheng_columns.findIndex(item => {
|
||||
return item.value == _this.data.select_zhicheng_id
|
||||
})
|
||||
_this.setData({
|
||||
select_zhicheng_index: index,
|
||||
zhicheng_note: _this.data.zhicheng_columns[index].text
|
||||
})
|
||||
zhicheng_huixian = true;
|
||||
}
|
||||
|
||||
//回显省市区
|
||||
if(_this.data.doctorauthiden_data_ready && _this.data.areaprovince_data_ready){
|
||||
|
||||
let select_province_id = _this.data.select_province_id;
|
||||
let select_city_id = _this.data.select_city_id;
|
||||
let select_county_id = _this.data.select_county_id;
|
||||
let select_yiyuan_id = _this.data.select_yiyuan_id;
|
||||
|
||||
api.getAreaCity({area_id: select_province_id}).then(response => {// 请求市区列表
|
||||
let _index = _this.data.areaList.findIndex(item => item.value == select_province_id);
|
||||
const list = _this.formatArea(response, _index, true);
|
||||
const _city = "areaList[" + _index + "].children";
|
||||
console.log("_city: ", _city);
|
||||
_this.setData({
|
||||
[_city]: list,
|
||||
})
|
||||
}).then(e =>{
|
||||
api.getAreaCounty({area_id: select_city_id}).then(response => {// 请求市区列表
|
||||
let _index = _this.data.areaList.findIndex(item => item.value == select_province_id);
|
||||
console.log("getAreaCounty: ", _index)
|
||||
let c_index = _this.data.areaList[_index].children.findIndex(item => item.value == select_city_id);
|
||||
console.log("children: ", _index)
|
||||
let p_index = _this.data.areaList[_index].children[c_index].index;
|
||||
const list = _this.formatArea(response, _index, false);
|
||||
const _county = "areaList[" + _index + "].children[" +p_index+ "].children";
|
||||
_this.setData({
|
||||
[_county]: list,
|
||||
})
|
||||
}).then(e => {
|
||||
let params = {
|
||||
province_id: _this.data.select_province_id,
|
||||
city_id: _this.data.select_city_id,
|
||||
county_id: _this.data.select_county_id,
|
||||
}
|
||||
api.getBasicHospital(params).then(response => {// 请求医院列表
|
||||
_this.setData({
|
||||
yiyuan_columns: _this.formatYiYuan(response),
|
||||
city_note: _this.data.hospital.province + "/" + _this.data.hospital.city + "/" + _this.data.hospital.county
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
let index = _this.data.yiyuan_columns.findIndex(item => {
|
||||
return item.value == _this.data.select_yiyuan_id
|
||||
})
|
||||
_this.setData({
|
||||
select_yiyuan_index: index,
|
||||
yiyuan_note: _this.data.yiyuan_columns[index].text
|
||||
})
|
||||
}, 100);
|
||||
|
||||
|
||||
}).catch(errors => {console.error(errors); })
|
||||
}).catch(errors => {console.error(errors); })
|
||||
}).catch(errors => {console.error(errors); })
|
||||
|
||||
area_huixian = true;
|
||||
}
|
||||
|
||||
//都回显成功后,清除计时器
|
||||
console.log("keshi_huixian: ", keshi_huixian)
|
||||
console.log("zhicheng_huixian: ", zhicheng_huixian)
|
||||
console.log("area_huixian: ", area_huixian)
|
||||
if(keshi_huixian && zhicheng_huixian && area_huixian){
|
||||
clearInterval(data_replay);
|
||||
}
|
||||
console.log("计时器")
|
||||
}, 1000);
|
||||
},
|
||||
},
|
||||
|
||||
methods: {
|
||||
onCityShow(e) {
|
||||
console.log("onCityShow");
|
||||
this.setData({ city_show: true });
|
||||
},
|
||||
onChangeCity(e) {
|
||||
this.setData({
|
||||
select_county_id: "",
|
||||
select_yiyuan_id: ""
|
||||
})
|
||||
console.log("onChangeCity");
|
||||
const { selectedOptions } = e.detail;
|
||||
console.log(e.detail)
|
||||
let area = selectedOptions[selectedOptions.length-1];
|
||||
if(!area){
|
||||
area = selectedOptions[selectedOptions.length-2];
|
||||
}
|
||||
const type = area.type;
|
||||
const value = area.value;
|
||||
const index = area.index;
|
||||
const p_index = area.p_index;
|
||||
if(type == 2){//省份
|
||||
api.getAreaCity({area_id: value}).then(response => {// 请求市区列表
|
||||
const list = this.formatArea(response, index, true);
|
||||
const _city = "areaList[" + index + "].children";
|
||||
this.setData({
|
||||
[_city]: list,
|
||||
select_province_id: value
|
||||
})
|
||||
}).catch(errors => {console.error(errors); })
|
||||
}
|
||||
if(type == 3){//市区
|
||||
api.getAreaCounty({area_id: value}).then(response => {// 请求市区列表
|
||||
const list = this.formatArea(response, index, false);
|
||||
const _county = "areaList[" + p_index + "].children[" +index+ "].children";
|
||||
this.setData({
|
||||
[_county]: list,
|
||||
select_city_id: value
|
||||
})
|
||||
}).catch(errors => {console.error(errors); })
|
||||
}
|
||||
|
||||
console.log("type: " + type);
|
||||
if(type == 4){//区县
|
||||
this.setData({
|
||||
select_county_id: value,
|
||||
});
|
||||
|
||||
let params = {
|
||||
province_id: this.data.select_province_id,
|
||||
city_id: this.data.select_city_id,
|
||||
county_id: this.data.select_county_id,
|
||||
}
|
||||
api.getBasicHospital(params).then(response => {// 请求医院列表】
|
||||
this.setData({
|
||||
yiyuan_columns: this.formatYiYuan(response),
|
||||
city_show: false,
|
||||
city_note: this.getCityNote(selectedOptions),
|
||||
yiyuan_show: true
|
||||
})
|
||||
}).catch(errors => {console.error(errors); })
|
||||
|
||||
}else{
|
||||
this.setData({
|
||||
city_show: true
|
||||
})
|
||||
}
|
||||
},
|
||||
getCityNote(selectedOptions){
|
||||
let txt = [];
|
||||
selectedOptions.forEach(item => {
|
||||
if(item){
|
||||
txt.push(item.label);
|
||||
}
|
||||
})
|
||||
return txt.join("/");
|
||||
},
|
||||
formatArea(response, p_index, has_children){
|
||||
var list = []
|
||||
let index = 0;
|
||||
response.data.forEach(data => {
|
||||
let area = {};
|
||||
area.index = index++;
|
||||
area.p_index = p_index;
|
||||
area.type = data.area_type;
|
||||
area.label = data.area_name;
|
||||
area.value = data.area_id;
|
||||
if(has_children){
|
||||
area.children = [];
|
||||
}
|
||||
list.push(area)
|
||||
});
|
||||
return list;
|
||||
},
|
||||
formatYiYuan(response){
|
||||
let list = [];
|
||||
response.data.forEach(data => {
|
||||
let hospital = {};
|
||||
hospital.text = data.hospital_name;
|
||||
hospital.value = data.hospital_id;
|
||||
list.push(hospital)
|
||||
});
|
||||
return list;
|
||||
},
|
||||
formatKeShi(response){
|
||||
let list = [];
|
||||
response.data.forEach(item => {
|
||||
let data = {};
|
||||
data.text = item.department_custom_name;
|
||||
data.value = item.department_custom_id;
|
||||
list.push(data)
|
||||
});
|
||||
return list;
|
||||
},
|
||||
formatZhuanChang(response){
|
||||
let list = [];
|
||||
response.data.forEach(item => {
|
||||
let data = {};
|
||||
data.text = item.expertise_name;
|
||||
data.value = item.expertise_id;
|
||||
list.push(data)
|
||||
});
|
||||
return list;
|
||||
},
|
||||
onYiYuanShow(e) {
|
||||
console.log("onYiYuanShow");
|
||||
this.setData({ yiyuan_show: true });
|
||||
},
|
||||
onYiYuanClose(e) {
|
||||
console.log("onYiYuanClose");
|
||||
this.setData({ yiyuan_show: false });
|
||||
},
|
||||
onYiYuanCancel(event) {
|
||||
console.log("onYiYuanCancel");
|
||||
const { picker, value, index } = event.detail;
|
||||
Toast(`当前值:${value}, 当前索引:${index}`);
|
||||
this.setData({
|
||||
yiyuan_show: false
|
||||
});
|
||||
|
||||
},
|
||||
onYiYuanConfirm(event) {
|
||||
console.log("onYiYuanConfirm");
|
||||
const { picker, value, index } = event.detail;
|
||||
console.log(event.detail);
|
||||
this.setData({
|
||||
yiyuan_show: false,
|
||||
select_yiyuan_id: `${value.value}`,
|
||||
yiyuan_note: `${value.text}`
|
||||
});
|
||||
},
|
||||
onYiYuanChange(event) {
|
||||
console.log("onYiYuanChange");
|
||||
const { picker, value, index } = event.detail;
|
||||
Toast(`当前值:${value}, 当前索引:${index}`);
|
||||
},
|
||||
onKeshiShow(e) {
|
||||
console.log("onKeshiShow");
|
||||
this.setData({ keshi_show: true });
|
||||
},
|
||||
onKeshiCancel(event) {
|
||||
console.log("onKeshiCancel");
|
||||
const { picker, value, index } = event.detail;
|
||||
Toast(`当前值:${value}, 当前索引:${index}`);
|
||||
this.setData({ keshi_show: false });
|
||||
},
|
||||
onKeshiConfirm(event) {
|
||||
console.log("onKeshiConfirm");
|
||||
const { picker, value, index } = event.detail;
|
||||
Toast(`当前值:${value}, 当前索引:${index}`);
|
||||
this.setData({
|
||||
keshi_show: false,
|
||||
select_keshi_id: `${value.value}`,
|
||||
keshi_note: `${value.text}`,
|
||||
});
|
||||
},
|
||||
onKeshiChange(event) {
|
||||
console.log("onKeshiChange");
|
||||
},
|
||||
onKeshiClose(e) {
|
||||
console.log("onKeshiClose");
|
||||
this.setData({ keshi_show: false });
|
||||
},
|
||||
onZhiChengShow(e) {
|
||||
console.log("onKeshiShow");
|
||||
this.setData({ zhicheng_show: true });
|
||||
},
|
||||
onZhiChengCancel(event) {
|
||||
console.log("onKeshiCancel");
|
||||
const { picker, value, index } = event.detail;
|
||||
Toast(`当前值:${value}, 当前索引:${index}`);
|
||||
this.setData({ zhicheng_show: false });
|
||||
},
|
||||
onZhiChengConfirm(event) {
|
||||
console.log("onZhiChengConfirm");
|
||||
const { picker, value, index } = event.detail;
|
||||
Toast(`当前值:${value}, 当前索引:${index}`);
|
||||
this.setData({
|
||||
zhicheng_show: false,
|
||||
select_zhicheng_id: `${value.value}`,
|
||||
zhicheng_note: `${value.text}`,
|
||||
});
|
||||
},
|
||||
onZhiChengChange(event) {
|
||||
console.log("onZhiChengChange");
|
||||
},
|
||||
onZhiChengClose(e) {
|
||||
console.log("onZhiChengClose");
|
||||
this.setData({ zhicheng_show: false });
|
||||
},
|
||||
onZhuanChangShow(){
|
||||
this.setData({ zhuanchang_show: true });
|
||||
},
|
||||
onZhuanChangVisibleChange(e) {
|
||||
this.setData({
|
||||
zhuanchang_show: e.detail.visible,
|
||||
});
|
||||
},
|
||||
onshowJianJieNote(e){
|
||||
e.detail // 自定义组件触发事件时提供的 detail 对象
|
||||
console.log("onshowJianJieNote");
|
||||
},
|
||||
onshowShanChangNote(e){
|
||||
e.detail // 自定义组件触发事件时提供的 detail 对象
|
||||
console.log("onshowShanChangNote");
|
||||
},
|
||||
onshowZhiYeNote(e){
|
||||
e.detail // 自定义组件触发事件时提供的 detail 对象
|
||||
console.log("onshowZhiYeNote");
|
||||
this.setData({ zhiye_show: true });
|
||||
},
|
||||
onZhiYeClose(){
|
||||
console.log("onZhiYeClose");
|
||||
this.setData({ zhiye_show: false });
|
||||
},
|
||||
onshowZiGeNote(e){
|
||||
e.detail // 自定义组件触发事件时提供的 detail 对象
|
||||
console.log("onshowZiGeNote");
|
||||
this.setData({ zige_show: true });
|
||||
},
|
||||
onZiGeClose(){
|
||||
console.log("onZhiYeClose");
|
||||
this.setData({ zige_show: false });
|
||||
},
|
||||
onshowZhiChengImgNote(e){
|
||||
e.detail // 自定义组件触发事件时提供的 detail 对象
|
||||
console.log("onshowZhiChengNote");
|
||||
this.setData({ zhicheng_img_show: true });
|
||||
},
|
||||
onZhiChengImgClose(){
|
||||
console.log("onZhiChengClose");
|
||||
this.setData({ zhicheng_img_show: false });
|
||||
},
|
||||
getTextAreaVal(e){
|
||||
console.log("myindex: ", e);
|
||||
let textarea_name = e.currentTarget.dataset.textarea_name;
|
||||
this.setData({
|
||||
[textarea_name]: e.detail.value
|
||||
})
|
||||
},
|
||||
select_zhuanchang(e){
|
||||
console.log(e);
|
||||
let expertise_name = e.currentTarget.dataset.expertise_name;
|
||||
let expertise_id = e.currentTarget.dataset.expertise_id;
|
||||
let is_selected = e.currentTarget.dataset.is_selected;
|
||||
let index = e.currentTarget.dataset.index;
|
||||
let data = "zhuanchang_columns["+index+"].is_selected";
|
||||
this.setData({[data]: is_selected==1?0:1})
|
||||
},
|
||||
zhuanchangConfirm(e){
|
||||
this.setData({ zhuanchang_show: false });
|
||||
},
|
||||
zhuanchangConcle(e){
|
||||
this.setData({ zhuanchang_show: false });
|
||||
},
|
||||
addDoctorAuthIden(){
|
||||
let params = {};
|
||||
|
||||
if(!this.data.is_avatar){wx.showToast({title: '请上传头像',icon: "error"});return}
|
||||
params.avatar = this.data.avatar;
|
||||
if(!this.data.select_county_id){wx.showToast({title: '请选择城市',icon: "error"});return}
|
||||
if(!this.data.select_yiyuan_id){wx.showToast({title: '请选择医院',icon: "error"});return}
|
||||
params.hospital_id = this.data.select_yiyuan_id;//医院id
|
||||
if(!this.data.select_keshi_id){wx.showToast({title: '请选择科室',icon: "error"});return}
|
||||
params.department_custom_id = this.data.select_keshi_id;//科室id
|
||||
if(!this.data.custom_keshi){wx.showToast({title: '请输入科室',icon: "error"});return}
|
||||
params.department_custom_name = this.data.custom_keshi;//自定义科室名称
|
||||
if(!this.data.office_phone){wx.showToast({title: '请输入科室电话',icon: "error"});return}
|
||||
params.department_custom_mobile = this.data.office_phone;//科室电话
|
||||
params.doctor_expertise = this.data.zhuanchang_columns.filter(e => e.is_selected == 1 ).map(e => e.expertise_id);//专长
|
||||
if(params.doctor_expertise.length == 0){wx.showToast({title: '请选择专长',icon: "error"});return}
|
||||
if(!this.data.select_zhicheng_id){wx.showToast({title: '请选择职称',icon: "error"});return}
|
||||
params.doctor_title = this.data.select_zhicheng_id;//职称id
|
||||
if(!this.data.textarea_jianjie){wx.showToast({title: '请输入简介',icon: "error"});return}
|
||||
params.brief_introduction = this.data.textarea_jianjie;//简介
|
||||
if(!this.data.textarea_shanchang){wx.showToast({title: '请输入擅长',icon: "error"});return}
|
||||
params.be_good_at = this.data.textarea_shanchang;//擅长
|
||||
|
||||
if(this.data.zhiye_file_list.length == 0){wx.showToast({title: '请上传医师执业证',icon: "error"});return}
|
||||
params.license_cert = this.data.zhiye_file_list.map(e => e.url);//医师执业证
|
||||
if(this.data.zige_file_list.length == 0){wx.showToast({title: '请上传医师资格证',icon: "error"});return}
|
||||
params.qualification_cert = this.data.zige_file_list.map(e => e.url);//医生资格证
|
||||
if(this.data.zhicheng_file_list.length == 0){wx.showToast({title: '请上传职称证',icon: "error"});return}
|
||||
params.work_cert = this.data.zhicheng_file_list.map(e => e.url);//工作证,职称证
|
||||
|
||||
|
||||
console.log(params);
|
||||
|
||||
api.postDoctorAuthIden(params).then(response => {
|
||||
console.log(response);
|
||||
wx.showToast({
|
||||
title: '提交成功',
|
||||
icon: "success"
|
||||
})
|
||||
|
||||
this.setData({
|
||||
iden_auth_status_txt: "审核中",
|
||||
iden_auth_disabled: true
|
||||
})
|
||||
|
||||
}).catch(errors => {console.error(errors);})
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"te-nav-bar": "/commpents/te_navbar",
|
||||
"m-textarea-cell": "/commpents/textarea-cell/index",
|
||||
"m-upload-cell": "/commpents/upload-cell/index",
|
||||
"t-tabs": "tdesign-miniprogram/tabs/tabs",
|
||||
"t-tab-panel": "tdesign-miniprogram/tab-panel/tab-panel",
|
||||
"t-cell": "tdesign-miniprogram/cell/cell",
|
||||
"t-icon": "tdesign-miniprogram/icon/icon",
|
||||
"t-avatar": "tdesign-miniprogram/avatar/avatar",
|
||||
"t-button": "tdesign-miniprogram/button/button",
|
||||
"t-cascader": "tdesign-miniprogram/cascader/cascader",
|
||||
"t-popup": "tdesign-miniprogram/popup/popup",
|
||||
"van-field": "@vant/weapp/field/index",
|
||||
"van-uploader": "@vant/weapp/uploader/index",
|
||||
"van-popup": "@vant/weapp/popup/index",
|
||||
"van-picker": "@vant/weapp/picker/index",
|
||||
"van-toast": "@vant/weapp/toast/index",
|
||||
"van-button": "@vant/weapp/button/index",
|
||||
"van-icon": "@vant/weapp/icon/index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,249 @@
|
||||
<view class="photo">
|
||||
<view class="title">头像 <text class="required"> *</text></view>
|
||||
<van-uploader bind:after-read="doUploadFile" data-scene="1" data-field_name="avatar" data-file_multiple="false">
|
||||
<view class="right">
|
||||
<view class="note">真人正脸</view>
|
||||
<t-avatar image="{{ avatar }}" />
|
||||
<view class="icon">
|
||||
<t-icon name="chevron-right" size="48rpx" data-name="chevron-right" />
|
||||
</view>
|
||||
</view>
|
||||
</van-uploader>
|
||||
</view>
|
||||
|
||||
<!-- <t-cell title="头像" hover required arrow note="真人正脸" /> -->
|
||||
<t-cell title="城市" hover required arrow note="{{ city_note }}" bindtap="onCityShow"/>
|
||||
|
||||
<t-cascader
|
||||
visible="{{ city_show }}"
|
||||
theme="tab"
|
||||
value="{{ select_county_id }}"
|
||||
options="{{ areaList }}"
|
||||
title="请选择地址"
|
||||
sub-titles="{{area_sub_titles}}"
|
||||
bind:change="onChangeCity"
|
||||
></t-cascader>
|
||||
|
||||
<t-cell title="医院" hover required arrow note="{{ yiyuan_note }}" bindtap="onYiYuanShow"/>
|
||||
<van-popup
|
||||
show="{{ yiyuan_show }}"
|
||||
position="bottom"
|
||||
bind:close="onYiYuanClose"
|
||||
round
|
||||
>
|
||||
<van-picker
|
||||
show-toolbar
|
||||
title="请选择医院"
|
||||
columns="{{ yiyuan_columns }}"
|
||||
default-index="{{select_yiyuan_index}}"
|
||||
bind:cancel="onYiYuanCancel"
|
||||
bind:confirm="onYiYuanConfirm"
|
||||
bind:change="onYiYuanChange" />
|
||||
</van-popup>
|
||||
<t-cell title="科室" hover required arrow note="{{keshi_note}}" bindtap="onKeshiShow" bordered="{{ select_keshi_id == '' }}"/>
|
||||
|
||||
<view class="custom_keshi" wx:if="{{ select_keshi_id != ''}}">
|
||||
<van-field model:value="{{custom_keshi}}" label="" placeholder="请输入科室"/>
|
||||
</view>
|
||||
|
||||
<van-popup
|
||||
show="{{ keshi_show }}"
|
||||
position="bottom"
|
||||
bind:close="onKeshiClose"
|
||||
round
|
||||
>
|
||||
<van-picker
|
||||
show-toolbar
|
||||
title="请选择科室"
|
||||
columns="{{ keshi_columns }}"
|
||||
default-index="{{select_keshi_index}}"
|
||||
bind:cancel="onKeshiCancel"
|
||||
bind:confirm="onKeshiConfirm"
|
||||
bind:change="onKeshiChange" />
|
||||
</van-popup>
|
||||
|
||||
<van-popup
|
||||
show="{{ zhicheng_show }}"
|
||||
position="bottom"
|
||||
bind:close="onZhiChengClose"
|
||||
round
|
||||
>
|
||||
<van-picker
|
||||
show-toolbar
|
||||
title="请选择职称"
|
||||
default-index="{{select_zhicheng_index}}"
|
||||
columns="{{ zhicheng_columns }}"
|
||||
bind:cancel="onZhiChengCancel"
|
||||
bind:confirm="onZhiChengConfirm"
|
||||
bind:change="onZhiChengChange" />
|
||||
</van-popup>
|
||||
|
||||
<van-popup
|
||||
show="{{ zhiye_show }}"
|
||||
closeable
|
||||
round
|
||||
position="bottom"
|
||||
bind:close="onZhiYeClose"
|
||||
>
|
||||
<view class="zhiye_popup">
|
||||
<view class="zhiye_popup_title">医师执业证示例</view>
|
||||
<view class="zhiye_popup_img"></view>
|
||||
<view class="zhiye_popup_img"></view>
|
||||
</view>
|
||||
</van-popup>
|
||||
|
||||
<van-popup
|
||||
show="{{ zige_show }}"
|
||||
closeable
|
||||
round
|
||||
position="bottom"
|
||||
bind:close="onZiGeClose"
|
||||
>
|
||||
<view class="zhiye_popup">
|
||||
<view class="zhiye_popup_title">医师资格证示例</view>
|
||||
<view class="zhiye_popup_img"></view>
|
||||
</view>
|
||||
</van-popup>
|
||||
|
||||
<van-popup
|
||||
show="{{ zhicheng_img_show }}"
|
||||
closeable
|
||||
round
|
||||
position="bottom"
|
||||
bind:close="onZhiChengImgClose"
|
||||
>
|
||||
<view class="zhiye_popup">
|
||||
<view class="zhiye_popup_title">职称证示例</view>
|
||||
<view class="zhiye_popup_img"></view>
|
||||
</view>
|
||||
</van-popup>
|
||||
|
||||
<t-popup visible="{{zhuanchang_show}}" bind:visible-change="onZhuanChangVisibleChange" placement="bottom">
|
||||
<view class="zhuanchang_block">
|
||||
<view class="zhuanchang_header">
|
||||
<view class="zhuanchang_btn zhuanchang_btn--cancel" aria-role="button" bindtap="zhuanchangConcle">取消</view>
|
||||
<view class="zhuanchang_title">选择专长</view>
|
||||
<view class="zhuanchang_btn zhuanchang_btn--confirm" aria-role="button" bindtap="zhuanchangConfirm">确定</view>
|
||||
</view>
|
||||
<view class="zhuanchang_box">
|
||||
|
||||
<view class="zhuanchang_box_item {{ data.is_selected==1?'zhuanchang_box_item_checked':'' }}" wx:key="expertise_name" bindtap="select_zhuanchang"
|
||||
data-expertise_name="{{data.expertise_name}}"
|
||||
data-expertise_id="{{data.expertise_id}}"
|
||||
data-is_selected="{{data.is_selected}}"
|
||||
data-index="{{idx}}"
|
||||
wx:for="{{zhuanchang_columns}}"
|
||||
wx:for-index="idx"
|
||||
wx:for-item="data">
|
||||
{{data.expertise_name}}
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</t-popup>
|
||||
|
||||
<t-cell title="职称" hover required arrow note="{{zhicheng_note}}" bindtap="onZhiChengShow" />
|
||||
<!-- <t-input
|
||||
label="科室电话"
|
||||
placeholder="请输入科室电话"
|
||||
placeholder-style="font-size: 25rpx !important; letter-spacing: 2rpx;color:rgba(0, 0, 0, 0.4);"
|
||||
align="right"
|
||||
suffixIcon="{{ { name: 'chevron-right', ariaLabel: '右' } }}" /> -->
|
||||
|
||||
<!-- <t-cell title="专长" hover required arrow note="请选择专长"/> -->
|
||||
|
||||
<van-field
|
||||
model:value="{{ office_phone }}"
|
||||
label="科室电话"
|
||||
placeholder="请输入科室电话"
|
||||
placeholder-style="font-size:25rpx;letter-spacing: 2rpx;color:rgba(0, 0, 0, 0.4);"
|
||||
input-align="right"
|
||||
required
|
||||
clearable
|
||||
custom-style="font-size:30rpx;"
|
||||
/>
|
||||
|
||||
<view class="zhuanchang" bindtap="onZhuanChangShow">
|
||||
<view class="title">专长 <text class="required"> *</text></view>
|
||||
<view class="content">
|
||||
<view class="content_item" wx:key="expertise_name" wx:if="{{data.is_selected == 1}}" wx:for="{{ zhuanchang_columns }}" wx:for-item="data">
|
||||
{{data.expertise_name}}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="right">
|
||||
<view class="note">请选择专长</view>
|
||||
<view class="icon">
|
||||
<t-icon name="chevron-right" size="48rpx" data-name="chevron-right" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<m-textarea-cell
|
||||
textarea_cell_name="个人简介"
|
||||
t_icon_name="view-module"
|
||||
bind:showNote="onshowJianJieNote"
|
||||
textarea_cell_content_placeholder="您的从业经历,职称,所获荣誉等信息(10~1000字)"
|
||||
textarea_val="{{textarea_jianjie}}"
|
||||
data-textarea_name="textarea_jianjie" bindTextAreaBlur="getTextAreaVal" />
|
||||
|
||||
<m-textarea-cell
|
||||
textarea_cell_name="擅长领域"
|
||||
t_icon_name="view-module"
|
||||
bind:showNote="onshowShanChangNote"
|
||||
textarea_val="{{textarea_shanchang}}"
|
||||
textarea_cell_content_placeholder="您的专业领域、擅长疾病、研究方法等信息(10~1000字)"
|
||||
textarea_cell_note="查看示例" data-textarea_name="textarea_shanchang" bindTextAreaBlur="getTextAreaVal" />
|
||||
|
||||
<m-upload-cell
|
||||
upload_cell_name="医师执业证"
|
||||
t_icon_name="view-module"
|
||||
fileList="{{ zhiye_file_list }}"
|
||||
max_count="3"
|
||||
data-scene="2"
|
||||
data-field_name="zhiye_file_list"
|
||||
data-file_multiple="true"
|
||||
bind:showNote="onshowZhiYeNote"
|
||||
bindUploadFile="doUploadFile"
|
||||
bindDeleteFile="doDeleteFile"
|
||||
upload_cell_desc="请提供清晰的职业证书原件照片,需包含证书编码、加盖钢印的证书照片、姓名、执业范围、最新执业医院,最少上传2张。"
|
||||
upload_cell_note="查看示例"
|
||||
wx:if="{{indentity}}"
|
||||
/>
|
||||
|
||||
<m-upload-cell
|
||||
upload_cell_name="医师资格证"
|
||||
t_icon_name="view-module"
|
||||
fileList="{{ zige_file_list }}"
|
||||
max_count="3"
|
||||
data-scene="2"
|
||||
data-field_name="zige_file_list"
|
||||
data-file_multiple="true"
|
||||
bindUploadFile="doUploadFile"
|
||||
bindDeleteFile="doDeleteFile"
|
||||
bind:showNote="onshowZiGeNote"
|
||||
upload_cell_desc="请提供清晰的资格证书原件照片,需包含证书编码、加盖钢印的证书照片、姓名、职称等,最少上传1张。"
|
||||
upload_cell_note="查看示例"
|
||||
wx:if="{{indentity}}"
|
||||
/>
|
||||
|
||||
<m-upload-cell
|
||||
upload_cell_name="职称证"
|
||||
t_icon_name="view-module"
|
||||
fileList="{{ zhicheng_file_list }}"
|
||||
max_count="3"
|
||||
data-scene="2"
|
||||
data-field_name="zhicheng_file_list"
|
||||
data-file_multiple="true"
|
||||
bind:showNote="onshowZhiChengImgNote"
|
||||
bindUploadFile="doUploadFile"
|
||||
bindDeleteFile="doDeleteFile"
|
||||
upload_cell_desc="请提供清晰的职称证书原件照片,需包含证书编码、加盖钢印的证书照片、姓名等,最少上传1张。"
|
||||
upload_cell_note="查看示例"
|
||||
wx:if="{{indentity}}"
|
||||
/>
|
||||
|
||||
<view class="sub_button" wx:if="{{indentity}}">
|
||||
<!-- <van-button color="#D3D3D3" disabled custom-style="border-radius: 20rpx;" type="primary" block>资料未填写完</van-button> -->
|
||||
<van-button disabled="{{iden_auth_disabled}}" color="#3CC7C0" custom-style="border-radius: 20rpx;" type="primary" block bind:click="addDoctorAuthIden">{{iden_auth_status_txt}}</van-button>
|
||||
</view>
|
||||
@@ -0,0 +1,190 @@
|
||||
.required{
|
||||
color: #e34d59;
|
||||
}
|
||||
.photo{
|
||||
position: relative;
|
||||
padding: 32rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
font-size: 32rpx;
|
||||
font-weight: 400;
|
||||
align-items: center;
|
||||
}
|
||||
.photo::after {
|
||||
position: absolute;
|
||||
box-sizing: border-box;
|
||||
content: ' ';
|
||||
pointer-events: none;
|
||||
right: 0;
|
||||
left: 32rpx;
|
||||
bottom: 0;
|
||||
border-bottom: 1px solid var(--td-cell-border-color, var(--td-gray-color-3, #e7e7e7));
|
||||
transform: scaleY(0.5);
|
||||
left: 32rpx;
|
||||
}
|
||||
.title{
|
||||
font-size: 30rpx;
|
||||
color: #1C2023;
|
||||
}
|
||||
.right{
|
||||
display: flex;
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
font-size: 25rpx;
|
||||
letter-spacing: 2rpx;
|
||||
align-items: center;
|
||||
}
|
||||
.t-input__label{
|
||||
font-size: 30rpx !important;
|
||||
}
|
||||
.van-field__label{
|
||||
color: #000 !important;
|
||||
font-size: 30rpx !important;
|
||||
}
|
||||
.zhuanchang{
|
||||
position: relative;
|
||||
padding: 32rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
font-size: 32rpx;
|
||||
font-weight: 400;
|
||||
align-items: center;
|
||||
}
|
||||
.zhuanchang::after {
|
||||
position: absolute;
|
||||
box-sizing: border-box;
|
||||
content: ' ';
|
||||
pointer-events: none;
|
||||
right: 0;
|
||||
left: 32rpx;
|
||||
bottom: 0;
|
||||
border-bottom: 1px solid var(--td-cell-border-color, var(--td-gray-color-3, #e7e7e7));
|
||||
transform: scaleY(0.5);
|
||||
left: 32rpx;
|
||||
}
|
||||
.zhuanchang .content{
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
.content_item{
|
||||
height: 60rpx;
|
||||
line-height: 60rpx;
|
||||
padding: 0rpx 20rpx;
|
||||
background: #3CC7C0;
|
||||
border-radius: 29rpx;
|
||||
color: #fff;
|
||||
margin: 20rpx 10rpx 20rpx 0;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
.t-tabs__item--active{
|
||||
color: #49B9AD !important;
|
||||
}
|
||||
.t-tabs__track{
|
||||
background-color: var(--td-tab-track-color, var(--td-primary-color, #49B9AD)) !important;
|
||||
}
|
||||
.t-cell__note {
|
||||
font-size: 25rpx !important;
|
||||
letter-spacing: 2rpx;
|
||||
}
|
||||
.t-cell__title-text{
|
||||
font-size: 30rpx !important;
|
||||
}
|
||||
.t-input__wrap--suffix-icon{
|
||||
padding-left: var(--td-spacer-1, 8rpx) !important;
|
||||
}
|
||||
.t-tabs__content {
|
||||
overflow: unset !important;
|
||||
}
|
||||
.bottom_note{
|
||||
color: #999999;
|
||||
font-size: 28rpx;
|
||||
width: 95vw;
|
||||
margin: 30rpx auto;
|
||||
letter-spacing: 3rpx;
|
||||
}
|
||||
.bottom_next{
|
||||
width: 95vw;
|
||||
margin: 530rpx auto;
|
||||
}
|
||||
.sub_button{
|
||||
width: 95vw;
|
||||
margin: 0 auto 30rpx auto;
|
||||
}
|
||||
.zhiye_popup{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
height: 600rpx;
|
||||
}
|
||||
.zhiye_popup_title{
|
||||
margin-top: 16px;
|
||||
font-size: 32rpx;
|
||||
font-weight: 600;
|
||||
letter-spacing: 5rpx;
|
||||
}
|
||||
.zhiye_popup_img{
|
||||
margin-top: 30rpx;
|
||||
width: 300rpx;
|
||||
height: 300rpx;
|
||||
background-color: cadetblue;
|
||||
}
|
||||
/* 自定义 vant required 小红点位置 */
|
||||
.van-cell--required::before {
|
||||
left: 4.7rem !important;
|
||||
}
|
||||
.zhuanchang_box{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin: 0 20rpx;
|
||||
}
|
||||
.zhuanchang_box_item{
|
||||
background-color: #f2f2f2;
|
||||
padding: 10rpx 20rpx;
|
||||
border-radius: 20rpx;
|
||||
color: #000;
|
||||
font-size: 28rpx;
|
||||
margin: 20rpx 10rpx;
|
||||
}
|
||||
.zhuanchang_box_item_checked{
|
||||
background-color: #3cc7c0;
|
||||
color: #fff;
|
||||
}
|
||||
.zhuanchang_block {
|
||||
width: 100vw;
|
||||
height: 240px;
|
||||
background: #fff;
|
||||
border-top-left-radius: 16rpx;
|
||||
border-top-right-radius: 16rpx;
|
||||
}
|
||||
|
||||
.zhuanchang_wrapper {
|
||||
margin: 32rpx;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.zhuanchang_header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border-bottom: 1px solid #e7e7e7;
|
||||
}
|
||||
|
||||
.zhuanchang_title {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
font-weight: 600;
|
||||
font-size: 36rpx;
|
||||
}
|
||||
|
||||
.zhuanchang_btn {
|
||||
font-size: 32rpx;
|
||||
padding: 32rpx;
|
||||
}
|
||||
|
||||
.zhuanchang_btn--cancel {
|
||||
color: rgba(0, 0, 0, .6);
|
||||
}
|
||||
|
||||
.zhuanchang_btn--confirm {
|
||||
color: #3cc7c0;
|
||||
}
|
||||
Reference in New Issue
Block a user