Browse Source

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

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

187
src/views/DoctorInformation.vue

@ -18,23 +18,17 @@
<div class="qqCode-wrap right">
<div class="avator-wrapper flex">
<img v-if="doctorAvatorUrl" :src="doctorAvatorUrl" alt="" class="uploadImg">
<hover-button :button-text="doctorAvatorUrl?'重新上传':'开始上传'" :default-icon="require('../assets/upLoad_grey.svg')"
:hover-icon="require('../assets/upLoad_active.svg')"
default-text-color="#23242B" hover-text-color="#006AFF">
<hover-button :button-text="doctorAvatorUrl ? '重新上传' : '开始上传'"
:default-icon="require('../assets/upLoad_grey.svg')"
:hover-icon="require('../assets/upLoad_active.svg')"
default-text-color="#23242B" hover-text-color="#006AFF">
</hover-button>
<div class="info-upload-wrapper" @click="clearDocotorAvatorFiles">
<el-upload
:on-change="handleAvatarChange"
action="#"
list-type="picture-card"
:multiple="false"
:http-request="setDoctorBaseInfoUpload"
:limit="Number(1)"
ref="avatorUpload"
:auto-upload="false"
>
<i slot="default" class="el-icon-plus"></i>
<el-upload :on-change="handleAvatarChange" action="#" list-type="picture-card"
:multiple="false" :http-request="setDoctorBaseInfoUpload" :limit="Number(1)"
ref="avatorUpload" :auto-upload="false">
<i slot="default" class="el-icon-plus"></i>
</el-upload>
</div>
</div>
@ -46,8 +40,8 @@
</el-form-item>
<GuipInput ref="GuipInput" column="column" :required="true" label="医生姓名"
v-model="siteForm.name" prop="name" placeholder="请输入" />
<GuipInput ref="GuipInput" column="column" :required="true" label="医生姓名" v-model="siteForm.name"
prop="name" placeholder="请输入" />
</div>
<div class="flex-line"></div>
<div class="flex-right">
@ -62,6 +56,27 @@
</div>
<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>
<el-form :model="siteForm" :rules="siteFormrules2" ref="siteForm2">
<div class="flex-wrap">
@ -69,7 +84,7 @@
<GuipRadio v-model="siteForm.first_visit_audit" class="mb12" column="column"
:options="groupOptions" label="初诊是否审批" required prop="first_visit_audit"
@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="请输入" />
</div>
<div class="flex-line"></div>
@ -80,27 +95,24 @@
<div class="avator-wrapper">
<div class="flex" style="position: relative;">
<img v-if="approverWechatUrl" :src="approverWechatUrl" class="uploadImg">
<hover-button :button-text="(approverWechatUrl ? '重新上传':'微信二维码')" :default-icon="require('../assets/upLoad_grey.svg')"
: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
:on-change="handleApproverWechatChange"
action="#"
list-type="picture-card"
:multiple="false"
:http-request="setApproverWechatUpload"
:limit="Number(1)"
ref="approverWechatUpload"
:auto-upload="false"
>
<hover-button :button-text="(approverWechatUrl ? '重新上传' : '微信二维码')"
:default-icon="require('../assets/upLoad_grey.svg')"
: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 :on-change="handleApproverWechatChange" action="#"
list-type="picture-card" :multiple="false"
:http-request="setApproverWechatUpload" :limit="Number(1)"
ref="approverWechatUpload" :auto-upload="false">
<i slot="default" class="el-icon-plus"></i>
</el-upload>
</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>
</GuipFormItem>
@ -121,8 +133,8 @@
</div>
<div class="flex-line"></div>
<div class="flex-right">
<GuipInput ref="GuipInput" column="column" label="个人标签"
v-model="siteForm.label" prop="name" placeholder="请输入" />
<GuipInput ref="GuipInput" column="column" label="个人标签" v-model="siteForm.label" prop="name"
placeholder="请输入" />
</div>
</div>
</el-form>
@ -156,11 +168,11 @@ export default {
fileList: [
// { name: 'image.jpeg', url: 'http://jasonyizherenxin.checkcopy.com/user_avatar/1.png?v=93940df0b596961c42de23ef1f2d3257' }
],
fileList1:[],
doctorAvatoFile:[],
fileList1: [],
doctorAvatoFile: [],
doctorAvatorUrl: '',
approverWechatUrl:'',
approverWechatFile:[],
approverWechatUrl: '',
approverWechatFile: [],
options_payword: [],
groupOptions: [
{ label: '需审批', value: '1' },
@ -168,7 +180,7 @@ export default {
],
formData: null,
siteForm: {
did:0,
did: 0,
name: '',
idcard: ' ',
phone: '',
@ -176,9 +188,10 @@ export default {
doctor_desc: '',
doctor_detail: '',
label: '',
approver_phone:'',
approver_wechat:'',
approver_phone: '',
approver_wechat: '',
first_visit_audit: '',
is_allow_coincide:''//
},
oldForm: {},
siteFormrules2: {
@ -186,6 +199,11 @@ export default {
{ required: true, message: '请选择初诊审批设置', trigger: 'change' }
]
},
siteFormrules3: {
coincide: [
{ required: true, message: '请选择出诊设置', trigger: 'change' }
]
},
siteFormrules: {
name: [
{ required: true, message: '请输入姓名', trigger: 'blur' }
@ -231,7 +249,7 @@ export default {
},
methods: {
setDoctorDesc() {
if(!this.doctorId) {
if (!this.doctorId) {
this.$message.error('请先设置医生基础信息')
return;
}
@ -253,7 +271,7 @@ export default {
})
},
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) {
this.$message.error(response.msg)
return;
@ -277,9 +295,9 @@ export default {
this.$message.success(response.msg)
var data = response.data
if(this.doctorId) return;
if (this.doctorId) return;
setTimeout(() => {
location.href = location.href+'?doctor_id='+data.doctor_id
location.href = location.href + '?doctor_id=' + data.doctor_id
}, 800);
}).catch(error => {
console.error(error, 'error')
@ -299,8 +317,8 @@ export default {
this.setDoctorInfo(fd)
},
submitDoctorBaseInfo() {
if(this.doctorAvatoFile.length == 0) {
if(this.doctorId) {
if (this.doctorAvatoFile.length == 0) {
if (this.doctorId) {
this.setDoctorInfo(this.siteForm)
return;
}
@ -310,12 +328,12 @@ export default {
this.$refs.avatorUpload.submit();
},
clearDocotorAvatorFiles(){
clearDocotorAvatorFiles() {
this.doctorAvatorUrl = '';
this.doctorAvatoFile = []
this.$refs.avatorUpload.clearFiles();
},
clearApproverWechatFiles(){
clearApproverWechatFiles() {
this.approverWechatUrl = '';
this.approverWechatFile = []
this.$refs.approverWechatUpload.clearFiles();
@ -340,9 +358,9 @@ export default {
this.$message.success(response.msg)
var data = response.data
if(this.doctorId) return;
if (this.doctorId) return;
setTimeout(() => {
location.href = location.href+'?doctor_id='+data.doctor_id
location.href = location.href + '?doctor_id=' + data.doctor_id
}, 800);
}).catch(error => {
console.error(error, 'error')
@ -350,18 +368,42 @@ export default {
})
},
submitApproverWechat() {
if(!this.doctorId) {
if (!this.doctorId) {
this.$message.error('请先设置医生基础信息')
return;
}
if(this.approverWechatFile.length == 0) {
if (this.approverWechatFile.length == 0) {
this.setApproverWechat(this.siteForm)
return;
}
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) {
console.log(file, fileList)
this.approverWechatFile = file
@ -382,8 +424,30 @@ export default {
}
</script>
<style lang="scss" scoped>
.info-upload-wrapper ::v-deep .el-upload-list.el-upload-list--picture-card{
.coincideWrap{
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;
}
@ -393,11 +457,12 @@ export default {
border: 1px solid transparent;
}
.uploadImg{
.uploadImg {
width: 150px;
margin-right: 20px;
}
.special-form-item ::v-deep .el-form-item__label{
.special-form-item ::v-deep .el-form-item__label {
margin-bottom: 12px;
}
@ -421,9 +486,11 @@ export default {
display: flex;
width: 100%;
justify-content: flex-start;
.avator-wrapper{
.avator-wrapper {
position: relative;
.info-upload-wrapper{
.info-upload-wrapper {
position: absolute;
display: flex;
justify-content: flex-end;

1039
src/views/HosInformation.vue

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