分包医生

This commit is contained in:
zoujiandong
2024-01-16 14:59:06 +08:00
parent 562d4e9691
commit d5a9339ddd
1060 changed files with 3177 additions and 44707 deletions
+295
View File
@@ -0,0 +1,295 @@
import { API } from '../../../../utils/network/api'
import { FileUtil } from '../../../../utils/fileutil'
import { requestSubscribeMessage } from '../../../../utils/requestSubscribeUtil';
const api = new API()
const app = getApp()
Page({
data: {
navbarData: {
showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
title: '多点执业认证', //导航栏 中间的标题
},
height: app.globalData.height,
id_card_front: [],
id_card_back: [],
sign_image: [],
btn_txt: "提交",
multi_point_status: "",
btn_disabled: true,
sfz_show: false,
sub_visible: false,
static_host: api.getStaticHost()
},
onLoad(){
console.log("onlosd");
//获得多点执业信息
api.getDoctorAuthMulti().then(response => {
console.log("getDoctorAuthMulti: ",response);
let multi_point_status = Number(response.data.multi_point_status);
let btn_txt = this.data.btn_txt;
let btn_disabled = this.data.btn_disabled;
switch (multi_point_status) {
case 0:
btn_txt = "提交";
btn_disabled = false;
break;
case 1:
btn_txt = "审核通过";
btn_disabled = true;
break;
case 2:
btn_txt = "审核中";
btn_disabled = true;
break;
case 3:
btn_txt = "认证失败,再次提交";
btn_disabled = false;
break;
default:
btn_txt = "提交";
btn_disabled = false;
break;
}
if(response.data.id_card_front){
let id_card_front_img = {};
id_card_front_img.url = response.data.id_card_front;
id_card_front_img.isImg = true;
this.data.id_card_front.push(id_card_front_img);
}
if(response.data.id_card_back){
let id_card_back_img = {};
id_card_back_img.url = response.data.id_card_back;
id_card_back_img.isImg = true;
this.data.id_card_back.push(id_card_back_img);
}
let sign_image = response.data.sign_image;
if(sign_image){
let arr = [];
let item = {};
item.isImg = true;
item.url = sign_image;
arr.push(item);
this.setData({
sign_image: arr
})
}
this.setData({
id_card_front: this.data.id_card_front,
id_card_back: this.data.id_card_back,
btn_disabled: btn_disabled,
btn_txt: btn_txt
})
}).catch(errors => {console.error(errors);})
},
onShow(){
console.log("onshow")
let sign_image = wx.getStorageSync("sign_image");
console.log("sign_image: ",sign_image);
if(sign_image){
let arr = [];
let item = {};
item.isImg = true;
item.url = sign_image;
arr.push(item);
this.setData({
sign_image: arr
})
}
},
subcancelDialog(){
this.setData({
sub_visible: false
})
this.goadd()
},
subconfirmDialog(){
this.setData({
sub_visible: false
})
wx.openSetting({
success (res) {
console.log(res.authSetting)
}
})
},
add(){
let tmplIds = ['XWfEQYtb8_ubz8pCs3GoCG6TFxpDz9jn52895yvDm3s','bGGoKtDZC23GZtrrxuy6i5V7OhHgRgwXWx4yoDO1tlA']
let sub_promise = requestSubscribeMessage(tmplIds)
sub_promise.then(res => {
console.log("订阅成功")
this.goadd()
}).catch(err => {
console.log(err)
let errCode = err.errCode
if(errCode == 20004){
this.setData({
sub_visible: true,
})
}
})
},
goadd(){
let _this = this;
console.log(_this.data.id_card_front);
console.log(_this.data.id_card_back);
if(_this.data.id_card_front.length == 0){
wx.showToast({
title: '身份证正面为空',
icon: "error"
})
return;
}
if(_this.data.id_card_back.length == 0){
wx.showToast({
title: '身份证反面为空',
icon: "error"
})
return;
}
let id_card_front = _this.data.id_card_front[0].url;
let id_card_back = _this.data.id_card_back[0].url;
let sign_image = _this.data.sign_image[0].url;
console.log("id_card_front: ", id_card_front);
console.log("id_card_back: ", id_card_back);
console.log("sign_image: ", sign_image);
if(sign_image == ""){
wx.showToast({
title: '手写签名为空',
icon: "error"
})
return;
}
let params = {};
params.id_card_front = id_card_front;
params.id_card_back = id_card_back;
params.sign_image = sign_image;
api.postDoctorAuthMulti(params).then(response => {
console.log("postDoctorAuthMulti: ",response);
wx.showToast({
title: '提交成功',
icon: "success"
})
_this.setData({
btn_txt: "审核中",
btn_disabled: true
})
}).catch(errors => {
console.error(errors);
})
},
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;
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);
if (res.statusCode === 204) {
wx.showToast({title: '上传成功'})
if(file_multiple == "true"){//多张图
let img = {}
img.url = host+"/"+key;
img.isImg = true;
let img_list = [];
console.log("img_list: ", img_list);
img_list.push(img);
console.log("img_list: ", img_list);
this.setData({
[field_name]: img_list
});
}else{
this.setData({[field_name]: host+"/"+key});
}
}
},
fail: err => {
console.log(err);
}
});
}).catch(errors => {
console.error(errors);
})
},
doDeleteFile(event){
if(this.data.btn_disabled){
wx.showToast({
title: '不能修改',
icon: "error"
})
return;
}
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
})
},
onshowIdCardFrontNote(){
console.log("onshowIdCardFrontNote");
this.setData({
sfz_show: true
})
},
onshowIdCardBackNote(){
console.log("onshowIdCardBackNote");
this.setData({
sfz_show: true
})
},
onsfzClose(){
console.log("onsfzClose");
this.setData({
sfz_show: false
})
},
go(e){
// if(this.data.btn_disabled){
// wx.showToast({
// title: '不能修改',
// icon: "error"
// })
// return;
// }
let url = e.currentTarget.dataset.url;
app.go(url)
}
})
@@ -0,0 +1,15 @@
{
"component": true,
"usingComponents": {
"te-nav-bar": "../../../../commpents/te_navbar/index",
"m-upload-cell": "../../../commpents/upload-cell/index",
"t-icon": "tdesign-miniprogram/icon/icon",
"van-cell": "@vant/weapp/cell/index",
"van-cell-group": "@vant/weapp/cell-group/index",
"van-divider": "@vant/weapp/divider/index",
"van-button": "@vant/weapp/button/index",
"van-popup": "@vant/weapp/popup/index",
"van-image": "@vant/weapp/image/index",
"t-dialog": "tdesign-miniprogram/dialog/dialog"
}
}
+116
View File
@@ -0,0 +1,116 @@
<te-nav-bar navbar-data='{{navbarData}}' ></te-nav-bar>
<view class="container" style="height: calc(100vh - 96rpx - {{height}}px);">
<m-upload-cell
upload_cell_name="上传身份证正面照片"
t_icon_name="view-module"
bind:showNote="onshowIdCardFrontNote"
upload_cell_desc=""
upload_cell_note="查看示例"
fileList="{{ id_card_front }}"
deletable="{{!btn_disabled}}"
max_count="1"
data-scene="2"
data-field_name="id_card_front"
data-file_multiple="true"
bindUploadFile="doUploadFile"
bindDeleteFile="doDeleteFile"
static_host="{{static_host}}"
/>
<m-upload-cell
upload_cell_name="上传身份证反面照片"
t_icon_name="view-module"
bind:showNote="onshowIdCardBackNote"
upload_cell_desc=""
upload_cell_note="查看示例"
fileList="{{ id_card_back }}"
deletable="{{!btn_disabled}}"
max_count="1"
data-scene="2"
data-field_name="id_card_back"
data-file_multiple="true"
bindUploadFile="doUploadFile"
bindDeleteFile="doDeleteFile"
static_host="{{static_host}}"
/>
<van-cell-group border="{{ false }}">
<van-cell size="large"
url="/user/pages/yishi/manual/index"
title="多点执业认证流程"
border="{{ false }}"
value='查看操作手册'
is-link />
<view class="notice">注:请先了解多点执业认证流程,再提交审核</view>
<van-divider customStyle="color: #999; width:95vw; margin: 20rpx auto;" />
<view class="sign_box">
<view class="sign_title">医生手写签名 <text style="color: #e34d59;">*</text></view>
<view class="sign" wx:if="{{sign_image.length == 0}}" data-url="/user/pages/yishi/signcanvas/index" bindtap="go">
<van-button custom-style="height:130rpx;margin-top:20rpx;border-radius: 20rpx;border: 1px dashed #999;width:100%;font-size:30rpx;background-color: #fff;color: #3CC7C0;" icon="edit">点击签名</van-button>
</view>
<view style="margin-top:20rpx;border-radius: 20rpx;border: 1px dashed #999;" class="sign_img" wx:if="{{sign_image.length > 0}}">
<image bindtap="{{btn_disabled?'':'go'}}" data-url="/user/pages/yishi/signcanvas/index" mode="heightFix" style="transform: rotate(-0deg);width: 100%;" src="{{sign_image[0].url}}"></image>
</view>
</view>
<m-upload-cell
upload_cell_name="或选择上传"
t_icon_name="view-module"
bind:showNote="onShowSignImage"
upload_cell_desc=""
upload_cell_note=""
required="{{false}}"
disabled="{{btn_disabled}}"
upload_cell_note_show="{{false}}"
max_count="1"
data-scene="2"
data-field_name="sign_image"
data-file_multiple="true"
bindUploadFile="doUploadFile"
bindDeleteFile="doDeleteFile"
static_host="{{static_host}}"
/>
<view class="sign_box">
<view class="sign_note">提示:平台会在1~3个工作日内审核您提交的资料,审核结果会第一时间通知您。</view>
<van-button bind:click="add"
custom-style="font-size:30rpx; color:#fff; border-radius: 20rpx; background-color: #3CC7C0" disabled="{{btn_disabled}}" block>{{btn_txt}}</van-button>
</view>
<view style="height: 50rpx;"></view>
</van-cell-group>
<van-popup
show="{{ sfz_show }}"
closeable
round
lock-scroll
position="bottom"
bind:close="onsfzClose"
>
<view class="zhiye_popup">
<view class="zhiye_popup_title">身份证示例</view>
<view class="zhiye_popup_img">
<van-image lazy-load slot="loading" type="spinner" fit="widthFix" width="420rpx" src="{{static_host}}/applet/doctor/static/images/yishi/cert/sfz1.png" />
</view>
<view class="zhiye_popup_img">
<van-image lazy-load slot="loading" type="spinner" fit="widthFix" width="420rpx" src="{{static_host}}/applet/doctor/static/images/yishi/cert/sfz2.png" />
</view>
</view>
</van-popup>
<t-dialog
visible="{{ sub_visible }}"
title="温馨提示"
content="您已关闭订阅消息通知,请点击“确认”按钮在设置中打开订阅通知。"
>
<view slot="cancel-btn" class="dialog dialog_cancel_btn" bindtap="subcancelDialog">
取消
</view>
<view slot="confirm-btn" class="dialog dialog_confirm_btn" bindtap="subconfirmDialog">
确定
</view>
</t-dialog>
</view>
@@ -0,0 +1,72 @@
.notice{
position: relative;
width: 92vw;
background-color: #FAFAFA;
margin: 0 auto;
border-radius: 10rpx;
line-height: 80rpx;
height: 80rpx;
color: #ED7B2F;
font-size: 28rpx;
padding-left: 20rpx;
}
.notice::after{
border-radius: 5rpx;
position: absolute;
width: 0px;
height: 0px;
border-width: 16rpx;
border-style: solid;
border-color: transparent transparent #FAFAFA transparent;
content: ' ';
left: 50rpx;
top: -30rpx;
}
.sign_box{
width: 92vw;
margin: 0 auto;
}
.sign_title{
font-size: 16px;
color: #323233;
}
.sign_note{
margin: 20rpx 0;
font-size: 28rpx;
color: #666666;
}
.sign_img{
display: flex;
justify-content: center;
align-items: center;
}
.zhiye_popup{
display: flex;
flex-direction: column;
align-items: center;
padding-bottom: 20rpx;
min-height: 550rpx;
}
.zhiye_popup_title{
margin-top: 16px;
font-size: 32rpx;
font-weight: 600;
letter-spacing: 5rpx;
}
.zhiye_popup_img{
margin-top: 30rpx;
}
.dialog{
width: 50%;
text-align: center;
height: 100rpx;
line-height: 100rpx;
}
.dialog_cancel_btn{
border-top: 1px solid #E9E9E9;
border-right: 1px solid #E9E9E9;
}
.dialog_confirm_btn{
border-top: 1px solid #E9E9E9;
color: #3CC7C0;
}