haomingming 52742fdbd9 优化
2023-03-31 13:48:32 +08:00

961 lines
33 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// commpents/myprofile/index.js
import Toast from '@vant/weapp/toast/toast';
import { API } from './../../utils/network/api'
import { FileUtil } from './../../utils/fileutil'
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: "未认证",
avatar_reason: "",
department_custom_mobile_reason: "",
brief_introduction_reason: "",
be_good_at_reason: "",
license_cert_reason: "",
qualification_cert_reason: "",
work_cert_reason: "",
department_custom_name_reason: '',
zhuanchang_note: '请选择专长',
jianjie_show: false,
shanchang_show: false,
},
options: {
addGlobalClass: true,
styleIsolation: 'apply-shared'
},
lifetimes: {
attached(){
console.log("myprofile attached")
let _this = this;
//获得医师身份认证
api.getDoctorAuthIden({source: this.data.indentity?1:2}).then(response => {
console.log("getDoctorAuthIden: ",response);
this.setData({
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,
avatar_reason: response.data.avatar_reason,
department_custom_mobile_reason: response.data.department_custom_mobile_reason,
brief_introduction_reason: response.data.brief_introduction_reason,
be_good_at_reason: response.data.be_good_at_reason,
license_cert_reason: response.data.license_cert_reason,
qualification_cert_reason: response.data.qualification_cert_reason,
work_cert_reason: response.data.work_cert_reason,
department_custom_name_reason: response.data.department_custom_name_reason,
});
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?true: 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){
this.setData({
"avatar": avatar,
is_avatar: true,
})
}
}).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
})
}).then(()=>{
let index = this.data.zhuanchang_columns.findIndex(item => {
return item.is_selected == 1;
})
if(index != undefined) {
this.setData({
zhuanchang_note: ""
})
}
}).catch(errors => {console.error(errors); })
let keshi_huixian = false;
let zhicheng_huixian = false;
let area_huixian = false;
//执行回显
let huixian_try_count = 0;
let data_replay = setInterval(() => {
try {
console.log("执行回显。。。", huixian_try_count);
//回显科室
if(_this.data.doctorauthiden_data_ready && _this.data.basicdepartment_data_ready){
let index = _this.data.keshi_columns.findIndex(item => {
console.log("value: ",item.value);
console.log("select_keshi_id: ", _this.data.select_keshi_id);
return item.value == _this.data.select_keshi_id
})
console.log("科室:", index)
let keshi_note = _this.data.keshi_columns[index].text;
console.log("科室 keshi_note", keshi_note);
if(index != undefined){
_this.setData({
select_keshi_index: index,
keshi_note: keshi_note
})
}
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;
}
} catch (error) {
console.error(error)
}
huixian_try_count = huixian_try_count + 1;
//都回显成功后,清除计时器
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) || huixian_try_count > 50){
clearInterval(data_replay);
}
console.log("计时器");
}, 500);
},
},
methods: {
hospitalSearch(e){
console.log(e.detail)
},
hospitalSearchChange(e){
console.log(e.detail);
let params = {
hospital_name: e.detail.trim(),
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),
yiyuan_show: true
})
}).catch(errors => {console.error(errors); })
},
onCityShow(e) {
console.log("onCityShow");
this.setData({ city_show: true });
this.triggerEvent('showPageMeta');
},
onCloseCity(e){
console.log("onCloseCity");
this.triggerEvent('hidePageMeta');
},
onChangeCity(e) {
this.setData({
select_county_id: "",
select_yiyuan_id: "",
yiyuan_note: "请选择医院",
city_note: "请选择城市",
})
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");
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;
if(select_province_id && select_city_id && select_county_id){
this.setData({ yiyuan_show: true });
}else{
wx.showToast({
title: '请先选择城市',
icon: "error"
})
}
this.triggerEvent('showPageMeta');
},
onYiYuanClose(e) {
console.log("onYiYuanClose");
this.setData({ yiyuan_show: false });
this.triggerEvent('hidePageMeta');
},
onYiYuanCancel(event) {
console.log("onYiYuanCancel");
const { picker, value, index } = event.detail;
Toast(`当前值:${value}, 当前索引:${index}`);
this.setData({yiyuan_show: false});
this.triggerEvent('hidePageMeta');
},
onYiYuanConfirm(event) {
console.log("onYiYuanConfirm");
const { picker, value, index } = event.detail;
console.log(event.detail);
if(value.value){
this.setData({
yiyuan_show: false,
select_yiyuan_id: `${value.value}`,
yiyuan_note: `${value.text}`
});
}else{
wx.showToast({
title: '请先选择医院',
icon: "error"
})
}
this.triggerEvent('hidePageMeta');
},
onYiYuanChange(event) {
console.log("onYiYuanChange");
const { picker, value, index } = event.detail;
Toast(`当前值:${value}, 当前索引:${index}`);
},
onKeshiShow(e) {
console.log("onKeshiShow");
this.setData({ keshi_show: true });
this.triggerEvent('showPageMeta');
},
onKeshiCancel(event) {
console.log("onKeshiCancel");
const { picker, value, index } = event.detail;
Toast(`当前值:${value}, 当前索引:${index}`);
this.setData({ keshi_show: false });
this.triggerEvent('hidePageMeta');
},
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}`,
});
this.triggerEvent('hidePageMeta');
},
onKeshiChange(event) {
console.log("onKeshiChange");
},
onKeshiClose(e) {
console.log("onKeshiClose");
this.setData({ keshi_show: false });
this.triggerEvent('hidePageMeta');
},
onZhiChengShow(e) {
console.log("onKeshiShow");
this.setData({ zhicheng_show: true });
this.triggerEvent('showPageMeta');
},
onZhiChengCancel(event) {
console.log("onKeshiCancel");
const { picker, value, index } = event.detail;
Toast(`当前值:${value}, 当前索引:${index}`);
this.setData({ zhicheng_show: false });
this.triggerEvent('hidePageMeta');
},
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}`,
});
this.triggerEvent('hidePageMeta');
},
onZhiChengChange(event) {
console.log("onZhiChengChange");
},
onZhiChengClose(e) {
console.log("onZhiChengClose");
this.setData({ zhicheng_show: false });
this.triggerEvent('hidePageMeta');
},
onZhuanChangShow(){
this.setData({ zhuanchang_show: true });
this.triggerEvent('showPageMeta');
},
onZhuanChangVisibleChange(e) {
this.setData({
zhuanchang_show: e.detail.visible,
});
},
onshowJianJieNote(e){
e.detail // 自定义组件触发事件时提供的 detail 对象
console.log("onshowJianJieNote");
this.setData({jianjie_show: true});
this.triggerEvent('showPageMeta');
},
onJianjieClose(e){
e.detail // 自定义组件触发事件时提供的 detail 对象
console.log("onshowJianJieNote");
this.setData({jianjie_show: false});
this.triggerEvent('hidePageMeta');
},
onshowShanChangNote(e){
e.detail // 自定义组件触发事件时提供的 detail 对象
console.log("onshowShanChangNote");
this.setData({shanchang_show: true});
this.triggerEvent('showPageMeta');
},
onshowShanChangNoteClose(e){
e.detail // 自定义组件触发事件时提供的 detail 对象
console.log("onshowShanChangNote");
this.setData({shanchang_show: false});
this.triggerEvent('hidePageMeta');
},
onshowZhiYeNote(e){
e.detail // 自定义组件触发事件时提供的 detail 对象
console.log("onshowZhiYeNote");
this.setData({ zhiye_show: true });
this.triggerEvent('showPageMeta');
},
onZhiYeClose(){
console.log("onZhiYeClose");
this.setData({ zhiye_show: false });
this.triggerEvent('hidePageMeta');
},
onshowZiGeNote(e){
e.detail // 自定义组件触发事件时提供的 detail 对象
console.log("onshowZiGeNote");
this.setData({ zige_show: true });
this.triggerEvent('showPageMeta');
},
onZiGeClose(){
console.log("onZhiYeClose");
this.setData({ zige_show: false });
this.triggerEvent('hidePageMeta');
},
onshowZhiChengImgNote(e){
e.detail // 自定义组件触发事件时提供的 detail 对象
console.log("onshowZhiChengNote");
this.setData({ zhicheng_img_show: true });
this.triggerEvent('showPageMeta');
},
onZhiChengImgClose(){
console.log("onZhiChengClose");
this.setData({ zhicheng_img_show: false });
this.triggerEvent('hidePageMeta');
},
onCustomKeshiChange(){
this.setData({
department_custom_name_reason: ""
})
},
getTextAreaVal(e){
console.log("myindex: ", e);//textarea_jianjie
let textarea_name = e.currentTarget.dataset.textarea_name;
if(textarea_name == "textarea_jianjie"){
this.setData({
brief_introduction_reason: ""
})
}
if(textarea_name == "textarea_shanchang"){
this.setData({
be_good_at_reason: ""
})
}
let reason_name = textarea_name+"_reason";
this.setData({
[textarea_name]: e.detail.value,
})
},
select_zhuanchang(e){
console.log(e);
let count = 0
this.data.zhuanchang_columns.forEach(item => {
if(item.is_selected == 1){
count = count + 1;
}
})
console.log("countcountcountcount: ",count)
if(count >= 10 && e.currentTarget.dataset.is_selected==0){
wx.showToast({
title: '最多10个专长',
icon: "error"
})
}else{
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})
}
this.checkZhuanchangNote()
},
checkZhuanchangNote(){
let count = 0
this.data.zhuanchang_columns.forEach(item => {
if(item.is_selected == 1){
count = count + 1;
}
})
if(count > 0){
this.setData({
zhuanchang_note: ""
})
}
if(count == 0){
this.setData({
zhuanchang_note: "请选择专长"
})
}
},
zhuanchangConfirm(e){
this.setData({ zhuanchang_show: false });
this.triggerEvent('hidePageMeta');
},
zhuanchangConcle(e){
this.setData({ zhuanchang_show: false });
this.triggerEvent('hidePageMeta');
},
addDoctorAuthIden(e){
console.log("addDoctorAuthIden addDoctorAuthIden")
let from = e.currentTarget.dataset.from;
console.log("from: ", from);
let params = {};
params.source = from=="myinfo"?2:1;
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(from == "doctorauthiden"){//只有在医师身份认证模块才去修改证件
if(this.data.zhiye_file_list.length == 0){wx.showToast({title: '请上传医师执业证',icon: "error"});return}
if(this.data.zhiye_file_list.length < 2){wx.showToast({title: '医师执业证至少2张',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);
let _this = this;
api.postDoctorAuthIden(params).then(response => {
console.log(response);
wx.showToast({
title: '提交成功',
icon: "success"
})
_this.setData({
iden_auth_status_txt: "资料已提交,审核中",
iden_auth_disabled: true,
iden_auth_status: 2,
})
}).catch(errors => {console.error(errors);})
},
onOfficePhoneChange(){
this.setData({
department_custom_mobile_reason: ""
})
},
doUploadFile(event) {
console.log("index douploadFIle: ", event);
const scene = event.currentTarget.dataset.scene;
const field_name = event.currentTarget.dataset.field_name;
const file_multiple = event.currentTarget.dataset.file_multiple;//是否为多张图
console.log("scene: ", scene);
console.log("field_name: ", field_name);
console.log("file_multiple: ", file_multiple);
let _this = this;
api.getOssSign({user_type:2,scene:scene}).then(response => {
console.log(response);
const { file } = event.detail;
file.forEach(item => {
console.log("file: ", item);
const filename = FileUtil.getFileName(item);
const host = response.data.host;
const signature = response.data.signature;
const ossAccessKeyId = response.data.accessid;
const policy = response.data.policy;
const key = response.data.dir+filename;
const filePath = item.url; // 待上传文件的文件路径。
wx.uploadFile({
url: host, // 开发者服务器的URL。
filePath: filePath,
name: 'file', // 必须填file。
formData: {
key,
policy,
OSSAccessKeyId: ossAccessKeyId,
signature,
},
success: (res) => {
console.log("upload: ", res);
let reason_name = field_name + "_reason";//错误原因置空
if (res.statusCode === 204) {
if(scene == 1){
this.setData({
is_avatar: true
})
}
wx.showToast({title: '上传成功'})
if(file_multiple == "true"){//多张图
let img = {}
img.url = host+"/"+key;
img.isImg = true;
let img_list = _this.data[field_name];
console.log("img_list: ", img_list);
img_list.push(img);
console.log("img_list: ", img_list);
reason_name = field_name=='zhiye_file_list'?'license_cert_reason':field_name=='zige_file_list'?'qualification_cert_reason':'work_cert_reason';
this.setData({
[field_name]: img_list,
[reason_name]: ""
});
}else{
this.setData({
[field_name]: host+"/"+key,
[reason_name]: ""
});
}
}
},
fail: err => {
console.log(err);
}
});
})
}).catch(errors => {
console.error(errors);
})
},
doUploadPhoto(event) {
console.log("index douploadFIle: ", event);
const scene = event.currentTarget.dataset.scene;
const field_name = event.currentTarget.dataset.field_name;
const file_multiple = event.currentTarget.dataset.file_multiple;//是否为多张图
console.log("scene: ", scene);
console.log("field_name: ", field_name);
console.log("file_multiple: ", file_multiple);
let _this = this;
api.getOssSign({user_type:2,scene:scene}).then(response => {
console.log(response);
const { file } = event.detail;
console.log("file: ", file);
const filename = FileUtil.getFileName(file);
const host = response.data.host;
const signature = response.data.signature;
const ossAccessKeyId = response.data.accessid;
const policy = response.data.policy;
const key = response.data.dir+filename;
const filePath = file.url; // 待上传文件的文件路径。
wx.uploadFile({
url: host, // 开发者服务器的URL。
filePath: filePath,
name: 'file', // 必须填file。
formData: {
key,
policy,
OSSAccessKeyId: ossAccessKeyId,
signature,
},
success: (res) => {
console.log("upload: ", res);
let reason_name = field_name + "_reason";//错误原因置空
if (res.statusCode === 204) {
if(scene == 1){
this.setData({
is_avatar: true
})
}
wx.showToast({title: '上传成功'})
if(file_multiple == "true"){//多张图
let img = {}
img.url = host+"/"+key;
img.isImg = true;
let img_list = _this.data[field_name];
console.log("img_list: ", img_list);
img_list.push(img);
console.log("img_list: ", img_list);
reason_name = field_name=='zhiye_file_list'?'license_cert_reason':field_name=='zige_file_list'?'qualification_cert_reason':'work_cert_reason';
this.setData({
[field_name]: img_list,
[reason_name]: ""
});
}else{
this.setData({
[field_name]: host+"/"+key,
[reason_name]: ""
});
}
}
},
fail: err => {
console.log(err);
}
});
}).catch(errors => {
console.error(errors);
})
},
doDeleteFile(event){
console.log(event);
let url = event.detail.file.url;
let file_name = event.currentTarget.dataset.field_name;
let img_list = this.data[file_name].filter(item => item.url != url);
this.setData({
[file_name]: img_list
})
},
moveZhuanChang(){
}
}
})