提交 eba9d569 编写于 作者: wenxuan.liang's avatar wenxuan.liang

Merge branch 'dev-20210702' of...

Merge branch 'dev-20210702' of 192.168.110.53:com.pica.cloud.education.frontend/pica-admin-consultation into dev-20210702
...@@ -14,9 +14,9 @@ ...@@ -14,9 +14,9 @@
style="width: 100%;"> style="width: 100%;">
<el-form-item label="问诊方式" prop="audioCommissionType" class="required-label"> <el-form-item v-if="bizType == 12" label="问诊方式" prop="audioCommissionType">
<el-col :span="16"> <el-col :span="16">
<el-radio-group v-model="model.audioCommissionType" size="small" style="line-height: 45px;"> <el-radio-group v-model="model.diagnoseChannel" size="small" style="line-height: 45px;">
<el-radio :label="1" >APP问诊(系统发起问诊)</el-radio> <el-radio :label="1" >APP问诊(系统发起问诊)</el-radio>
<el-radio :label="2" >线下问诊(APP不会自动发起问诊)</el-radio> <el-radio :label="2" >线下问诊(APP不会自动发起问诊)</el-radio>
</el-radio-group> </el-radio-group>
...@@ -46,10 +46,23 @@ ...@@ -46,10 +46,23 @@
</template> </template>
<script> <script>
import {updateDiagnosis} from "../../utils/diagnosis";
let vm = null;
export default { export default {
props:[ props: {
'appointmentTimeVisible' appointmentTimeVisible: {
], type: Boolean,
default: false
},
diagnoseLogId: {
type: Number,
default: 0
},
bizType: {
type: Number,
default: 0
},
},
data() { data() {
return { return {
show: false, show: false,
...@@ -58,14 +71,12 @@ export default { ...@@ -58,14 +71,12 @@ export default {
cancleTxt: '', cancleTxt: '',
_promise: null, _promise: null,
model:{ model:{
userName:"", diagnoseChannel:'',
title:"" appointBeginTime:"",
appointEndTime:""
}, },
rangeTime:'', rangeTime:'',
addRules:{ addRules:{
userName: [
{required: true, message: "请输入稍后跟进原因", trigger: 'blur'}
]
}, },
pickerOptions1: { pickerOptions1: {
disabledDate: time => { disabledDate: time => {
...@@ -76,38 +87,44 @@ export default { ...@@ -76,38 +87,44 @@ export default {
}, },
} }
}, },
created() {}, created() {
methods: { vm = this;
reset() {
this.title = ''
this.confirmTxt = '确定'
this.cancleTxt = ''
this._promise = null
}, },
init(obj={}) { methods: {
Object.assign(this,obj) confirm() {
this.show = true this.$refs.setForm.validate((valid) => {
return new Promise((resolve,reject) => { if (valid) {
this._promise = { let req = null;
resolve, if(this.bizType == 11){
reject req = {
}; id:this.diagnoseLogId,
bizType:this.bizType,
appointBeginTime:this.rangeTime[0],
appointEndTime:this.rangeTime[1]
}
}
else if(this.bizType == 12){
req = {
id:this.diagnoseLogId,
bizType:this.bizType,
diagnoseChannel: this.model.diagnoseChannel,
appointBeginTime:this.rangeTime[0],
appointEndTime:this.rangeTime[1]
}
}
updateDiagnosis(req).then(function (res) {
if(res.code == "000000") {
vm.cancel();
vm.$emit('search');
} else {
vm.$message.error(res.message);
}
}).catch(function (error) {
vm.$message.error(res.message);
});
}
}) })
}, },
async cancle() {
this.show = false
await this._promise.reject && this._promise.reject()
this.reset()
},
async confirm() {
this.show = false
await this._promise.resolve && this._promise.resolve()
this.reset()
},
hide() {
this.show = false
this.reset()
},
cancel(){ cancel(){
this.$emit('update:appointmentTimeVisible', false); this.$emit('update:appointmentTimeVisible', false);
} }
......
...@@ -30,10 +30,23 @@ ...@@ -30,10 +30,23 @@
</template> </template>
<script> <script>
import {updateDiagnosis} from "../../utils/diagnosis";
let vm = null;
export default { export default {
props:[ props: {
'coordinatingVisible' coordinatingVisible: {
], type: Boolean,
default: false
},
diagnoseLogId: {
type: Number,
default: 0
},
bizType: {
type: Number,
default: 0
},
},
data() { data() {
return { return {
show: false, show: false,
...@@ -44,7 +57,6 @@ export default { ...@@ -44,7 +57,6 @@ export default {
model:{ model:{
coordinatedRemark:"" coordinatedRemark:""
}, },
commissionTypeList:[],
addRules:{ addRules:{
// coordinatedRemark: [ // coordinatedRemark: [
// {required: true, message: "(选填)请输入备注信息", trigger: 'blur'} // {required: true, message: "(选填)请输入备注信息", trigger: 'blur'}
...@@ -52,37 +64,39 @@ export default { ...@@ -52,37 +64,39 @@ export default {
} }
} }
}, },
created() {}, created() {
methods: { vm = this;
reset() {
this.title = ''
this.confirmTxt = '确定'
this.cancleTxt = ''
this._promise = null
},
init(obj={}) {
Object.assign(this,obj)
this.show = true
return new Promise((resolve,reject) => {
this._promise = {
resolve,
reject
};
})
},
async cancle() {
this.show = false
await this._promise.reject && this._promise.reject()
this.reset()
}, },
async confirm() { mounted() {
this.show = false if(this.bizType == 8){
await this._promise.resolve && this._promise.resolve() this.title = "设置待协调医生";
this.reset() }
else if(this.bizType == 10){
this.title = "重新匹配医生";
}
}, },
hide() { methods: {
this.show = false confirm() {
this.reset() this.$refs.setForm.validate((valid) => {
if (valid) {
let req = {
id:this.diagnoseLogId,
bizType:this.bizType,
coordinatedRemark:this.model.coordinatedRemark
}
updateDiagnosis(req).then(function (res) {
if(res.code == "000000") {
vm.cancel();
vm.$emit('search');
} else {
vm.$message.error(res.message);
}
}).catch(function (error) {
vm.$message.error(res.message);
});
}
})
}, },
cancel(){ cancel(){
this.$emit('update:coordinatingVisible', false); this.$emit('update:coordinatingVisible', false);
......
...@@ -6,91 +6,45 @@ ...@@ -6,91 +6,45 @@
<!-- <el-row :gutter="30" class="row search" type="flex" style="margin-bottom:0;">--> <!-- <el-row :gutter="30" class="row search" type="flex" style="margin-bottom:0;">-->
<el-form ref="setForm" <el-form ref="setForm"
:rules="addRules" :rules="addRules"
:model="model" :model="formData"
label-width="250px" label-width="250px"
label-suffix=":" label-suffix=":"
label-position="right" label-position="right"
size="mini" size="mini"
style="width: 100%;"> style="width: 100%;">
<el-form-item label="接诊医生"> <el-form-item label="接诊医生" prop="receptionName">
<el-select <!-- <el-input v-model="formData.doctorName" placeholder="请选择接诊医生" class="set-width" disabled></el-input>-->
v-model="model.commissionType" <el-select @change="doctorChanged($event)" filterable v-model="formData.receptionName" placeholder="请选择接诊医生" class="set-width">
id="statusSelector" <el-option v-for="item of doctorList" :key="item.doctorId" :label="item.doctorName" :value="item.doctorId"></el-option>
placeholder="请选择接诊医生"
clearable
style="width:56%;height: 32px;line-height: 32px;"
>
<el-option
v-for="item in commissionTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="接诊医生职称"> <el-form-item label="接诊医生职称" >
<el-select <el-input v-model="formData.doctorTitle" placeholder="请选择职称" class="set-width" disabled></el-input>
v-model="model.commissionType" <!-- <el-select v-model="formData.doctorTitle" placeholder="请选择职称" disabled class="set-width">
id="statusSelector" <el-option v-for="item of sexList" :key="item.value" :label="item.label" :value="item.value"></el-option>
placeholder="请选择医生职称" </el-select> -->
clearable
style="width:56%;height: 32px;line-height: 32px;"
>
<el-option
v-for="item in commissionTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="接诊医生所在机构"> <el-form-item label="接诊医生所在机构" >
<el-select <el-input v-model="formData.doctorHospital" placeholder="请选择机构" class="set-width" disabled></el-input>
v-model="model.commissionType" <!-- <el-select v-model="formData.doctorHospital" placeholder="请选择机构" disabled class="set-width">
id="statusSelector" <el-option v-for="item of sexList" :key="item.value" :label="item.label" :value="item.value"></el-option>
placeholder="请选择医生所在机构" </el-select> -->
clearable
style="width:56%;height: 32px;line-height: 32px;"
>
<el-option
v-for="item in commissionTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="接诊医生所在科室"> <el-form-item label="接诊医生所在科室" >
<el-select <el-input v-model="formData.doctorDepartment" placeholder="请选择机构" class="set-width" disabled></el-input>
v-model="model.commissionType" <!-- <el-select v-model="formData.doctorDepartment" placeholder="请选择科室" disabled class="set-width">
id="statusSelector" <el-option v-for="item of sexList" :key="item.value" :label="item.label" :value="item.value"></el-option>
placeholder="请选择医生所在科室" </el-select> -->
clearable
style="width:56%;height: 32px;line-height: 32px;"
>
<el-option
v-for="item in commissionTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="接诊医生电话">
<el-input v-model="formData.doctorMobile" placeholder="请输入接诊医生手机号" disabled class="set-width"></el-input>
<el-form-item label="接诊电话" class="required-label" prop="userName">
<el-col :span="15">
<el-input type="text" v-model="model.userName" style="width: 90%;" size="small" minlength="2" maxlength="500" placeholder="请输入电话"></el-input>
</el-col>
</el-form-item>
<el-form-item label="外部医生姓名" class="required-label" prop="userName">
<el-col :span="15">
<el-input type="text" v-model="model.userName" style="width: 90%;" size="small" minlength="2" maxlength="500" placeholder="请输入电话"></el-input>
</el-col>
</el-form-item> </el-form-item>
<!-- <el-form-item label="接诊医生来源" >-->
<!-- <el-select v-model="formData.doctorSource" placeholder="请选择医生来源" class="set-width" disabled>-->
<!-- <el-option v-for="item of doctorSourceList" :key="item.value" :label="item.label" :value="item.value" ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="接诊意向时间"> <el-form-item label="接诊意向时间">
<el-date-picker <el-date-picker
v-model="rangeTime" v-model="rangeTime"
...@@ -114,10 +68,23 @@ ...@@ -114,10 +68,23 @@
</template> </template>
<script> <script>
import {updateDiagnosis} from "../../utils/diagnosis";
let vm = null;
export default { export default {
props:[ props: {
'diagnosisDoctorVisible' diagnosisDoctorVisible: {
], type: Boolean,
default: false
},
diagnoseLogId: {
type: Number,
default: 0
},
diagnoseType: {
type: Number,
default: 0
},
},
data() { data() {
return { return {
show: false, show: false,
...@@ -125,15 +92,22 @@ export default { ...@@ -125,15 +92,22 @@ export default {
confirmTxt: '确定', confirmTxt: '确定',
cancleTxt: '', cancleTxt: '',
_promise: null, _promise: null,
model:{ formData:{
userName:"", receptionId:"",
title:"" receptionName:"",
doctorTitle:"",
doctorHospital:"",
doctorDepartment:"",
doctorMobile:"",
outsideDoctor:"",
receptionBeginTime:"",
receptionEndTime:'',
}, },
commissionTypeList:[], doctorList:[],
rangeTime:'', rangeTime:'',
addRules:{ addRules:{
userName: [ receptionName: [
{required: true, message: "请输入稍后跟进原因", trigger: 'blur'} {required: true, message: "请选择接诊医生", trigger: 'blur'}
] ]
}, },
pickerOptions1: { pickerOptions1: {
...@@ -145,46 +119,73 @@ export default { ...@@ -145,46 +119,73 @@ export default {
}, },
} }
}, },
created() {}, created() {
methods: { vm = this;
reset() { this.getDoctorList()
this.title = ''
this.confirmTxt = '确定'
this.cancleTxt = ''
this._promise = null
}, },
init(obj={}) { methods: {
Object.assign(this,obj) confirm() {
this.show = true this.$refs.setForm.validate((valid) => {
return new Promise((resolve,reject) => { if (valid) {
this._promise = { let req = {
resolve, id:this.diagnoseLogId,
reject bizType:9,
}; receptionId:this.formData.receptionId,
receptionName:this.formData.receptionName,
receptionBeginTime:this.rangeTime[0],
receptionEndTime:this.rangeTime[1],
}
updateDiagnosis(req).then(function (res) {
if(res.code == "000000") {
vm.cancel();
vm.$emit('search');
} else {
vm.$message.error(res.message);
}
}).catch(function (error) {
vm.$message.error(res.message);
});
}
}) })
}, },
async cancle() {
this.show = false
await this._promise.reject && this._promise.reject()
this.reset()
},
async confirm() {
this.show = false
await this._promise.resolve && this._promise.resolve()
this.reset()
},
hide() {
this.show = false
this.reset()
},
cancel(){ cancel(){
this.$emit('update:diagnosisDoctorVisible', false); this.$emit('update:diagnosisDoctorVisible', false);
},
doctorChanged(value) {
let selected = this.doctorList.find(item => item.doctorId === value);
if (selected) {
this.formData.receptionId = value
this.formData.receptionName = selected.doctorName
this.formData.doctorTitle = selected.doctorTitle
this.formData.doctorHospital = selected.doctorHospital
this.formData.doctorDepartment = selected.doctorDepartment
this.formData.doctorMobile = selected.doctorMobile
this.formData.serviceFee = this.priceFilter(selected.serviceFee)
} }
},
getDoctorList() {
this.loading = true
let url = `/diagnose/doctorService/doctorList?diagnoseType=${this.diagnoseType}`
this.GET(url).then(res => {
this.loading = false
if (res.code == '000000') {
this.doctorList = res.data
} else {
this.$message.info('请稍后重试')
}
}).catch(() => {
this.loading = false
this.$message.info('请稍后重试')
});
},
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.set-width {
width: 300px;
}
</style> </style>
...@@ -53,7 +53,11 @@ export default { ...@@ -53,7 +53,11 @@ export default {
diagnoseLogId: { diagnoseLogId: {
type: Number, type: Number,
default: 0 default: 0
} },
bizType: {
type: Number,
default: 0
},
}, },
data() { data() {
return { return {
...@@ -84,33 +88,12 @@ export default { ...@@ -84,33 +88,12 @@ export default {
vm = this; vm = this;
}, },
methods: { methods: {
reset() {
this.title = ''
this.confirmTxt = '确定'
this.cancleTxt = ''
this._promise = null
},
init(obj = {}) {
Object.assign(this, obj)
this.show = true
return new Promise((resolve, reject) => {
this._promise = {
resolve,
reject
};
})
},
async cancle() {
this.show = false
await this._promise.reject && this._promise.reject()
this.reset()
},
confirm() { confirm() {
this.$refs.setForm.validate((valid) => { this.$refs.setForm.validate((valid) => {
if (valid) { if (valid) {
let req = { let req = {
id:this.diagnoseLogId, id:this.diagnoseLogId,
bizType:5, bizType:this.bizType,
assistantBeginTime:this.rangeTime[0], assistantBeginTime:this.rangeTime[0],
assistantEndTime:this.rangeTime[1], assistantEndTime:this.rangeTime[1],
assistantRemark:this.model.assistantRemark assistantRemark:this.model.assistantRemark
...@@ -128,10 +111,6 @@ export default { ...@@ -128,10 +111,6 @@ export default {
} }
}) })
}, },
hide() {
this.show = false
this.reset()
},
cancel() { cancel() {
this.$emit('update:diagnosisTimeVisible', false); this.$emit('update:diagnosisTimeVisible', false);
} }
......
...@@ -64,27 +64,7 @@ export default { ...@@ -64,27 +64,7 @@ export default {
vm = this; vm = this;
}, },
methods: { methods: {
reset() {
this.title = ''
this.confirmTxt = '确定'
this.cancleTxt = ''
this._promise = null
},
init(obj={}) {
Object.assign(this,obj)
this.show = true
return new Promise((resolve,reject) => {
this._promise = {
resolve,
reject
};
})
},
async cancle() {
this.show = false
await this._promise.reject && this._promise.reject()
this.reset()
},
confirm() { confirm() {
this.$refs.setForm.validate((valid) => { this.$refs.setForm.validate((valid) => {
if (valid) { if (valid) {
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
clearable clearable
filterable filterable
style="width:56%;height: 32px;line-height: 32px;" style="width:56%;height: 32px;line-height: 32px;"
@change="change"
> >
<el-option <el-option
v-for="item in depList" v-for="item in depList"
...@@ -32,7 +33,7 @@ ...@@ -32,7 +33,7 @@
<el-form-item label="备注" class="required-label"> <el-form-item label="备注" class="required-label">
<el-col :span="15"> <el-col :span="15">
<el-input type="textarea" v-model="model.assistantRemark" style="width: 90%;" size="small" minlength="2" <el-input type="textarea" v-model="model.triageRemark" style="width: 90%;" size="small" minlength="2"
maxlength="500" placeholder="请输入备注"></el-input> maxlength="500" placeholder="请输入备注"></el-input>
</el-col> </el-col>
</el-form-item> </el-form-item>
...@@ -70,7 +71,7 @@ export default { ...@@ -70,7 +71,7 @@ export default {
_promise: null, _promise: null,
depList: [], depList: [],
model: { model: {
assistantRemark: "", triageRemark: "",
triageDepartmentId: "", triageDepartmentId: "",
triageDepartment:"" triageDepartment:""
}, },
...@@ -120,8 +121,10 @@ export default { ...@@ -120,8 +121,10 @@ export default {
if (valid) { if (valid) {
let req = { let req = {
id: this.diagnoseLogId, id: this.diagnoseLogId,
bizType: 5, bizType: 7,
assistantRemark: this.model.assistantRemark triageDepartmentId:this.model.triageDepartmentId,
triageDepartment:this.model.triageDepartment,
triageRemark: this.model.triageRemark
} }
updateDiagnosis(req).then(function (res) { updateDiagnosis(req).then(function (res) {
if (res.code == "000000") { if (res.code == "000000") {
...@@ -139,6 +142,14 @@ export default { ...@@ -139,6 +142,14 @@ export default {
cancel() { cancel() {
this.$emit('update:doctorVisible', false); this.$emit('update:doctorVisible', false);
},
change(data){
for (let i=0;i < this.depList.length; i++){
if(data == this.depList[i].id){
this.model.triageDepartment = this.depList[i].name;
break;
}
}
} }
} }
} }
......
...@@ -113,6 +113,7 @@ export default { ...@@ -113,6 +113,7 @@ export default {
methods: { methods: {
showBtn(row,...arr) { showBtn(row,...arr) {
return arr.includes(row.status) return arr.includes(row.status)
// return true;
}, },
// 选择 // 选择
handleSelectionChange(val) { handleSelectionChange(val) {
......
...@@ -14,6 +14,7 @@ const downList = r => require.ensure([], () => r(require('../views/IM/diagnosis- ...@@ -14,6 +14,7 @@ const downList = r => require.ensure([], () => r(require('../views/IM/diagnosis-
export default [{ export default [{
path: '/', path: '/',
component: App, component: App,
mode: 'history',
children: [ children: [
{ {
path: '', path: '',
...@@ -45,7 +46,6 @@ export default [{ ...@@ -45,7 +46,6 @@ export default [{
}, { }, {
path: '/diagnosis-list-new', path: '/diagnosis-list-new',
component: diagnosisListNew component: diagnosisListNew
}, { }, {
path: '/down-list', path: '/down-list',
component: downList component: downList
......
...@@ -323,7 +323,7 @@ export const RUN_TAB_LIST = [ ...@@ -323,7 +323,7 @@ export const RUN_TAB_LIST = [
export const TRIAGE_TAB_LIST = [ export const TRIAGE_TAB_LIST = [
{ {
label: '全部', label: '全部',
active: '1' active: '99'
}, },
{ {
label: '待诊断', label: '待诊断',
...@@ -335,7 +335,7 @@ export const TRIAGE_TAB_LIST = [ ...@@ -335,7 +335,7 @@ export const TRIAGE_TAB_LIST = [
export const RECEPTION_TAB_LIST = [ export const RECEPTION_TAB_LIST = [
{ {
label: '全部', label: '全部',
active: '1' active: '99'
}, },
{ {
label: '待匹配医生', label: '待匹配医生',
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册