提交 15c8edee 编写于 作者: zhongyao.qiao's avatar zhongyao.qiao

feat 订单管理加字段

上级 a84a66da
NODE_ENV=development
# baseUrl
BASE_URL=/pica-admin-consultation/
BASE_URL=/consultation/pica-admin-consultation/
# 路由 base
VUE_APP_BASE_ROUTE_URL=/consultation/pica-admin-consultation/
......
......@@ -17,4 +17,4 @@ VUE_APP_IS_LOCAL=true
VUE_APP_APPID=wxf4e66242d31c81c2
#本地token
VUE_APP_TOKEN=BD84987E12C94A659DA95DE2BF177A76
VUE_APP_TOKEN=C7D1BE8D74644C5C9073BCA21C56B6B4
......@@ -37,11 +37,7 @@ module.exports = {
'spaced-comment': [2, 'always'], // 强制在注释中 // 或 /* 使用一致的空格
'array-bracket-spacing': [2, 'never'],// 指定数组的元素之间要以空格隔开(, 后面), never参数:[ 之后和 ] 之前不能带空格,always参数:[ 之后和 ] 之前必须带空格
"space-before-blocks": 2, // if/function等的大括号之前需要有空格
"vue/script-indent": ["error", 2, { // script标签缩进设置
"baseIndent": 1,
"switchCase": 0,
"ignores": []
}],
"vue/script-indent": 'off',
'no-undef-init': 2,// 禁止将变量初始化为 undefined,保存时会将let a = undefined变成let a
'semi': [2, 'always'],//强制结尾必须有分号;
......
......@@ -92,10 +92,11 @@ export const messageSend = async (data) => {
// diagnosis-list-new
export const getCountQuery = async () => {
export const getCountQuery = async (params) => {
return request({
url: '/diagnose/admin/diagnose/countQuery',
method: 'get',
method: 'post',
data: params
});
};
......
......@@ -390,7 +390,7 @@
<el-button
type="primary"
class="submit-btn"
@click="getsearch"
@click="getsearch()"
>
搜索
</el-button>
......@@ -602,352 +602,353 @@
</div>
</template>
<script>
let vm = null;
import { updateDiagnosis, callAssistantDoctor } from '../../../utils/diagnosis';
import { outbounNote } from '../../../api/diagnosis';
import { base64decode } from '../../../utils/utils.js';
import { DIAGNOS_LIST_NEW } from '@/utils/GeneralData/diagnosis-list-new';
import {
TYPE_LIST,
IS_FLLOW,
SOURCE_LIST,
ALL_TAB_LIST,
TRIAGE_TAB_LIST,
RECEPTION_TAB_LIST,
RUN_TAB_LIST,
MATCH_TAB_LIST,
ORDER_PRICE,
MATCHING_LIST,
} from '@/utils/constants';
import {
getCountQuery,
getDepartments,
diagnoseExport,
diagnoseList,
departmentAll,
reMatchDoctor,
} from '@/api/diagnosis';
let vm = null;
import {
departmentAll,
diagnoseExport,
diagnoseList,
getCountQuery,
getDepartments,
reMatchDoctor,
} from '@/api/diagnosis';
import { DIAGNOS_LIST_NEW } from '@/utils/GeneralData/diagnosis-list-new';
import {
ALL_TAB_LIST,
IS_FLLOW,
MATCHING_LIST,
MATCH_TAB_LIST,
ORDER_PRICE,
RECEPTION_TAB_LIST,
RUN_TAB_LIST,
SOURCE_LIST,
TRIAGE_TAB_LIST,
TYPE_LIST,
} from '@/utils/constants';
import { outbounNote } from '../../../api/diagnosis';
import { callAssistantDoctor, updateDiagnosis } from '../../../utils/diagnosis';
import { base64decode } from '../../../utils/utils.js';
import MatchComponent from '@/components/common/match';
import RefundComponent from '@/components/common/refund';
import FollowupComponent from '../../../components/common/followup';
import MatchingDoctor from '../../../components/common/matching-doctor';
import DiagnosisComponent from '../../../components/common/diagnosis';
import CoordinatingDoctor from '../../../components/common/coordinating-doctor';
import DiagnosisDoctor from '../../../components/common/diagnosis-doctor';
import AppointmentTime from '../../../components/common/appointment-time';
import DiagnosisTime from '../../../components/common/diagnosis-time';
import RematchingDoctor from '../../../components/common/rematching-doctor';
import TableSetComponent from '@/components/list/table-set-component';
import applyCancelComponent from '../../../components/common/applyCancel';
import updateDeparId from '../../../components/common/updateDepartId';
export default {
components: {
TableSetComponent,
FollowupComponent,
MatchComponent,
RefundComponent,
MatchingDoctor,
DiagnosisComponent,
CoordinatingDoctor,
DiagnosisDoctor,
AppointmentTime,
DiagnosisTime,
RematchingDoctor,
applyCancelComponent,
updateDeparId,
},
data() {
return {
onlyChangeTime: false,
saveFresh: true,
isUp: false,
endFlag: false,
beginFlag: false,
loading: false,
activeName: '99',
createRangeTime: '',
cancelRangeTime: '',
orderRangeTime: '',
completeRangeTime: '',
assistantTime: '',
depList: [],
tabrefresh: true,
searchParam: {
id: '',
type: '',
operateName: '',
assistantVal: '',
receptionVal: '',
sort: null,
triageDepartmentId: '',
diagnoseType: '', // 预约问诊类型:1、音频 2、视频 3、图文
createdTimeBegin: '',
createdTimeEnd: '',
operateTimeBegin: '',
operateTimeEnd: '',
appointBeginTime: '',
appointEndTime: '',
doneTimeBegin: '',
doneTimeEnd: '',
assistantBeginTime: '',
assistantEndTime: '',
pageSize: 15,
pageNo: 1,
menuType: 1, // 菜单类型:1、all 2、运营 3、待分诊 4、待接诊 5、外呼
status: '',
price: '',
refundRemark: '',
orderPlacer: '',
matchingWay: null,
consultRoad: null,
patientName: null,
import MatchComponent from '@/components/common/match';
import RefundComponent from '@/components/common/refund';
import TableSetComponent from '@/components/list/table-set-component';
import applyCancelComponent from '../../../components/common/applyCancel';
import AppointmentTime from '../../../components/common/appointment-time';
import CoordinatingDoctor from '../../../components/common/coordinating-doctor';
import DiagnosisComponent from '../../../components/common/diagnosis';
import DiagnosisDoctor from '../../../components/common/diagnosis-doctor';
import DiagnosisTime from '../../../components/common/diagnosis-time';
import FollowupComponent from '../../../components/common/followup';
import MatchingDoctor from '../../../components/common/matching-doctor';
import RematchingDoctor from '../../../components/common/rematching-doctor';
import updateDeparId from '../../../components/common/updateDepartId';
export default {
components: {
TableSetComponent,
FollowupComponent,
MatchComponent,
RefundComponent,
MatchingDoctor,
DiagnosisComponent,
CoordinatingDoctor,
DiagnosisDoctor,
AppointmentTime,
DiagnosisTime,
RematchingDoctor,
applyCancelComponent,
updateDeparId,
},
data() {
return {
onlyChangeTime: false,
saveFresh: true,
isUp: false,
endFlag: false,
beginFlag: false,
loading: false,
activeName: '99',
createRangeTime: '',
cancelRangeTime: '',
orderRangeTime: '',
completeRangeTime: '',
assistantTime: '',
depList: [],
tabrefresh: true,
searchParam: {
id: '',
type: '',
operateName: '',
assistantVal: '',
receptionVal: '',
sort: null,
triageDepartmentId: '',
diagnoseType: '', // 预约问诊类型:1、音频 2、视频 3、图文
createdTimeBegin: '',
createdTimeEnd: '',
operateTimeBegin: '',
operateTimeEnd: '',
appointBeginTime: '',
appointEndTime: '',
doneTimeBegin: '',
doneTimeEnd: '',
assistantBeginTime: '',
assistantEndTime: '',
pageSize: 15,
pageNo: 1,
menuType: 1, // 菜单类型:1、all 2、运营 3、待分诊 4、待接诊 5、外呼
status: '',
price: '',
refundRemark: '',
orderPlacer: '',
matchingWay: null,
consultRoad: null,
patientName: null,
},
noteList: [],
alltabslist: [],
tyleList: TYPE_LIST,
fllowList: IS_FLLOW,
sourceList: SOURCE_LIST,
priceList: ORDER_PRICE,
matchingWayList: MATCHING_LIST,
orderBusinessList: [
{
label: '中医实践',
value: 1,
},
noteList: [],
alltabslist: [],
tyleList: TYPE_LIST,
fllowList: IS_FLLOW,
sourceList: SOURCE_LIST,
priceList: ORDER_PRICE,
matchingWayList: MATCHING_LIST,
orderBusinessList: [
{
label: '中医实践',
value: 1,
},
{
label: '向上问诊',
value: 0,
},
{
label: '报告解读',
value: 2,
},
],
nextPersonList: [
{
label: '基层医生',
value: 0,
},
{
label: '患者',
value: 1,
},
],
tabpaneList: [],
rematchingOptions: [], // 备注信息
Raw_tabpaneList: [],
tableData: [],
totalRows: 0,
timeClickFlag: true,
tableHeight: 500,
diagnoseLogId: 0,
toFollowReason: '',
matchVisible: false,
refundVisible: false,
followupVisible: false,
doctorVisible: false,
diagnosisVisible: false,
diaUpdateDeIdVisible: false,
coordinatingVisible: false,
diagnosisDoctorVisible: false,
diagnoseFlag: false,
rangeTimeData: '',
appointmentTimeVisible: false,
diagnosisTimeVisible: false,
rematchingVisible: false,
multipleSelection: [],
batchFlag: false,
dialogFormVisible: false,
bizType: 0,
diagnoseType: 0,
consultRoad: '',
doctorId: 0,
operateUserID: '',
triageDepartmentId: 0,
saveTableData: DIAGNOS_LIST_NEW,
pickerOptions1: {
disabledDate: (time) => {
return time.getTime() > new Date().getTime(); // 减去一天的时间代表可以选择同一天;
},
{
label: '向上问诊',
value: 0,
},
pickerOptions2: {
disabledDate: (time) => {
return time.getTime() < new Date().getTime(); // 减去一天的时间代表可以选择同一天;
},
{
label: '报告解读',
value: 2,
},
timer: null,
fromType: 0, // 1或不传为为预约单列表 2为运营预约单列表 3为分诊台 4为接诊台
doctorInfo: {},
userName: '',
userNamePhone: '',
triageDepartment: '',
departmentId: '',
allTilst: [],
allList: {},
consultationTypeList: [
{
label: '全部',
value: '',
},
{
label: '名医问诊',
value: 2,
},
{
label: '极速问诊',
value: 1,
},
{
label: '-',
value: 0,
},
],
};
},
watch: {
$route: {
handler(newVal) {
if (newVal) {
this.isUp = false;
this.reset();
this.init();
}
],
nextPersonList: [
{
label: '基层医生',
value: 0,
},
{
label: '患者',
value: 1,
},
],
tabpaneList: [],
rematchingOptions: [], // 备注信息
Raw_tabpaneList: [],
tableData: [],
totalRows: 0,
timeClickFlag: true,
tableHeight: 500,
diagnoseLogId: 0,
toFollowReason: '',
matchVisible: false,
refundVisible: false,
followupVisible: false,
doctorVisible: false,
diagnosisVisible: false,
diaUpdateDeIdVisible: false,
coordinatingVisible: false,
diagnosisDoctorVisible: false,
diagnoseFlag: false,
rangeTimeData: '',
appointmentTimeVisible: false,
diagnosisTimeVisible: false,
rematchingVisible: false,
multipleSelection: [],
batchFlag: false,
dialogFormVisible: false,
bizType: 0,
diagnoseType: 0,
consultRoad: '',
doctorId: 0,
operateUserID: '',
triageDepartmentId: 0,
saveTableData: DIAGNOS_LIST_NEW,
pickerOptions1: {
disabledDate: (time) => {
return time.getTime() > new Date().getTime(); // 减去一天的时间代表可以选择同一天;
},
},
pickerOptions2: {
disabledDate: (time) => {
return time.getTime() < new Date().getTime(); // 减去一天的时间代表可以选择同一天;
},
deep: true,
immediate: true,
},
timer: null,
fromType: 0, // 1或不传为为预约单列表 2为运营预约单列表 3为分诊台 4为接诊台
doctorInfo: {},
userName: '',
userNamePhone: '',
triageDepartment: '',
departmentId: '',
allTilst: [],
allList: {},
consultationTypeList: [
{
label: '全部',
value: '',
},
{
label: '名医问诊',
value: 2,
},
{
label: '极速问诊',
value: 1,
},
{
label: '-',
value: 0,
},
],
};
},
watch: {
$route: {
handler(newVal) {
if (newVal) {
this.isUp = false;
this.reset();
this.init();
}
},
deep: true,
immediate: true,
},
created() {
vm = this;
},
created() {
vm = this;
// this.getDep();
},
mounted() {
this.setTableHeight();
this.getOutboundNote();
this.departmentAll();
},
destroyed() {
clearInterval(this.timer);
},
methods: {
departmentAll() {
departmentAll().then((res) => {
if (res.code == '000000') {
this.allList = res.data || {};
this.showListALL();
}
});
},
mounted() {
this.setTableHeight();
this.getOutboundNote();
this.departmentAll();
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);
});
this.allTilst = arr;
},
changeDepart() {
const checkedNodes = this.$refs['cascader'].getCheckedNodes();
if (checkedNodes.length > 0) {
this.searchParam.triageDepartmentId = checkedNodes[0].value;
} else {
this.searchParam.triageDepartmentId = '';
}
},
changeStartTime(time) {
this.rangeTimeData = time
? time.time
? new Date(time.time).format('yyyy-MM-dd hh:mm:ss')
: ''
: '';
},
destroyed() {
getTableData(val) {
this.saveTableData = val || [];
},
selectToggle() {
this.isUp = !this.isUp;
},
// 每隔1分钟对比数据
contrastData() {
clearInterval(this.timer);
this.timer = setInterval(() => {
this.getTabs();
}, 60000);
// 600000
},
methods: {
departmentAll() {
departmentAll().then((res) => {
if (res.code == '000000') {
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;
}
// 获取tabs数据
getTabs() {
getCountQuery(this.searchParam).then((res) => {
if (res.code == '000000') {
this.setTable(res.data);
this.tabrefresh = false;
this.$nextTick(() => {
this.tabrefresh = true;
});
arr.push(obj);
});
this.allTilst = arr;
},
changeDepart() {
const checkedNodes = this.$refs['cascader'].getCheckedNodes();
if (checkedNodes.length > 0) {
this.searchParam.triageDepartmentId = checkedNodes[0].value;
} else {
this.searchParam.triageDepartmentId = '';
return true;
}
},
changeStartTime(time) {
this.rangeTimeData = time
? time.time
? new Date(time.time).format('yyyy-MM-dd hh:mm:ss')
: ''
: '';
},
getTableData(val) {
this.saveTableData = val || [];
},
selectToggle() {
this.isUp = !this.isUp;
},
// 每隔1分钟对比数据
contrastData() {
clearInterval(this.timer);
this.timer = setInterval(() => {
this.getTabs();
}, 60000);
// 600000
},
// 获取tabs数据
getTabs() {
return getCountQuery().then((res) => {
if (res.code == '000000') {
this.setTable(res.data);
this.tabrefresh = false;
this.$nextTick(() => {
this.tabrefresh = true;
});
return true;
}
});
},
init() {
const fullPath = this.$route.fullPath;
let fromType = 1;
if (fullPath.indexOf('?') > -1) {
const str = base64decode(fullPath.split('?')[1]);
if (str.indexOf('?')) {
fromType = str.split('=')[1];
}
});
},
init() {
const fullPath = this.$route.fullPath;
let fromType = 1;
if (fullPath.indexOf('?') > -1) {
const str = base64decode(fullPath.split('?')[1]);
if (str.indexOf('?')) {
fromType = str.split('=')[1];
}
// this.fromType = +(this.$route.query.fromType || 1);
this.fromType = +fromType;
}
// this.fromType = +(this.$route.query.fromType || 1);
this.fromType = +fromType;
this.activeName = '99';
this.searchParam.status = '';
this.Raw_tabpaneList = [];
this.getTabs().then((res) => {
if (res) {
this.getsearch();
}
});
this.activeName = '99';
this.searchParam.status = '';
this.Raw_tabpaneList = [];
this.getsearch();
// this.getTabs().then((res) => {
// if (res) {
// this.getsearch();
// }
// });
this.contrastData();
},
getOutboundNote() {
outbounNote().then((res) => {
if (res.code == '000000') {
this.noteList = res.data || [];
}
});
},
// 不同也main切换不同的tab
setTable(data) {
let tabs = ALL_TAB_LIST;
switch (this.fromType) {
this.contrastData();
},
getOutboundNote() {
outbounNote().then((res) => {
if (res.code == '000000') {
this.noteList = res.data || [];
}
});
},
// 不同也main切换不同的tab
setTable(data) {
let tabs = ALL_TAB_LIST;
switch (this.fromType) {
case 1:
tabs = ALL_TAB_LIST;
this.searchParam.menuType = 1;
......@@ -972,94 +973,84 @@
tabs = ALL_TAB_LIST;
this.searchParam.menuType = 1;
break;
}
}
let count = 0;
for (let i = 0; i < tabs.length; i++) {
const index = data.findIndex((val) => {
return val.status == tabs[i].active;
});
if (index > 0) {
count = count + data[index].dgCount;
let isdot = false;
if (this.Raw_tabpaneList.length > 0) {
isdot =
data[index].dgCount > this.Raw_tabpaneList[i].dgCount
? true
: false;
}
tabs[i] = {
...tabs[i],
dgCount: data[index].dgCount,
isdot: isdot,
};
let count = 0;
for (let i = 0; i < tabs.length; i++) {
const index = data.findIndex((val) => {
return val.status == tabs[i].active;
});
if (index > 0) {
count = count + data[index].dgCount;
let isdot = false;
if (this.Raw_tabpaneList.length > 0) {
isdot =
data[index].dgCount > this.Raw_tabpaneList[i].dgCount
? true
: false;
}
tabs[i] = {
...tabs[i],
dgCount: data[index].dgCount,
isdot: isdot,
};
}
tabs[0].dgCount = count;
this.tabpaneList = tabs;
if (this.Raw_tabpaneList.length == 0) {
this.Raw_tabpaneList = JSON.parse(JSON.stringify(tabs));
}
},
}
tabs[0].dgCount = count;
this.tabpaneList = tabs;
if (this.Raw_tabpaneList.length == 0) {
this.Raw_tabpaneList = JSON.parse(JSON.stringify(tabs));
}
},
resetPage() {
this.searchParam.pageSize = 15;
this.searchParam.pageNo = 1;
},
// 设置table的高度
setTableHeight() {
setTimeout(() => {
this.$nextTick(() => {
if (
document.getElementsByClassName('from-box') &&
document.getElementsByClassName('from-box')[0].clientHeight
) {
const height =
window.innerHeight -
50 -
140 -
10 -
160 -
document.getElementsByClassName('from-box')[0].clientHeight;
if (height > 300) {
this.tableHeight = height;
}
resetPage() {
this.searchParam.pageSize = 15;
this.searchParam.pageNo = 1;
},
// 设置table的高度
setTableHeight() {
setTimeout(() => {
this.$nextTick(() => {
if (
document.getElementsByClassName('from-box') &&
document.getElementsByClassName('from-box')[0].clientHeight
) {
const height =
window.innerHeight -
50 -
140 -
10 -
160 -
document.getElementsByClassName('from-box')[0].clientHeight;
if (height > 300) {
this.tableHeight = height;
}
});
}, 20);
},
// tab切换
handleClick(val) {
for (let i = 0; i < this.tabpaneList.length; i++) {
if (this.tabpaneList[i].active == val.paneName) {
this.tabpaneList[i].isdot = false;
this.Raw_tabpaneList[i] = this.tabpaneList[i];
}
});
}, 20);
},
// tab切换
handleClick(val) {
for (let i = 0; i < this.tabpaneList.length; i++) {
if (this.tabpaneList[i].active == val.paneName) {
this.tabpaneList[i].isdot = false;
this.Raw_tabpaneList[i] = this.tabpaneList[i];
}
this.searchParam.status =
val.paneName == 99
? ''
: val.paneName == 101 || val.paneName == 102
? '21'
: val.paneName;
if (
(this.fromType == 5 || this.fromType == 1) &&
this.searchParam.status
) {
if (val.paneName == 101) {
this.searchParam.hasToFollowReason = 1;
} else if (val.paneName == 102) {
this.searchParam.hasToFollowReason = 2;
} else {
if (
Object.prototype.hasOwnProperty.call(
this.searchParam,
'hasToFollowReason'
)
) {
delete this.searchParam.hasToFollowReason;
}
}
}
this.searchParam.status =
val.paneName == 99
? ''
: val.paneName == 101 || val.paneName == 102
? '21'
: val.paneName;
if (
(this.fromType == 5 || this.fromType == 1) &&
this.searchParam.status
) {
if (val.paneName == 101) {
this.searchParam.hasToFollowReason = 1;
} else if (val.paneName == 102) {
this.searchParam.hasToFollowReason = 2;
} else {
if (
Object.prototype.hasOwnProperty.call(
......@@ -1070,444 +1061,455 @@
delete this.searchParam.hasToFollowReason;
}
}
this.getsearch();
this.saveFresh = false;
this.$nextTick(() => {
this.saveFresh = true;
});
},
// 初始化时间
initTime() {
const {
createRangeTime,
cancelRangeTime,
orderRangeTime,
completeRangeTime,
assistantTime,
} = this;
this.setTime('createdTimeBegin', 'createdTimeEnd', createRangeTime);
this.setTime('cancelTimeBegin', 'cancelTimeEnd', cancelRangeTime);
this.setTime('appointBeginTime', 'appointEndTime', orderRangeTime);
this.setTime('doneTimeBegin', 'doneTimeEnd', completeRangeTime);
this.setTime('assistantBeginTime', 'assistantEndTime', assistantTime);
},
/**
* btime开始时间
* etime结束时间
* arrtime 时间数组
*/
setTime(btime, etime, arrtime) {
arrtime = arrtime || ['', ''];
this.searchParam[btime] = arrtime[0];
this.searchParam[etime] = arrtime[1];
},
// 重置页面后搜索
getsearch() {
this.resetPage();
this.search(true);
},
sortfunc(data) {
// ascending 升序
// descending 降序
if (data.prop == 'appointBeginTime' && data.order == 'ascending') {
this.searchParam.sort = 1;
} else if (
data.prop == 'appointBeginTime' &&
data.order == 'descending'
) {
this.searchParam.sort = 2;
} else if (
data.prop == 'assistantBeginTime' &&
data.order == 'ascending'
) {
this.searchParam.sort = 3;
} else if (
data.prop == 'assistantBeginTime' &&
data.order == 'descending'
} else {
if (
Object.prototype.hasOwnProperty.call(
this.searchParam,
'hasToFollowReason'
)
) {
this.searchParam.sort = 4;
} else {
this.searchParam.sort = null;
}
this.search(true);
},
search(isTabs) {
this.loading = true;
if (!isTabs) {
this.getTabs();
delete this.searchParam.hasToFollowReason;
}
this.initTime();
}
this.getsearch(true);
this.saveFresh = false;
this.$nextTick(() => {
this.saveFresh = true;
});
},
diagnoseList(this.searchParam).then((res) => {
// 初始化时间
initTime() {
const {
createRangeTime,
cancelRangeTime,
orderRangeTime,
completeRangeTime,
assistantTime,
} = this;
this.setTime('createdTimeBegin', 'createdTimeEnd', createRangeTime);
this.setTime('cancelTimeBegin', 'cancelTimeEnd', cancelRangeTime);
this.setTime('appointBeginTime', 'appointEndTime', orderRangeTime);
this.setTime('doneTimeBegin', 'doneTimeEnd', completeRangeTime);
this.setTime('assistantBeginTime', 'assistantEndTime', assistantTime);
},
/**
* btime开始时间
* etime结束时间
* arrtime 时间数组
*/
setTime(btime, etime, arrtime) {
arrtime = arrtime || ['', ''];
this.searchParam[btime] = arrtime[0];
this.searchParam[etime] = arrtime[1];
},
// 重置页面后搜索
getsearch(isTabs) {
this.resetPage();
this.search(isTabs);
},
sortfunc(data) {
// ascending 升序
// descending 降序
if (data.prop == 'appointBeginTime' && data.order == 'ascending') {
this.searchParam.sort = 1;
} else if (
data.prop == 'appointBeginTime' &&
data.order == 'descending'
) {
this.searchParam.sort = 2;
} else if (
data.prop == 'assistantBeginTime' &&
data.order == 'ascending'
) {
this.searchParam.sort = 3;
} else if (
data.prop == 'assistantBeginTime' &&
data.order == 'descending'
) {
this.searchParam.sort = 4;
} else {
this.searchParam.sort = null;
}
this.search(true);
},
search(isTabs) {
this.loading = true;
if (!isTabs) {
this.getTabs();
}
this.initTime();
diagnoseList(this.searchParam).then((res) => {
this.loading = false;
if (res.code == '000000') {
this.tableData = (res.data.list || []).map((item) => {
return {
...item,
price: item.price > 0 ? item.price / 100 : 0,
};
});
this.totalRows = res.data.allSize;
}
});
},
// 获取科室
getDep() {
getDepartments().then((res) => {
if (res.code === '000000') {
this.depList = [
{
id: '',
name: '全部',
},
...res.data,
];
}
});
},
// 重置
reset() {
this.createRangeTime = '';
this.cancelRangeTime = '';
this.orderRangeTime = '';
this.completeRangeTime = '';
this.assistantTime = '';
this.searchParam = Object.assign(this.searchParam, {
id: '',
type: '',
operateName: '',
assistantVal: '',
receptionVal: '',
triageDepartmentId: '',
price: '',
refundRemark: '',
orderPlacer: '',
matchingWay: null,
diagnoseType: '', // 预约问诊类型:1、音频 2、视频 3、图文
createdTimeBegin: '',
createdTimeEnd: '',
operateTimeBegin: '',
operateTimeEnd: '',
sort: null,
appointBeginTime: '',
appointEndTime: '',
doneTimeBegin: '',
doneTimeEnd: '',
assistantBeginTime: '',
assistantEndTime: '',
inNewTimeObj: {},
consultRoad: null,
patientName: null,
});
},
// 导出
download() {
this.initTime();
const params = this.searchParam;
diagnoseExport(params)
.then((res) => {
this.loading = false;
if (res.code == '000000') {
this.tableData = (res.data.list || []).map((item) => {
return {
...item,
price: item.price > 0 ? item.price / 100 : 0,
};
this.$confirm('将于24小时内导出成功,是否跳转下载列表页?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
this.$router.push('/down-list');
});
this.totalRows = res.data.allSize;
}
})
.catch((err) => {
console.log(err);
});
},
// 获取科室
getDep() {
getDepartments().then((res) => {
if (res.code === '000000') {
this.depList = [
{
id: '',
name: '全部',
},
...res.data,
];
},
// 设为待问诊
witeDiagnose(row) {
this.appointmentTimeVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.bizType = 11;
},
// 更换运营
changeRun(row) {
this.matchVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.batchFlag = false;
this.operateUserID = row.operateUserId;
},
// 查看详情/编辑详情
goDetail(row, flag) {
const target = this.$refs.target;
const { origin } = window.location;
const editorType = flag ? 1 : 2;
const u = `${origin}/consultation/pica-admin-consultation/diagnosis-editor?id=${row.diagnoseLogId}&editorType=${editorType}`;
target.setAttribute('href', u);
target.click();
},
// 取消/退款
cancelRefund(row) {
this.refundVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
},
// 设为稍后跟进
witeGo(row) {
this.followupVisible = true;
this.toFollowReason = row.toFollowReason;
this.diagnoseLogId = row.diagnoseLogId;
},
// 申请取消
applyCancel(row) {
this.diagnoseLogId = row.diagnoseLogId;
this.dialogFormVisible = true;
},
// 设为待匹配医生
waitMatchDot(row) {
this.doctorData = row;
this.diagnoseLogId = row.diagnoseLogId;
this.userName = row.userName;
this.diagnoseType = row.diagnoseType;
this.consultRoad = row.consultRoad;
this.userNamePhone = row.userMobile;
this.triageDepartment = row.triageDepartment;
this.departmentId = row.triageDepartmentId;
this.patientName = row.patientName;
this.patientMobilePhone = row.patientMobilePhone;
this.bizType = 5;
if (this.diagnoseType == '4') {
this.$confirm('是否重新匹配医生', '提示', {
confirmButtonText: '是',
cancelButtonText: '否',
type: 'warning',
}).then(() => {
this.loading = true;
reMatchDoctor(this.diagnoseLogId)
.then(() => {
this.loading = false;
this.search(false);
})
.catch(() => {
this.loading = false;
});
});
} else {
this.diagnosisTimeVisible = true;
}
// }
},
// 修改科室
updateDepartId(row) {
console.log(row);
this.diagnoseLogId = row.diagnoseLogId;
this.userName = row.userName;
this.userNamePhone = row.userMobile;
this.triageDepartment = row.triageDepartment;
this.diaUpdateDeIdVisible = true;
},
callAssistant(row) {
const i =
row.consultRoadType == 2 ? '确定呼叫居民吗?' : '确定呼叫助诊医生吗?';
this.$confirm(i, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
callAssistantDoctor(row.diagnoseLogId).then((res) => {
if (res.code == '000000') {
vm.$message.success('呼叫成功');
} else {
vm.$message.error(res.message);
}
});
},
// 重置
reset() {
this.createRangeTime = '';
this.cancelRangeTime = '';
this.orderRangeTime = '';
this.completeRangeTime = '';
this.assistantTime = '';
this.searchParam = Object.assign(this.searchParam, {
id: '',
type: '',
operateName: '',
assistantVal: '',
receptionVal: '',
triageDepartmentId: '',
price: '',
refundRemark: '',
orderPlacer: '',
matchingWay: null,
diagnoseType: '', // 预约问诊类型:1、音频 2、视频 3、图文
createdTimeBegin: '',
createdTimeEnd: '',
operateTimeBegin: '',
operateTimeEnd: '',
sort: null,
appointBeginTime: '',
appointEndTime: '',
doneTimeBegin: '',
doneTimeEnd: '',
assistantBeginTime: '',
assistantEndTime: '',
inNewTimeObj: {},
consultRoad: null,
patientName: null,
});
},
// 发送消息
sendMessage(row) {
this.$router.push({
path: '/diagnosis-im',
query: { tid: row.imTeamId },
});
},
// 加入问诊
joinDiagnose(row) {
this.$confirm('确定加入问诊吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
this.clearSession();
// this.$router.push({
// path: "/diagnosis-live",
// query: { tid: row.imTeamId, diagnoseLogId: row.diagnoseLogId },
// })
const newpage = this.$router.resolve({
path: '/diagnosis-live',
query: { tid: row.imTeamId, diagnoseLogId: row.diagnoseLogId },
});
},
// 导出
download() {
this.initTime();
const params = this.searchParam;
diagnoseExport(params)
.then((res) => {
this.loading = false;
window.open(newpage.href, '_blank');
});
},
// 匹配运营
matchRun(row) {
this.$confirm('确定匹配并跟进该预约单?', '确定匹配?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
const req = {
id: row.diagnoseLogId,
bizType: 3,
};
updateDiagnosis(req)
.then(function (res) {
if (res.code == '000000') {
this.$confirm('将于24小时内导出成功,是否跳转下载列表页?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
this.$router.push('/down-list');
});
vm.search(false);
} else {
vm.$message.error(res.message);
}
})
.catch((err) => {
console.log(err);
});
},
// 设为待问诊
witeDiagnose(row) {
this.appointmentTimeVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.bizType = 11;
},
// 更换运营
changeRun(row) {
this.matchVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.batchFlag = false;
this.operateUserID = row.operateUserId;
},
// 查看详情/编辑详情
goDetail(row, flag) {
const target = this.$refs.target;
const { origin } = window.location;
const editorType = flag ? 1 : 2;
const u = `${origin}/consultation/pica-admin-consultation/diagnosis-editor?id=${row.diagnoseLogId}&editorType=${editorType}`;
target.setAttribute('href', u);
target.click();
},
// 取消/退款
cancelRefund(row) {
this.refundVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
},
// 设为稍后跟进
witeGo(row) {
this.followupVisible = true;
this.toFollowReason = row.toFollowReason;
this.diagnoseLogId = row.diagnoseLogId;
},
// 申请取消
applyCancel(row) {
this.diagnoseLogId = row.diagnoseLogId;
this.dialogFormVisible = true;
},
// 设为待匹配医生
waitMatchDot(row) {
this.doctorData = row;
this.diagnoseLogId = row.diagnoseLogId;
this.userName = row.userName;
this.diagnoseType = row.diagnoseType;
this.consultRoad = row.consultRoad;
this.userNamePhone = row.userMobile;
this.triageDepartment = row.triageDepartment;
this.departmentId = row.triageDepartmentId;
this.patientName = row.patientName;
this.patientMobilePhone = row.patientMobilePhone;
this.bizType = 5;
if (this.diagnoseType == '4') {
this.$confirm('是否重新匹配医生', '提示', {
confirmButtonText: '是',
cancelButtonText: '否',
type: 'warning',
}).then(() => {
this.loading = true;
reMatchDoctor(this.diagnoseLogId)
.then(() => {
this.loading = false;
this.search(false);
})
.catch(() => {
this.loading = false;
});
.catch(function (error) {
vm.$message.error(error);
});
} else {
this.diagnosisTimeVisible = true;
}
// }
},
// 修改科室
updateDepartId(row) {
console.log(row);
this.diagnoseLogId = row.diagnoseLogId;
this.userName = row.userName;
this.userNamePhone = row.userMobile;
this.triageDepartment = row.triageDepartment;
this.diaUpdateDeIdVisible = true;
},
callAssistant(row) {
const i = row.consultRoadType == 2 ? '确定呼叫居民吗?' : '确定呼叫助诊医生吗?';
this.$confirm(i, '提示', {
});
},
// 设为待分诊
waitDiagnose(row) {
this.diagnosisTimeVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.bizType = 5;
},
// 设为待协调医生
waitHzeDot(row) {
this.coordinatingVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.bizType = 8;
},
// 设为待确认时间
waitMatchTime(row, onlyChangeTime) {
this.onlyChangeTime = onlyChangeTime;
this.doctorInfo = row;
this.rangeTimeData = row.assistantBeginTime;
this.diagnoseFlag = true;
this.diagnosisDoctorVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.diagnoseType = row.diagnoseType;
this.consultRoad = row.consultRoad;
if (row.doctorId == 0) {
this.doctorId = '';
} else {
this.doctorId = row.doctorId;
}
// this.$nextTick(() => {
// this.diagnoseFlag = true;
// this.diagnosisDoctorVisible = true;
// });
},
// 重新匹配医生
reMatchDot(row, type) {
this.rematchingOptions = [
'接诊医生爽约',
'上级医生日程改变,提前取消',
'操作失误,重新匹配医生',
'助诊医生爽约',
];
// this.rematchingOptions=
// this.options=
this.rematchingVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.bizType = type;
},
// 修改时间
changeTime(row) {
this.appointmentTimeVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.bizType = 12;
},
// 发起问诊
// 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) {
this.$confirm(
'请先确定问诊已结束?再将问诊设为已完成,确定继续?',
'提示',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
callAssistantDoctor(row.diagnoseLogId).then(res => {
type: 'warning',
}
).then(() => {
const req = {
id: row.diagnoseLogId,
bizType: 13,
};
updateDiagnosis(req)
.then(function (res) {
if (res.code == '000000') {
vm.$message.success('呼叫成功');
}else{
// this.cancel();
vm.search(false);
} else {
vm.$message.error(res.message);
}
})
.catch(function (error) {
vm.$message.error(error);
});
});
},
// 发送消息
sendMessage(row) {
this.$router.push({
path: '/diagnosis-im',
query: { tid: row.imTeamId },
});
},
// 加入问诊
joinDiagnose(row) {
this.$confirm('确定加入问诊吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
this.clearSession();
});
},
// 设置科室
setOffice(row) {
this.doctorVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.bizType = 15;
this.triageDepartmentId = row.triageDepartmentId;
},
handleSizeChange(value) {
this.searchParam.pageSize = value;
// this.$router.push({
// path: "/diagnosis-live",
// query: { tid: row.imTeamId, diagnoseLogId: row.diagnoseLogId },
// })
const newpage = this.$router.resolve({
path: '/diagnosis-live',
query: { tid: row.imTeamId, diagnoseLogId: row.diagnoseLogId },
});
window.open(newpage.href, '_blank');
});
},
// 匹配运营
matchRun(row) {
this.$confirm('确定匹配并跟进该预约单?', '确定匹配?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
this.search(true);
},
handleCurrentChange(value) {
this.searchParam.pageNo = value;
this.search(true);
},
// 清除直播时间相关的seession
clearSession() {
sessionStorage.removeItem('TIME_askTime');
sessionStorage.removeItem('TIME_answerTime');
sessionStorage.removeItem('TIME_useTime');
sessionStorage.removeItem('TIME_loseTime');
},
// 取消预约
// cancelBtn(row) {},
// 批量设置运营
batchSetOperator() {
if (this.multipleSelection.length == 0) {
this.$message({
message: '请先选择要操作的数据',
type: 'warning',
}).then(() => {
const req = {
id: row.diagnoseLogId,
bizType: 3,
};
updateDiagnosis(req)
.then(function (res) {
if (res.code == '000000') {
vm.search(false);
} else {
vm.$message.error(res.message);
}
})
.catch(function (error) {
vm.$message.error(error);
});
});
},
// 设为待分诊
waitDiagnose(row) {
this.diagnosisTimeVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.bizType = 5;
},
// 设为待协调医生
waitHzeDot(row) {
this.coordinatingVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.bizType = 8;
},
// 设为待确认时间
waitMatchTime(row, onlyChangeTime) {
this.onlyChangeTime = onlyChangeTime;
this.doctorInfo = row;
this.rangeTimeData = row.assistantBeginTime;
this.diagnoseFlag = true;
this.diagnosisDoctorVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.diagnoseType = row.diagnoseType;
this.consultRoad = row.consultRoad;
if (row.doctorId == 0) {
this.doctorId = '';
} else {
this.doctorId = row.doctorId;
}
// this.$nextTick(() => {
// this.diagnoseFlag = true;
// this.diagnosisDoctorVisible = true;
// });
},
// 重新匹配医生
reMatchDot(row, type) {
this.rematchingOptions = [
'接诊医生爽约',
'上级医生日程改变,提前取消',
'操作失误,重新匹配医生',
'助诊医生爽约',
];
// this.rematchingOptions=
// this.options=
this.rematchingVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.bizType = type;
},
// 修改时间
changeTime(row) {
this.appointmentTimeVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.bizType = 12;
},
// 发起问诊
// 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) {
this.$confirm(
'请先确定问诊已结束?再将问诊设为已完成,确定继续?',
'提示',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}
).then(() => {
const req = {
id: row.diagnoseLogId,
bizType: 13,
};
updateDiagnosis(req)
.then(function (res) {
if (res.code == '000000') {
// this.cancel();
vm.search(false);
} else {
vm.$message.error(res.message);
}
})
.catch(function (error) {
vm.$message.error(error);
});
});
},
// 设置科室
setOffice(row) {
this.doctorVisible = true;
this.diagnoseLogId = row.diagnoseLogId;
this.bizType = 15;
this.triageDepartmentId = row.triageDepartmentId;
},
handleSizeChange(value) {
this.searchParam.pageSize = value;
this.search(true);
},
handleCurrentChange(value) {
this.searchParam.pageNo = value;
this.search(true);
},
// 清除直播时间相关的seession
clearSession() {
sessionStorage.removeItem('TIME_askTime');
sessionStorage.removeItem('TIME_answerTime');
sessionStorage.removeItem('TIME_useTime');
sessionStorage.removeItem('TIME_loseTime');
},
// 取消预约
// cancelBtn(row) {},
// 批量设置运营
batchSetOperator() {
if (this.multipleSelection.length == 0) {
this.$message({
message: '请先选择要操作的数据',
type: 'warning',
});
return;
}
return;
}
this.matchVisible = true;
this.batchFlag = true;
},
patientNameChange(value) {
this.searchParam.patientName = value ? value : null;
},
this.matchVisible = true;
this.batchFlag = true;
},
};
patientNameChange(value) {
this.searchParam.patientName = value ? value : null;
},
},
};
</script>
<style lang="scss" scoped>
.diagnosis-list-content {
......@@ -1516,24 +1518,29 @@
padding: 10px;
background: #fff;
overflow: hidden !important;
.title {
height: 50px;
display: flex;
justify-content: flex-start;
align-items: center;
}
.form-container {
display: flex;
justify-content: space-between;
.form-li {
display: flex;
flex-direction: column;
// justify-content: space-between;
}
.form-btn {
display: flex;
flex-direction: column;
justify-content: flex-start;
.form-btn-li {
display: flex;
justify-content: flex-end;
......@@ -1541,6 +1548,7 @@
}
}
}
.select-bottom {
height: 50px;
cursor: pointer;
......@@ -1549,6 +1557,7 @@
align-items: center;
color: #0d9078;
}
.btn-wrap {
text-align: right;
}
......@@ -1557,6 +1566,7 @@
margin-bottom: 10px;
}
}
.component-content {
padding: 10px;
background: #fff;
......@@ -1569,6 +1579,7 @@
right: 5px;
top: 10px;
}
body .el-table th.gutter {
display: table-cell !important;
}
......@@ -1576,6 +1587,7 @@ body .el-table th.gutter {
body .el-table colgroup.gutter {
display: table-cell !important;
}
.el-table .warning-row {
background: oldlace;
}
......
......@@ -70,7 +70,7 @@ module.exports = {
port: 8080,
proxy: {
'/proxy': {
target: 'https://uat-sc.yunqueyi.com/',
target: 'https://dev-sc.yunqueyi.com/',
ws: false,
changeOrigin: true,
secure: true,
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册