Browse Source

修改日历显示、增加出诊设置

pull/15/head
zq 1 month ago
parent
commit
fec56a126c
  1. 6
      src/components/GroupFormBtns.vue
  2. 187
      src/views/DoctorInformation.vue
  3. 1039
      src/views/HosInformation.vue

6
src/components/GroupFormBtns.vue

@ -2,8 +2,8 @@
<template> <template>
<div class="btns-wrap flex"> <div class="btns-wrap flex">
<GuipButton type="ignore" @click="cancelClick">取消</GuipButton> <GuipButton type="ignore" @click="cancelClick">{{cancelText || '取消'}}</GuipButton>
<GuipButton type="primary" @click="confirmClick">保存</GuipButton> <GuipButton type="primary" @click="confirmClick">{{confirmText ||'保存'}}</GuipButton>
</div> </div>
</template> </template>
<script> <script>
@ -11,7 +11,7 @@ import GuipButton from '@/components/GuipButton.vue';
export default { export default {
name: '', name: '',
props: [''], props: ['cancelText','confirmText'],
components: { components: {
GuipButton GuipButton
}, },

187
src/views/DoctorInformation.vue

@ -18,23 +18,17 @@
<div class="qqCode-wrap right"> <div class="qqCode-wrap right">
<div class="avator-wrapper flex"> <div class="avator-wrapper flex">
<img v-if="doctorAvatorUrl" :src="doctorAvatorUrl" alt="" class="uploadImg"> <img v-if="doctorAvatorUrl" :src="doctorAvatorUrl" alt="" class="uploadImg">
<hover-button :button-text="doctorAvatorUrl?'重新上传':'开始上传'" :default-icon="require('../assets/upLoad_grey.svg')" <hover-button :button-text="doctorAvatorUrl ? '重新上传' : '开始上传'"
:hover-icon="require('../assets/upLoad_active.svg')" :default-icon="require('../assets/upLoad_grey.svg')"
default-text-color="#23242B" hover-text-color="#006AFF"> :hover-icon="require('../assets/upLoad_active.svg')"
default-text-color="#23242B" hover-text-color="#006AFF">
</hover-button> </hover-button>
<div class="info-upload-wrapper" @click="clearDocotorAvatorFiles"> <div class="info-upload-wrapper" @click="clearDocotorAvatorFiles">
<el-upload <el-upload :on-change="handleAvatarChange" action="#" list-type="picture-card"
:on-change="handleAvatarChange" :multiple="false" :http-request="setDoctorBaseInfoUpload" :limit="Number(1)"
action="#" ref="avatorUpload" :auto-upload="false">
list-type="picture-card" <i slot="default" class="el-icon-plus"></i>
:multiple="false"
:http-request="setDoctorBaseInfoUpload"
:limit="Number(1)"
ref="avatorUpload"
:auto-upload="false"
>
<i slot="default" class="el-icon-plus"></i>
</el-upload> </el-upload>
</div> </div>
</div> </div>
@ -46,8 +40,8 @@
</el-form-item> </el-form-item>
<GuipInput ref="GuipInput" column="column" :required="true" label="医生姓名" <GuipInput ref="GuipInput" column="column" :required="true" label="医生姓名" v-model="siteForm.name"
v-model="siteForm.name" prop="name" placeholder="请输入" /> prop="name" placeholder="请输入" />
</div> </div>
<div class="flex-line"></div> <div class="flex-line"></div>
<div class="flex-right"> <div class="flex-right">
@ -62,6 +56,27 @@
</div> </div>
<div class="siteMessage flex-common" id="siteMessage2"> <div class="siteMessage flex-common" id="siteMessage2">
<p class="littleTitle mb32">出诊设置</p>
<el-form :model="siteForm" :rules="siteFormrules3" ref="siteForm3">
<div class="flex-wrap">
<div class="flex-left">
<p class="coincideTip mb12">您有多个出诊医院时允许不同医院排班时段重合吗</p>
<div class="flex">
<div class="coincideWrap">
<el-radio v-model="siteForm.is_allow_coincide" :label="1">允许时段重合</el-radio>
<p>适用于可由助理代为坐诊</p>
</div>
<div class="coincideWrap">
<el-radio v-model="siteForm.is_allow_coincide" :label="0">禁止时段重合</el-radio>
<p>适用于可由助理代为坐诊</p>
</div>
</div>
</div>
</div>
</el-form>
<GroupFormBtns @cancel="cancelClick" @confirm="submitCoincideSet" />
</div>
<div class="siteMessage flex-common" id="siteMessage2">
<p class="littleTitle mb32">初诊审批</p> <p class="littleTitle mb32">初诊审批</p>
<el-form :model="siteForm" :rules="siteFormrules2" ref="siteForm2"> <el-form :model="siteForm" :rules="siteFormrules2" ref="siteForm2">
<div class="flex-wrap"> <div class="flex-wrap">
@ -69,7 +84,7 @@
<GuipRadio v-model="siteForm.first_visit_audit" class="mb12" column="column" <GuipRadio v-model="siteForm.first_visit_audit" class="mb12" column="column"
:options="groupOptions" label="初诊是否审批" required prop="first_visit_audit" :options="groupOptions" label="初诊是否审批" required prop="first_visit_audit"
@change="radioChange" /> @change="radioChange" />
<GuipInput ref="GuipInput" column="column" label="审批人电话" desc="审批人电话、微信,至少填写一项" <GuipInput ref="GuipInput" column="column" label="审批人电话" desc="审批人电话、微信,至少填写一项"
v-model="siteForm.approver_phone" prop="approver_phone" placeholder="请输入" /> v-model="siteForm.approver_phone" prop="approver_phone" placeholder="请输入" />
</div> </div>
<div class="flex-line"></div> <div class="flex-line"></div>
@ -80,27 +95,24 @@
<div class="avator-wrapper"> <div class="avator-wrapper">
<div class="flex" style="position: relative;"> <div class="flex" style="position: relative;">
<img v-if="approverWechatUrl" :src="approverWechatUrl" class="uploadImg"> <img v-if="approverWechatUrl" :src="approverWechatUrl" class="uploadImg">
<hover-button :button-text="(approverWechatUrl ? '重新上传':'微信二维码')" :default-icon="require('../assets/upLoad_grey.svg')" <hover-button :button-text="(approverWechatUrl ? '重新上传' : '微信二维码')"
:hover-icon="require('../assets/upLoad_active.svg')" :default-icon="require('../assets/upLoad_grey.svg')"
default-text-color="#23242B" hover-text-color="#006AFF" /> :hover-icon="require('../assets/upLoad_active.svg')"
default-text-color="#23242B" hover-text-color="#006AFF" />
<div class="info-upload-wrapper" @click="clearApproverWechatFiles" style="width: 177px;left: 0;display: flex;justify-content: flex-start;overflow: hidden;">
<el-upload <div class="info-upload-wrapper" @click="clearApproverWechatFiles"
:on-change="handleApproverWechatChange" style="width: 177px;left: 0;display: flex;justify-content: flex-start;overflow: hidden;">
action="#" <el-upload :on-change="handleApproverWechatChange" action="#"
list-type="picture-card" list-type="picture-card" :multiple="false"
:multiple="false" :http-request="setApproverWechatUpload" :limit="Number(1)"
:http-request="setApproverWechatUpload" ref="approverWechatUpload" :auto-upload="false">
:limit="Number(1)"
ref="approverWechatUpload"
:auto-upload="false"
>
<i slot="default" class="el-icon-plus"></i> <i slot="default" class="el-icon-plus"></i>
</el-upload> </el-upload>
</div> </div>
</div> </div>
<div slot="tip" class="el-upload__tip desc" style="margin-top:8px;">批人微信二维码大小2M以内</div> <div slot="tip" class="el-upload__tip desc" style="margin-top:8px;">批人微信二维码大小2M以内
</div>
</div> </div>
</div> </div>
</GuipFormItem> </GuipFormItem>
@ -121,8 +133,8 @@
</div> </div>
<div class="flex-line"></div> <div class="flex-line"></div>
<div class="flex-right"> <div class="flex-right">
<GuipInput ref="GuipInput" column="column" label="个人标签" <GuipInput ref="GuipInput" column="column" label="个人标签" v-model="siteForm.label" prop="name"
v-model="siteForm.label" prop="name" placeholder="请输入" /> placeholder="请输入" />
</div> </div>
</div> </div>
</el-form> </el-form>
@ -156,11 +168,11 @@ export default {
fileList: [ fileList: [
// { name: 'image.jpeg', url: 'http://jasonyizherenxin.checkcopy.com/user_avatar/1.png?v=93940df0b596961c42de23ef1f2d3257' } // { name: 'image.jpeg', url: 'http://jasonyizherenxin.checkcopy.com/user_avatar/1.png?v=93940df0b596961c42de23ef1f2d3257' }
], ],
fileList1:[], fileList1: [],
doctorAvatoFile:[], doctorAvatoFile: [],
doctorAvatorUrl: '', doctorAvatorUrl: '',
approverWechatUrl:'', approverWechatUrl: '',
approverWechatFile:[], approverWechatFile: [],
options_payword: [], options_payword: [],
groupOptions: [ groupOptions: [
{ label: '需审批', value: '1' }, { label: '需审批', value: '1' },
@ -168,7 +180,7 @@ export default {
], ],
formData: null, formData: null,
siteForm: { siteForm: {
did:0, did: 0,
name: '', name: '',
idcard: ' ', idcard: ' ',
phone: '', phone: '',
@ -176,9 +188,10 @@ export default {
doctor_desc: '', doctor_desc: '',
doctor_detail: '', doctor_detail: '',
label: '', label: '',
approver_phone:'', approver_phone: '',
approver_wechat:'', approver_wechat: '',
first_visit_audit: '', first_visit_audit: '',
is_allow_coincide:''//
}, },
oldForm: {}, oldForm: {},
siteFormrules2: { siteFormrules2: {
@ -186,6 +199,11 @@ export default {
{ required: true, message: '请选择初诊审批设置', trigger: 'change' } { required: true, message: '请选择初诊审批设置', trigger: 'change' }
] ]
}, },
siteFormrules3: {
coincide: [
{ required: true, message: '请选择出诊设置', trigger: 'change' }
]
},
siteFormrules: { siteFormrules: {
name: [ name: [
{ required: true, message: '请输入姓名', trigger: 'blur' } { required: true, message: '请输入姓名', trigger: 'blur' }
@ -231,7 +249,7 @@ export default {
}, },
methods: { methods: {
setDoctorDesc() { setDoctorDesc() {
if(!this.doctorId) { if (!this.doctorId) {
this.$message.error('请先设置医生基础信息') this.$message.error('请先设置医生基础信息')
return; return;
} }
@ -253,7 +271,7 @@ export default {
}) })
}, },
getDoctorData(doctor_id) { getDoctorData(doctor_id) {
this.$http('POST', '/api/admin/get_doctor_baseinfo', {did:doctor_id}).then(response => { this.$http('POST', '/api/admin/get_doctor_baseinfo', { did: doctor_id }).then(response => {
if (response.code != 0) { if (response.code != 0) {
this.$message.error(response.msg) this.$message.error(response.msg)
return; return;
@ -277,9 +295,9 @@ export default {
this.$message.success(response.msg) this.$message.success(response.msg)
var data = response.data var data = response.data
if(this.doctorId) return; if (this.doctorId) return;
setTimeout(() => { setTimeout(() => {
location.href = location.href+'?doctor_id='+data.doctor_id location.href = location.href + '?doctor_id=' + data.doctor_id
}, 800); }, 800);
}).catch(error => { }).catch(error => {
console.error(error, 'error') console.error(error, 'error')
@ -299,8 +317,8 @@ export default {
this.setDoctorInfo(fd) this.setDoctorInfo(fd)
}, },
submitDoctorBaseInfo() { submitDoctorBaseInfo() {
if(this.doctorAvatoFile.length == 0) { if (this.doctorAvatoFile.length == 0) {
if(this.doctorId) { if (this.doctorId) {
this.setDoctorInfo(this.siteForm) this.setDoctorInfo(this.siteForm)
return; return;
} }
@ -310,12 +328,12 @@ export default {
this.$refs.avatorUpload.submit(); this.$refs.avatorUpload.submit();
}, },
clearDocotorAvatorFiles(){ clearDocotorAvatorFiles() {
this.doctorAvatorUrl = ''; this.doctorAvatorUrl = '';
this.doctorAvatoFile = [] this.doctorAvatoFile = []
this.$refs.avatorUpload.clearFiles(); this.$refs.avatorUpload.clearFiles();
}, },
clearApproverWechatFiles(){ clearApproverWechatFiles() {
this.approverWechatUrl = ''; this.approverWechatUrl = '';
this.approverWechatFile = [] this.approverWechatFile = []
this.$refs.approverWechatUpload.clearFiles(); this.$refs.approverWechatUpload.clearFiles();
@ -340,9 +358,9 @@ export default {
this.$message.success(response.msg) this.$message.success(response.msg)
var data = response.data var data = response.data
if(this.doctorId) return; if (this.doctorId) return;
setTimeout(() => { setTimeout(() => {
location.href = location.href+'?doctor_id='+data.doctor_id location.href = location.href + '?doctor_id=' + data.doctor_id
}, 800); }, 800);
}).catch(error => { }).catch(error => {
console.error(error, 'error') console.error(error, 'error')
@ -350,18 +368,42 @@ export default {
}) })
}, },
submitApproverWechat() { submitApproverWechat() {
if(!this.doctorId) { if (!this.doctorId) {
this.$message.error('请先设置医生基础信息') this.$message.error('请先设置医生基础信息')
return; return;
} }
if(this.approverWechatFile.length == 0) { if (this.approverWechatFile.length == 0) {
this.setApproverWechat(this.siteForm) this.setApproverWechat(this.siteForm)
return; return;
} }
this.$refs.approverWechatUpload.submit(); this.$refs.approverWechatUpload.submit();
}, },
//
submitCoincideSet() {
if (!this.doctorId) {
this.$message.error('请先设置医生基础信息')
return;
}
//
// this.$http('POST', '/api/admin/set_doctor_approver', {
// is_allow_coincide:this.siteForm.is_allow_coincide
// }).then(response => {
// if (response.code != 0) {
// this.$message.error(response.msg)
// return;
// }
// this.$message.success(response.msg)
// if (this.doctorId) return;
// }).catch(error => {
// console.error(error, 'error')
// this.$message.error('')
// })
},
handleApproverWechatChange(file, fileList) { handleApproverWechatChange(file, fileList) {
console.log(file, fileList) console.log(file, fileList)
this.approverWechatFile = file this.approverWechatFile = file
@ -382,8 +424,30 @@ export default {
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.coincideWrap{
.info-upload-wrapper ::v-deep .el-upload-list.el-upload-list--picture-card{ margin-right: 24px;
text-align: left;
p{
font-family: Microsoft YaHei UI;
font-size: 12px;
font-weight: normal;
line-height: 24px;
letter-spacing: 0.08em;
color: #8A9099;
padding-left: 22px;
}
}
.coincideTip{
font-family: Microsoft YaHei UI;
font-size: 14px;
font-weight: normal;
line-height: normal;
letter-spacing: 0.08em;
color: #1E2226;
text-align: left;
}
.info-upload-wrapper ::v-deep .el-upload-list.el-upload-list--picture-card {
display: none; display: none;
} }
@ -393,11 +457,12 @@ export default {
border: 1px solid transparent; border: 1px solid transparent;
} }
.uploadImg{ .uploadImg {
width: 150px; width: 150px;
margin-right: 20px; margin-right: 20px;
} }
.special-form-item ::v-deep .el-form-item__label{
.special-form-item ::v-deep .el-form-item__label {
margin-bottom: 12px; margin-bottom: 12px;
} }
@ -421,9 +486,11 @@ export default {
display: flex; display: flex;
width: 100%; width: 100%;
justify-content: flex-start; justify-content: flex-start;
.avator-wrapper{
.avator-wrapper {
position: relative; position: relative;
.info-upload-wrapper{
.info-upload-wrapper {
position: absolute; position: absolute;
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;

1039
src/views/HosInformation.vue

File diff suppressed because it is too large
Loading…
Cancel
Save