提交 57fc3217 编写于 作者: xiaoping.di's avatar xiaoping.di

Merge branch 'release-new' into 'release'

Release new

See merge request !225
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
"axios": "^0.19.2", "axios": "^0.19.2",
"clipboard": "^2.0.6", "clipboard": "^2.0.6",
"core-js": "^3.6.5", "core-js": "^3.6.5",
"dayjs": "^1.8.30", "dayjs": "^1.10.7",
"dsbridge": "^3.1.4", "dsbridge": "^3.1.4",
"element-ui": "^2.6.1", "element-ui": "^2.6.1",
"js-cookie": "^3.0.1", "js-cookie": "^3.0.1",
......
...@@ -265,3 +265,33 @@ export const opAck = async (data) => { ...@@ -265,3 +265,33 @@ export const opAck = async (data) => {
method: 'post', method: 'post',
}); });
}; };
export const acceptsCeiling = async (data) => {
return request({
url: '/diagnose/admin/diagnose/accepts/ceiling',
params: data,
method: 'get',
});
};
export const getLeisureTime = async (data) => {
return request({
url: '/diagnose/doctor/work/getLeisureTime',
data: data,
method: 'post',
});
};
export const outboundIntention = async (data) => {
return request({
url: '/diagnose/admin/diagnose/outbound/intention',
data: data,
method: 'post',
});
};
export const departmentAll = async () => {
return request({
url: '/diagnose/department/all',
method: 'get',
});
};
...@@ -65,3 +65,30 @@ export const previewWork = async (data) => { ...@@ -65,3 +65,30 @@ export const previewWork = async (data) => {
data: data, data: data,
}); });
}; };
export const setPlatformUpper = async (data) => {
return request({
url: `/diagnose/doctor/work/setPlatformUpper/${data.num}`,
data: data,
method: 'post',
});
};
export const getPlatformUpper = async () => {
return request({
url: '/diagnose/doctor/work/getPlatformUpper',
method: 'post',
});
};
export const saveLevelAndDayCount = async (data) => {
return request({
url: '/diagnose/doctor/work/saveLevelAndDayCount',
data: data,
method: 'post',
});
};
export const getLevelAndDayCount = async (data) => {
return request({
url: `/diagnose/doctor/work/getLevelAndDayCount/${data.workId}`,
data: data,
method: 'post',
});
};
...@@ -21,21 +21,30 @@ ...@@ -21,21 +21,30 @@
class="required-label" class="required-label"
prop="triageDepartmentId" prop="triageDepartmentId"
> >
<el-select <el-cascader
ref="cascader"
v-model="model.triageDepartmentId" v-model="model.triageDepartmentId"
placeholder="请选择分诊科室"
clearable
filterable filterable
style="width: 56%; height: 32px; line-height: 32px" clearable
:options="allTilst"
placeholder="选择科室"
:show-all-levels="false"
@change="change" @change="change"
> >
<el-option <template slot-scope="{ data }">
v-for="item in depList" <span :style="{ fontSize: '15px', color: '#606266' }">{{
:key="item.id" data.label
:label="item.name" }}</span>
:value="item.id" <span
/> :style="{
</el-select> fontSize: '10px',
color: '#606266',
marginLeft: '10px',
opacity: '0.7',
}"
>{{ data.text }}</span>
</template>
</el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="备注"> <el-form-item label="备注">
...@@ -70,6 +79,7 @@ ...@@ -70,6 +79,7 @@
<script> <script>
import { updateDiagnosis, getDepList } from '../../utils/diagnosis'; import { updateDiagnosis, getDepList } from '../../utils/diagnosis';
import { departmentAll } from '@/api/diagnosis';
let vm = null; let vm = null;
export default { export default {
props: { props: {
...@@ -92,6 +102,12 @@ ...@@ -92,6 +102,12 @@
}, },
data() { data() {
return { return {
// props: {
// // props定义的值根据接口返回的数据定的
// label: 'departmentId',
// value: 'departmentName',
// children: [],
// },
show: false, show: false,
title: '设置分诊科室', title: '设置分诊科室',
confirmTxt: '确定', confirmTxt: '确定',
...@@ -107,6 +123,8 @@ ...@@ -107,6 +123,8 @@
{ required: true, message: '请选择分诊科室', trigger: 'change' }, { required: true, message: '请选择分诊科室', trigger: 'change' },
], ],
}, },
allTilst: [],
allList: {},
}; };
}, },
watch: { watch: {
...@@ -125,8 +143,63 @@ ...@@ -125,8 +143,63 @@
created() { created() {
vm = this; vm = this;
this.getDepList(); this.getDepList();
this.departmentAll();
}, },
methods: { methods: {
departmentAll() {
departmentAll().then((res) => {
if (res.code == '000000') {
console.log(res, 'res111');
this.allList = res.data || {};
this.showListALL();
}
});
},
getCascaderObj(val, opt) {
return val.map(function (value) {
for (var itm of opt) {
if (itm.value == value) {
opt = itm.children;
return itm;
}
}
return null;
});
},
showListALL() {
const arr = [];
const { departmentMapList, parentDepartmentList } = this.allList;
parentDepartmentList.map((item) => {
const obj = {
label: item.departmentName,
value: item.departmentId,
children: [],
};
departmentMapList.map((info) => {
if (info.parentDepartmentId === obj.value) {
const children = [];
info.diagnoseDepartmentRespList.map((detail) => {
const secondObj = {
label: detail.departmentName,
value: detail.departmentId,
text: '',
};
let secondChildren = '';
(detail.departmentDeseaseRespList || []).map((res) => {
secondChildren += res.deseaseName + ' ';
});
secondObj.text = secondChildren ? `(${secondChildren})` : '';
children.push(secondObj);
});
obj.children = children;
}
});
arr.push(obj);
});
console.log(arr);
this.allTilst = arr;
},
getDepList() { getDepList() {
getDepList() getDepList()
.then(function (res) { .then(function (res) {
...@@ -171,15 +244,18 @@ ...@@ -171,15 +244,18 @@
this.model.triageDepartmentId = ''; this.model.triageDepartmentId = '';
this.model.triageRemark = ''; this.model.triageRemark = '';
this.$emit('update:doctorVisible', false); this.$emit('update:doctorVisible', false);
// this.doctorVisible = false;
}, },
change(data) { change() {
for (let i = 0; i < this.depList.length; i++) { const checkedNodes = this.$refs['cascader'].getCheckedNodes();
if (data == this.depList[i].id) { if (checkedNodes.length > 0) {
this.model.triageDepartment = this.depList[i].name; this.model.triageDepartmentId = checkedNodes[0].value;
break; this.model.triageDepartment = checkedNodes[0].label;
} } else {
this.model.triageDepartmentId = '';
this.model.triageDepartment = '';
} }
console.log(this.model.triageDepartmentId, 'model.triageDepartmentId');
console.log(this.model.triageDepartment, 'model.triageDepartment');
}, },
}, },
}; };
......
...@@ -9,7 +9,10 @@ ...@@ -9,7 +9,10 @@
> >
<template slot="empty"> <template slot="empty">
<div class="nothing-data"> <div class="nothing-data">
<img src="../../assets/image/nothingData.png" alt="" > <img
src="../../assets/image/nothingData.png"
alt=""
>
<span class="nothing-data-title">暂未找到符合条件的医生</span> <span class="nothing-data-title">暂未找到符合条件的医生</span>
</div> </div>
</template> </template>
...@@ -88,6 +91,13 @@ ...@@ -88,6 +91,13 @@
align="center" align="center"
sortable sortable
/> />
<el-table-column
prop="modifiedId"
label="修改人ID"
width="170"
align="center"
sortable
/>
<el-table-column <el-table-column
prop="mobilePhone" prop="mobilePhone"
label="联系电话" label="联系电话"
...@@ -261,20 +271,20 @@ ...@@ -261,20 +271,20 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.table-serviceSchedule { .table-serviceSchedule {
.el-table { .el-table {
.nothing-data{ .nothing-data {
display: inline-grid; display: inline-grid;
padding-top: 100px; padding-top: 100px;
img{ img {
width: 338px; width: 338px;
height: 159px; height: 159px;
} }
.nothing-data-title{ .nothing-data-title {
padding-top: 40px; padding-top: 40px;
padding-bottom: 150px; padding-bottom: 150px;
font-size: 16px; font-size: 16px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
color: #89888B; color: #89888b;
line-height: 22px; line-height: 22px;
} }
} }
......
...@@ -68,13 +68,13 @@ const serviceSchedule = (r) => ...@@ -68,13 +68,13 @@ const serviceSchedule = (r) =>
() => r(require('@/views/IM/diagnosis-admin/serviceSchedule.vue')), () => r(require('@/views/IM/diagnosis-admin/serviceSchedule.vue')),
'serviceSchedule' 'serviceSchedule'
); );
const addEditSchedule = (r) => const addEditSchedule = (r) =>
require.ensure( require.ensure(
[], [],
() => r(require('@/views/IM/diagnosis-admin/addEditSchedule.vue')), () => r(require('@/views/IM/diagnosis-admin/addEditSchedule.vue')),
'addEditSchedule' 'addEditSchedule'
); );
const overviewScheduling = (r) => const overviewScheduling = (r) =>
require.ensure( require.ensure(
[], [],
() => r(require('@/views/IM/diagnosis-admin/overviewScheduling.vue')), () => r(require('@/views/IM/diagnosis-admin/overviewScheduling.vue')),
...@@ -171,4 +171,4 @@ if (process.env.VUE_APP_ENV == 'uat') { ...@@ -171,4 +171,4 @@ if (process.env.VUE_APP_ENV == 'uat') {
routerConfig: routerConfig, routerConfig: routerConfig,
}; };
handleAllRouter(routerInfo); handleAllRouter(routerInfo);
} }
\ No newline at end of file
...@@ -2,7 +2,7 @@ import fetch from '../fetch'; ...@@ -2,7 +2,7 @@ import fetch from '../fetch';
import { getBaseUrl } from '@/utils/index'; import { getBaseUrl } from '@/utils/index';
const headers = { const headers = {
'Content-Type': 'application/json;charset=UTF-8', 'Content-Type': 'application/json;charset=UTF-8',
token: localStorage.getItem('token'), token: localStorage.getItem('token'),
}; };
/* 保存问诊相关信息*/ /* 保存问诊相关信息*/
...@@ -16,6 +16,15 @@ export const updateDiagnosis = (params) => { ...@@ -16,6 +16,15 @@ export const updateDiagnosis = (params) => {
}); });
}; };
export const manualQueue = (params) => {
return fetch({
headers,
url: getBaseUrl('/diagnose/diagnose/manual/queue'),
method: 'post',
data: params,
description: '保存问诊相关信息',
});
};
/* 批量设置运营*/ /* 批量设置运营*/
export const batchSetOperator = (params) => { export const batchSetOperator = (params) => {
return fetch({ return fetch({
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
label="分诊科室" label="分诊科室"
class="t-b" class="t-b"
> >
<el-select <!-- <el-select
v-model="searchParam.triageDepartmentId" v-model="searchParam.triageDepartmentId"
placeholder="请选择科室" placeholder="请选择科室"
style="width: 220px" style="width: 220px"
...@@ -48,7 +48,31 @@ ...@@ -48,7 +48,31 @@
:label="item.name" :label="item.name"
:value="item.id" :value="item.id"
/> />
</el-select> </el-select> -->
<el-cascader
ref="cascader"
v-model="searchParam.triageDepartmentId"
filterable
clearable
:options="allTilst"
placeholder="选择科室"
:show-all-levels="false"
@change="changeDepart"
>
<template slot-scope="{ data }">
<span :style="{ fontSize: '15px', color: '#606266' }">{{
data.label
}}</span>
<span
:style="{
fontSize: '10px',
color: '#606266',
marginLeft: '10px',
opacity: '0.7',
}"
>{{ data.text }}</span>
</template>
</el-cascader>
</el-form-item> </el-form-item>
</div> </div>
<div> <div>
...@@ -435,12 +459,13 @@ ...@@ -435,12 +459,13 @@
@search="search" @search="search"
/> />
<diagnosis-doctor <diagnosis-doctor
v-if="diagnoseFlag" v-if="diagnosisDoctorVisible"
:diagnosis-doctor-visible.sync="diagnosisDoctorVisible" :diagnosis-doctor-visible.sync="diagnosisDoctorVisible"
:diagnose-log-id="diagnoseLogId" :diagnose-log-id="diagnoseLogId"
:diagnose-type="diagnoseType" :diagnose-type="diagnoseType"
:doctor-id="doctorId" :doctor-id="doctorId"
:range-time-data="rangeTimeData" :range-time-data="rangeTimeData"
:doctor-info="doctorInfo"
@search="search" @search="search"
@changeStartTime="changeStartTime" @changeStartTime="changeStartTime"
/> />
...@@ -451,9 +476,14 @@ ...@@ -451,9 +476,14 @@
@search="search" @search="search"
/> />
<diagnosis-time <diagnosis-time
v-if="diagnosisTimeVisible"
:diagnosis-time-visible.sync="diagnosisTimeVisible" :diagnosis-time-visible.sync="diagnosisTimeVisible"
:diagnose-log-id="diagnoseLogId" :diagnose-log-id="diagnoseLogId"
:biz-type="bizType" :biz-type="bizType"
:user-name="userName"
:user-name-phone="userNamePhone"
:triage-department="triageDepartment"
:department-id="departmentId"
@search="search" @search="search"
/> />
<rematching-doctor <rematching-doctor
...@@ -502,6 +532,7 @@ ...@@ -502,6 +532,7 @@
getDepartments, getDepartments,
diagnoseExport, diagnoseExport,
diagnoseList, diagnoseList,
departmentAll,
} from '@/api/diagnosis'; } from '@/api/diagnosis';
import MatchComponent from '@/components/common/match'; import MatchComponent from '@/components/common/match';
...@@ -621,6 +652,13 @@ ...@@ -621,6 +652,13 @@
}, },
timer: null, timer: null,
fromType: 0, // 1或不传为为预约单列表 2为运营预约单列表 3为分诊台 4为接诊台 fromType: 0, // 1或不传为为预约单列表 2为运营预约单列表 3为分诊台 4为接诊台
doctorInfo: {},
userName: '',
userNamePhone: '',
triageDepartment: '',
departmentId: '',
allTilst: [],
allList: {},
}; };
}, },
watch: { watch: {
...@@ -638,16 +676,72 @@ ...@@ -638,16 +676,72 @@
}, },
created() { created() {
vm = this; vm = this;
this.getDep(); // this.getDep();
}, },
mounted() { mounted() {
this.setTableHeight(); this.setTableHeight();
this.getOutboundNote(); this.getOutboundNote();
this.departmentAll();
}, },
destroyed() { destroyed() {
clearInterval(this.timer); clearInterval(this.timer);
}, },
methods: { methods: {
departmentAll() {
departmentAll().then((res) => {
if (res.code == '000000') {
console.log(res, 'res111');
this.allList = res.data || {};
this.showListALL();
}
});
},
showListALL() {
const arr = [];
const { departmentMapList, parentDepartmentList } = this.allList;
parentDepartmentList.map((item) => {
const obj = {
label: item.departmentName,
value: item.departmentId,
children: [],
};
departmentMapList.map((info) => {
if (info.parentDepartmentId === obj.value) {
const children = [];
info.diagnoseDepartmentRespList.map((detail) => {
const secondObj = {
label: detail.departmentName,
value: detail.departmentId,
text: '',
};
let secondChildren = '';
(detail.departmentDeseaseRespList || []).map((res) => {
secondChildren += res.deseaseName + ' ';
});
secondObj.text = secondChildren ? `(${secondChildren})` : '';
children.push(secondObj);
});
obj.children = children;
}
});
arr.push(obj);
});
console.log(arr);
this.allTilst = arr;
},
changeDepart() {
const checkedNodes = this.$refs['cascader'].getCheckedNodes();
if (checkedNodes.length > 0) {
this.searchParam.triageDepartmentId = checkedNodes[0].value;
} else {
this.searchParam.triageDepartmentId = '';
}
console.log(
this.searchParam.triageDepartmentId,
'this.searchParam.triageDepartmentId'
);
},
changeStartTime(time) { changeStartTime(time) {
this.rangeTimeData = time this.rangeTimeData = time
? time.time ? time.time
...@@ -1028,14 +1122,13 @@ ...@@ -1028,14 +1122,13 @@
}, },
// 设为待匹配医生 // 设为待匹配医生
waitMatchDot(row) { waitMatchDot(row) {
console.log(row, 'doctorData111');
this.doctorData = row;
this.diagnoseLogId = row.diagnoseLogId; this.diagnoseLogId = row.diagnoseLogId;
// 待分诊 this.userName = row.userName;
// if(row.status == 22){ this.userNamePhone = row.userMobile;
// this.doctorVisible = true; this.triageDepartment = row.triageDepartment;
// this.bizType = 7; this.departmentId = row.departmentId;
// this.triageDepartmentId = row.triageDepartmentId;
// }
// else {
this.diagnosisTimeVisible = true; this.diagnosisTimeVisible = true;
this.bizType = 5; this.bizType = 5;
// } // }
...@@ -1107,10 +1200,10 @@ ...@@ -1107,10 +1200,10 @@
// 设为待确认时间 // 设为待确认时间
waitMatchTime(row) { waitMatchTime(row) {
console.log(row, 'row'); console.log(row, 'row');
this.doctorInfo = row;
this.rangeTimeData = row.assistantBeginTime; this.rangeTimeData = row.assistantBeginTime;
this.diagnoseFlag = true; this.diagnoseFlag = true;
this.diagnosisDoctorVisible = true; this.diagnosisDoctorVisible = true;
this.diagnoseLogId = row.diagnoseLogId; this.diagnoseLogId = row.diagnoseLogId;
this.diagnoseType = row.diagnoseType; this.diagnoseType = row.diagnoseType;
if (row.doctorId == 0) { if (row.doctorId == 0) {
......
...@@ -14,17 +14,30 @@ ...@@ -14,17 +14,30 @@
<div class="serviceSchedule-containerInfo"> <div class="serviceSchedule-containerInfo">
<div class="serviceSchedule-containerInfo-left"> <div class="serviceSchedule-containerInfo-left">
<el-cascader <el-cascader
v-model="innerform" ref="cascader"
class="serviceSchedule-cascader" v-model="searchParam.departmentId"
filterable filterable
clearable clearable
:options="interfaceOptions" class="serviceSchedule-cascader"
:props="props" :options="allTilst"
placeholder="选择科室" placeholder="选择科室"
:show-all-levels="false" :show-all-levels="false"
@expand-change="handleItemChange" @change="changeDepartment"
@change="selectApi($event, innerform)" >
/> <template slot-scope="{ data }">
<span :style="{ fontSize: '15px', color: '#606266' }">{{
data.label
}}</span>
<span
:style="{
fontSize: '10px',
color: '#606266',
marginLeft: '10px',
opacity: '0.7',
}"
>{{ data.text }}</span>
</template>
</el-cascader>
<el-select <el-select
v-model="searchParam.createType" v-model="searchParam.createType"
class="select-first" class="select-first"
...@@ -147,13 +160,12 @@ ...@@ -147,13 +160,12 @@
<script> <script>
import { import {
getFirstLevelLable,
childLabelList,
workQuery, workQuery,
switchOpen, switchOpen,
workInStep, workInStep,
getLevel, getLevel,
} from '@/api/serviceSchedule'; } from '@/api/serviceSchedule';
import { departmentAll } from '@/api/diagnosis';
import TableServiceSchedule from '@/components/list/table-serviceSchedule'; import TableServiceSchedule from '@/components/list/table-serviceSchedule';
export default { export default {
components: { components: {
...@@ -213,55 +225,68 @@ ...@@ -213,55 +225,68 @@
tableData: [], tableData: [],
loading: false, loading: false,
newCreateList: [], newCreateList: [],
allTilst: [],
allList: {},
}; };
}, },
watch: {}, watch: {},
created() { created() {
this.getFirstLevelLable();
this.getLevel(); this.getLevel();
this.departmentAll();
this.search(); this.search();
}, },
methods: { methods: {
// 通过监听expand-change事件(当展开节点发生变化时触发)获取第二层数据,组装interfaceOptions数据 departmentAll() {
handleItemChange(val) { departmentAll().then((res) => {
const value = val[0]; if (res.code == '000000') {
childLabelList(value).then((res) => { console.log(res, 'res111');
if (res.code === '000000') { this.allList = res.data || {};
const interfaceArr = (res.data || []).map((item) => { this.showListALL();
return {
value: item.name,
no: item.id,
};
});
this.interfaceOptions.filter((item) => {
if (item.no === value) {
this.$set(item, 'interface', interfaceArr);
}
return;
});
} }
}); });
}, },
getFirstLevelLable() { showListALL() {
getFirstLevelLable().then((res) => { const arr = [];
if (res.code === '000000') { const { departmentMapList, parentDepartmentList } = this.allList;
this.interfaceOptions = res.data || []; parentDepartmentList.map((item) => {
this.interfaceOptions.forEach((item, index) => { const obj = {
// 添加属性 label: item.departmentName,
this.$set(this.interfaceOptions[index], 'interface', []); value: item.departmentId,
}); children: [],
} else { };
this.$message({ departmentMapList.map((info) => {
message: res.msg, if (info.parentDepartmentId === obj.value) {
type: 'warning', const children = [];
}); info.diagnoseDepartmentRespList.map((detail) => {
} const secondObj = {
label: detail.departmentName,
value: detail.departmentId,
text: '',
};
let secondChildren = '';
(detail.departmentDeseaseRespList || []).map((res) => {
secondChildren += res.deseaseName + ' ';
});
secondObj.text = secondChildren ? `(${secondChildren})` : '';
children.push(secondObj);
});
obj.children = children;
}
});
arr.push(obj);
}); });
console.log(arr);
this.allTilst = arr;
}, },
// 获取选择的值 // 获取选择的值
selectApi(e, value) { changeDepartment() {
this.searchParam.departmentId = value[1]; const checkedNodes = this.$refs['cascader'].getCheckedNodes();
this.searchParam.pageNo = 1; if (checkedNodes.length > 0) {
this.searchParam.departmentId = checkedNodes[0].value;
} else {
this.searchParam.departmentId = '';
}
}, },
getCreateType(value) { getCreateType(value) {
this.searchParam.createType = value; this.searchParam.createType = value;
...@@ -386,12 +411,12 @@ ...@@ -386,12 +411,12 @@
target.setAttribute('href', u); target.setAttribute('href', u);
target.click(); target.click();
}, },
// goBack(flag) { // goBack(flag) {
// this.ScheduleListShow = true; // this.ScheduleListShow = true;
// if (flag) { // if (flag) {
// this.search(); // this.search();
// } // }
// }, // },
}, },
}; };
</script> </script>
......
...@@ -4663,7 +4663,7 @@ dateformat@^2.0.0: ...@@ -4663,7 +4663,7 @@ dateformat@^2.0.0:
resolved "http://192.168.110.93:4873/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062" resolved "http://192.168.110.93:4873/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062"
integrity sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI= integrity sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=
dayjs@^1.8.30, dayjs@^1.8.31: dayjs@^1.10.7, dayjs@^1.8.31:
version "1.10.7" version "1.10.7"
resolved "http://192.168.110.93:4873/dayjs/-/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468" resolved "http://192.168.110.93:4873/dayjs/-/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468"
integrity sha1-LPX5Gt0oEWdIRAhmoKHSbzps5Gg= integrity sha1-LPX5Gt0oEWdIRAhmoKHSbzps5Gg=
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册