提交 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() {
vm = this;
},
methods: { methods: {
reset() { confirm() {
this.title = '' this.$refs.setForm.validate((valid) => {
this.confirmTxt = '确定' if (valid) {
this.cancleTxt = '' let req = null;
this._promise = null if(this.bizType == 11){
}, req = {
init(obj={}) { id:this.diagnoseLogId,
Object.assign(this,obj) bizType:this.bizType,
this.show = true appointBeginTime:this.rangeTime[0],
return new Promise((resolve,reject) => { appointEndTime:this.rangeTime[1]
this._promise = { }
resolve, }
reject 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() {
vm = this;
},
mounted() {
if(this.bizType == 8){
this.title = "设置待协调医生";
}
else if(this.bizType == 10){
this.title = "重新匹配医生";
}
},
methods: { methods: {
reset() { confirm() {
this.title = '' this.$refs.setForm.validate((valid) => {
this.confirmTxt = '确定' if (valid) {
this.cancleTxt = '' let req = {
this._promise = null id:this.diagnoseLogId,
}, bizType:this.bizType,
init(obj={}) { coordinatedRemark:this.model.coordinatedRemark
Object.assign(this,obj) }
this.show = true updateDiagnosis(req).then(function (res) {
return new Promise((resolve,reject) => { if(res.code == "000000") {
this._promise = { vm.cancel();
resolve, vm.$emit('search');
reject } 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: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 label="接诊医生所在机构">
<el-select
v-model="model.commissionType"
id="statusSelector"
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-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-input v-model="formData.doctorDepartment" placeholder="请选择机构" class="set-width" disabled></el-input>
<el-form-item label="接诊电话" class="required-label" prop="userName"> <!-- <el-select v-model="formData.doctorDepartment" placeholder="请选择科室" disabled class="set-width">
<el-col :span="15"> <el-option v-for="item of sexList" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-input type="text" v-model="model.userName" style="width: 90%;" size="small" minlength="2" maxlength="500" placeholder="请输入电话"></el-input> </el-select> -->
</el-col>
</el-form-item> </el-form-item>
<el-form-item label="接诊医生电话">
<el-form-item label="外部医生姓名" class="required-label" prop="userName"> <el-input v-model="formData.doctorMobile" placeholder="请输入接诊医生手机号" disabled class="set-width"></el-input>
<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() {
vm = this;
this.getDoctorList()
},
methods: { methods: {
reset() { confirm() {
this.title = '' this.$refs.setForm.validate((valid) => {
this.confirmTxt = '确定' if (valid) {
this.cancleTxt = '' let req = {
this._promise = null id:this.diagnoseLogId,
}, bizType:9,
init(obj={}) { receptionId:this.formData.receptionId,
Object.assign(this,obj) receptionName:this.formData.receptionName,
this.show = true receptionBeginTime:this.rangeTime[0],
return new Promise((resolve,reject) => { receptionEndTime:this.rangeTime[1],
this._promise = { }
resolve, updateDiagnosis(req).then(function (res) {
reject 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() { cancel(){
this.show = false this.$emit('update:diagnosisDoctorVisible', false);
await this._promise.reject && this._promise.reject()
this.reset()
}, },
async confirm() { doctorChanged(value) {
this.show = false let selected = this.doctorList.find(item => item.doctorId === value);
await this._promise.resolve && this._promise.resolve() if (selected) {
this.reset() 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)
}
}, },
hide() { getDoctorList() {
this.show = false this.loading = true
this.reset() 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('请稍后重试')
});
}, },
cancel(){
this.$emit('update:diagnosisDoctorVisible', false);
}
} }
} }
</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: '待匹配医生',
......
...@@ -8,13 +8,13 @@ ...@@ -8,13 +8,13 @@
class="demo-form-inline from-box" class="demo-form-inline from-box"
:model="searchParam" :model="searchParam"
label-width="80px" label-width="80px"
ref="from" ref="searchParam"
> >
<el-row :gutter="10" type="flex" justify="center"> <el-row :gutter="10" type="flex" justify="center">
<el-col :span="8" class="t-c"> <el-col :span="8" class="t-c">
<el-form-item label="订单搜索" class="t-b"> <el-form-item label="订单搜索" class="t-b">
<el-input <el-input
v-model.trim="searchParam.searchVal" v-model.trim="searchParam.id"
clearable clearable
placeholder="请输入ID" placeholder="请输入ID"
style="width: 220px" style="width: 220px"
...@@ -165,7 +165,7 @@ ...@@ -165,7 +165,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" class="btn-wrap"> <el-col :span="8" class="btn-wrap">
<el-button type="primary" class="submit-btn" @click="search" <el-button type="primary" class="submit-btn" @click="getsearch"
>搜索</el-button >搜索</el-button
> >
<el-button type="warning" class="submit-btn" @click="reset" <el-button type="warning" class="submit-btn" @click="reset"
...@@ -225,15 +225,17 @@ ...@@ -225,15 +225,17 @@
<refund-component @search="search" :refundVisible.sync="refundVisible" :diagnoseLogId="diagnoseLogId"></refund-component> <refund-component @search="search" :refundVisible.sync="refundVisible" :diagnoseLogId="diagnoseLogId"></refund-component>
<followup-component @search="search" :followupVisible.sync="followupVisible" :diagnoseLogId="diagnoseLogId"></followup-component> <followup-component @search="search" :followupVisible.sync="followupVisible" :diagnoseLogId="diagnoseLogId"></followup-component>
<matching-doctor @search="search" :doctorVisible.sync="doctorVisible" :diagnoseLogId="diagnoseLogId"></matching-doctor> <matching-doctor @search="search" :doctorVisible.sync="doctorVisible" :diagnoseLogId="diagnoseLogId"></matching-doctor>
<diagnosis-component :diagnosisVisible.sync="diagnosisVisible"></diagnosis-component> <diagnosis-component :diagnosisVisible.sync="diagnosisVisible" :diagnoseLogId="diagnoseLogId"></diagnosis-component>
<coordinating-doctor :coordinatingVisible.sync="coordinatingVisible"></coordinating-doctor> <coordinating-doctor :coordinatingVisible.sync="coordinatingVisible" :diagnoseLogId="diagnoseLogId" :bizType="bizType" ></coordinating-doctor>
<diagnosis-doctor :diagnosisDoctorVisible.sync="diagnosisDoctorVisible"></diagnosis-doctor> <diagnosis-doctor :diagnosisDoctorVisible.sync="diagnosisDoctorVisible" :diagnoseLogId="diagnoseLogId" :diagnoseType="diagnoseType"></diagnosis-doctor>
<appointment-time :appointmentTimeVisible.sync="appointmentTimeVisible"></appointment-time> <appointment-time :appointmentTimeVisible.sync="appointmentTimeVisible" :diagnoseLogId="diagnoseLogId" :bizType="bizType"></appointment-time>
<diagnosis-time :diagnosisTimeVisible.sync="diagnosisTimeVisible" :diagnoseLogId="diagnoseLogId"></diagnosis-time> <diagnosis-time :diagnosisTimeVisible.sync="diagnosisTimeVisible" :diagnoseLogId="diagnoseLogId" :bizType="bizType"></diagnosis-time>
</div> </div>
<a class="target" href="" target="_blank" ref="target"></a>
</div> </div>
</template> </template>
<script> <script>
import {updateDiagnosis} from "../../../utils/diagnosis";
const DOWN_URL= '/diagnose/admin/diagnose/export'; const DOWN_URL= '/diagnose/admin/diagnose/export';
const LIST_URL= '/diagnose/admin/diagnose/list'; const LIST_URL= '/diagnose/admin/diagnose/list';
const DEP_URL= '/hospital/departments/0' const DEP_URL= '/hospital/departments/0'
...@@ -275,10 +277,10 @@ export default { ...@@ -275,10 +277,10 @@ export default {
beginFlag: false, beginFlag: false,
loading: false, loading: false,
activeName: "99", activeName: "99",
createRangeTime: "", createRangeTime: '',
cancelRangeTime: "", cancelRangeTime: '',
orderRangeTime: "", orderRangeTime: '',
completeRangeTime: "", completeRangeTime: '',
depList: [], depList: [],
searchParam: { searchParam: {
id: "", id: "",
...@@ -320,6 +322,8 @@ export default { ...@@ -320,6 +322,8 @@ export default {
diagnosisTimeVisible:false, diagnosisTimeVisible:false,
multipleSelection:[], multipleSelection:[],
batchFlag:false, batchFlag:false,
bizType:0,
diagnoseType:0,
pickerOptions1: { pickerOptions1: {
disabledDate: (time) => { disabledDate: (time) => {
return time.getTime() > new Date().getTime(); //减去一天的时间代表可以选择同一天; return time.getTime() > new Date().getTime(); //减去一天的时间代表可以选择同一天;
...@@ -328,19 +332,31 @@ export default { ...@@ -328,19 +332,31 @@ export default {
fromType: 0, //1或不传为为预约单列表 2为运营预约单列表 3为分诊台 4为接诊台 fromType: 0, //1或不传为为预约单列表 2为运营预约单列表 3为分诊台 4为接诊台
}; };
}, },
activated() { watch: {
this.search(); '$route': {
handler(newVal, oldVal) {
if (newVal) {
this.init()
this.reset()
}
},
deep: true,
immediate: true,
}
}, },
created() { created() {
this.fromType = +(this.$route.query.fromType || 1);
this.setTable();
this.getDep() this.getDep()
}, },
mounted() { mounted() {
this.setTableHeight(); this.setTableHeight();
this.search();
}, },
methods: { methods: {
init(){
this.fromType = +(this.$route.query.fromType || 1);
this.activeName = "99";
this.searchParam.status = '';
this.setTable();
},
// 不同也main切换不同的tab // 不同也main切换不同的tab
setTable() { setTable() {
let tabs = ALL_TAB_LIST; let tabs = ALL_TAB_LIST;
...@@ -368,6 +384,10 @@ export default { ...@@ -368,6 +384,10 @@ export default {
} }
this.tabpaneList = tabs; this.tabpaneList = tabs;
}, },
resetPage() {
this.searchParam.pageSize = 15;
this.searchParam.pageNo = 1;
},
// 设置table的高度 // 设置table的高度
setTableHeight() { setTableHeight() {
setTimeout(() => { setTimeout(() => {
...@@ -393,17 +413,30 @@ export default { ...@@ -393,17 +413,30 @@ export default {
// tab切换 // tab切换
handleClick(val) { handleClick(val) {
this.searchParam.status = val.paneName == 99 ? '' : val.paneName; this.searchParam.status = val.paneName == 99 ? '' : val.paneName;
this.search(); this.getsearch();
}, },
// 初始化时间
initTime() { initTime() {
this.searchParam.createdTimeBegin = this.createRangeTime[0] || ""; const {createRangeTime, cancelRangeTime, orderRangeTime, completeRangeTime} = this;
this.searchParam.createdTimeEnd = this.createRangeTime[1] || ""; this.setTime('createdTimeBegin','createdTimeEnd', createRangeTime);
this.searchParam.cancelTimeBegin = this.cancelRangeTime[0] || ""; this.setTime('cancelTimeBegin','cancelTimeEnd', cancelRangeTime);
this.searchParam.cancelTimeEnd = this.cancelRangeTime[1] || ""; this.setTime('appointBeginTime','appointEndTime', orderRangeTime);
this.searchParam.appointBeginTime = this.orderRangeTime[0] || ""; this.setTime('doneTimeBegin','doneTimeEnd', completeRangeTime);
this.searchParam.appointEndTime = this.orderRangeTime[1] || ""; },
this.searchParam.doneTimeBegin = this.completeRangeTime[0] || ""; /**
this.searchParam.doneTimeEnd = this.completeRangeTime[1] || ""; * btime开始时间
* etime结束时间
* arrtime 时间数组
*/
setTime(btime,etime, arrtime) {
arrtime = arrtime || ['',''];
this.searchParam[btime] = arrtime[0];
this.searchParam[etime] = arrtime[1];
},
// 重置页面后搜索
getsearch() {
this.resetPage();
this.search()
}, },
search() { search() {
this.loading = true; this.loading = true;
...@@ -417,11 +450,12 @@ export default { ...@@ -417,11 +450,12 @@ export default {
} }
}); });
}, },
// 获取科室
getDep() { getDep() {
let url = DEP_URL; let url = DEP_URL;
this.GET(url).then((res) => { this.GET(url).then((res) => {
if (res.code === '000000') { if (res.code === '000000') {
this.depList = res.data this.depList = res.data;
} }
}); });
}, },
...@@ -431,8 +465,23 @@ export default { ...@@ -431,8 +465,23 @@ export default {
this.cancelRangeTime = ""; this.cancelRangeTime = "";
this.orderRangeTime = ""; this.orderRangeTime = "";
this.completeRangeTime = ""; this.completeRangeTime = "";
this.$refs.from.resetFields(); this.searchParam = Object.assign(this.searchParam,{
this.search(); id: "",
operateName: "",
assistantVal: "",
receptionVal: "",
triageDepartmentId: "",
diagnoseType: "", //预约问诊类型:1、音频 2、视频 3、图文
createdTimeBegin: "",
createdTimeEnd: "",
operateTimeBegin: "",
operateTimeEnd: "",
appointBeginTime: "",
appointEndTime: "",
doneTimeBegin: "",
doneTimeEnd: ""
})
this.getsearch();
}, },
// 导出 // 导出
download() { download() {
...@@ -455,7 +504,11 @@ export default { ...@@ -455,7 +504,11 @@ export default {
}) })
}, },
//设为待问诊 //设为待问诊
witeDiagnose(row) {}, witeDiagnose(row) {
this.appointmentTimeVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.bizType = 11;
},
//更换运营 //更换运营
changeRun(row) { changeRun(row) {
this.matchVisible = true; this.matchVisible = true;
...@@ -464,10 +517,13 @@ export default { ...@@ -464,10 +517,13 @@ export default {
}, },
//查看详情/编辑详情 //查看详情/编辑详情
goDetail(row,flag) { goDetail(row,flag) {
this.$router.push({ // this.$router.push({
path: "/diagnosis-editor", // path: "/diagnosis-editor",
query: { id: row.diagnoseLogId, editorType: flag }, // query: { id: row.diagnoseLogId, editorType: flag },
}); // });
let target = this.$refs.target
target.setAttribute('href', window.location.origin + `/#/diagnosis-editor?id=${row.diagnoseLogId}&editorType=${flag}`)
target.click()
}, },
//取消/退款 //取消/退款
cancelRefund(row) { cancelRefund(row) {
...@@ -481,29 +537,121 @@ export default { ...@@ -481,29 +537,121 @@ export default {
}, },
//设为待匹配医生 //设为待匹配医生
waitMatchDot(row) { waitMatchDot(row) {
this.diagnosisTimeVisible = true;
this.diagnoseLogId = row.diagnoseLogId; this.diagnoseLogId = row.diagnoseLogId;
// 待分诊
if(row.status == 22){
this.doctorVisible = true;
this.bizType = 7;
}
else {
this.diagnosisTimeVisible = true;
this.bizType = 5;
}
}, },
//发送消息 //发送消息
sendMessage(row) {}, sendMessage(row) {
this.$router.push({path: '/diagnosis-im', query: {tid: row.imTeamId}})
},
//加入问诊 //加入问诊
joinDiagnose(row) {}, joinDiagnose(row) {
this.$confirm('确定加入问诊吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.clearSession()
this.$router.push({path: '/diagnosis-live', query: {tid: row.imTeamId, diagnoseLogId: row.diagnoseLogId}})
})
},
//匹配运营 //匹配运营
matchRun(row) {}, matchRun(row) {
this.$confirm('确定匹配并跟进该预约单?', '确定匹配?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let req = {
id: row.diagnoseLogId,
bizType: 3
}
updateDiagnosis(req).then(function (res) {
if (res.code == "000000") {
// this.cancel();
this.search();
} else {
this.$message.error(res.message);
}
}).catch(function (error) {
this.$message.error(error);
});
})
},
//设为待分诊 //设为待分诊
waitDiagnose(row) {}, waitDiagnose(row) {
this.diagnosisTimeVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.bizType = 6;
},
//设为待协调医生 //设为待协调医生
waitHzeDot(row) {}, waitHzeDot(row) {
this.coordinatingVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.bizType = 8;
},
//设为待确认时间 //设为待确认时间
waitMatchTime(row) {}, waitMatchTime(row) {
this.diagnosisDoctorVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.diagnoseType = row.diagnoseType;
},
//重新匹配医生 //重新匹配医生
reMatchDot(row) {}, reMatchDot(row) {
this.coordinatingVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.bizType = 10;
},
//修改时间 //修改时间
changeTime(row) {}, changeTime(row) {
this.appointmentTimeVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.bizType = 12;
},
//发起问诊 //发起问诊
call(row) {}, call(row) {
this.$confirm('确定发起问诊吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.clearSession()
this.$router.push({path: '/diagnosis-live', query: {tid: row.imTeamId, diagnoseLogId: row.diagnoseLogId}})
})
},
//设为已完成 //设为已完成
doneHandle(row) {}, doneHandle(row) {
this.$confirm('请先确定问诊已结束?再将问诊设为已完成,确定继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let req = {
id: row.diagnoseLogId,
bizType: 13
}
updateDiagnosis(req).then(function (res) {
if (res.code == "000000") {
// this.cancel();
this.search();
} else {
this.$message.error(res.message);
}
}).catch(function (error) {
this.$message.error(error);
});
})
},
handleSizeChange(value) { handleSizeChange(value) {
this.searchParam.pageSize = value; this.searchParam.pageSize = value;
this.search(); this.search();
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册