提交 301d389f 编写于 作者: 张磊's avatar 张磊

fix eslint

NODE_ENV=production
# 自定义 VUE_APP_ENV
VUE_APP_ENV ='test'
VUE_APP_ENV ='testing'
VUE_APP_SERVICE_URL=https://test1-sc.yunqueyi.com
# 阿里云OSS对象存储地址
......
......@@ -302,3 +302,18 @@ export const departmentAll = async () => {
method: 'get',
});
};
//
export const updateDepartmentId = async (data) => {
return request({
url: '/diagnose/admin/diagnose/diagnoseId/fresh/departmentId',
data: data,
method: 'post',
});
};
export const savePCDayCount = async (data) => {
return request({
url: '/diagnose/doctor/work/savePCDayCount',
data: data,
method: 'post',
});
};
......@@ -67,7 +67,7 @@ export const previewWork = async (data) => {
};
export const setPlatformUpper = async (data) => {
return request({
url: `/diagnose/doctor/work/setPlatformUpper/${data.num}`,
url: '/diagnose/doctor/work/setPlatformUpper',
data: data,
method: 'post',
});
......@@ -92,3 +92,10 @@ export const getLevelAndDayCount = async (data) => {
method: 'post',
});
};
// 暂时添加刷新问诊接口
export const getOrderNoFresh = async (diagnoseLogId) => {
return request({
url: `/diagnose/admin/diagnose/diagnoseOrderNo/fresh/${diagnoseLogId}`,
method: 'get',
});
};
......@@ -614,8 +614,35 @@
const that = this;
this.timerOfStatus = setInterval(function () {
getOnlineStatus(roomId).then((res) => {
const l = res.data;
console.log('res==', res, that.memberList);
if (!res.data) {
return false;
}
const l = res.data.map((i) => {
return i.userId;
});
// l = [1089725294, 1089728785];
// that.memberList = [
// {
// accId: 'd_3651506947_uat',
// avatarImageUrl: 'https://test-file.yunqueyi.com/File/doctor_default.png',
// id: 1089725294,
// liveUserId: 'd_3651506947_uat_1089725294',
// name: '顾超',
// role: 2,
// status: 3,
// type: 1
// },
// {
// accId: 'd_1909506947_uat',
// avatarImageUrl: 'https://test-file.yunqueyi.com/File/doctor_default.png',
// id: 1089728785,
// liveUserId: 'd_1909506947_uat_1089728785',
// name: '陈影',
// role: 1,
// status: 3,
// type: 1,
// }
// ];
if (
l &&
l.length > 0 &&
......@@ -623,20 +650,27 @@
that.memberList.length > 0
) {
that.memberList.map((i) => {
if (l.includes[i]) {
console.log('res==---', l, i.id, l.includes(i.id));
if (l.includes(i.id)) {
// 在线 更新状态
that.addNewMember(i.liveUserId);
} else {
// 不在线 更新状态
if (i.role == 1 && that.doctorTrtcEntryStatus != 3) {
that.addNewMember(i.liveUserId);
that.removeMember(i.liveUserId);
}
if (i.role == 2 && that.userTrtcEntryStatus != 3) {
that.addNewMember(i.liveUserId);
that.removeMember(i.liveUserId);
}
}
});
} else {
if (that.memberList && that.memberList.length > 0) {
that.memberList.map((i) => {
that.removeMember(i.liveUserId);
});
}
}
});
}, 2000);
......
......@@ -24,11 +24,11 @@
</div>
<div class="doctor-info">
<div class="name-floor">
<span class="name-info-detail">{{ userName }}</span>
<span class="doctor-info-name">基层医生</span>
<p class="info-phone">
<span class="name-info-detail">{{ userName }}</span>
<span class="info-phone">
{{ userNamePhone }}
</p>
</span>
</div>
<div class="daignose-info">
<span>分诊科室:{{ triageDepartment }}</span>
......@@ -276,15 +276,17 @@
border-radius: 8px;
height: 68px;
display: flex;
padding: 20px 30px 20px 0;
.name-floor {
width: 50%;
padding: 10px 26px;
display: flex;
align-items: center;
.name-info-detail {
font-size: 18px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #02120f;
margin-bottom: 8px;
margin-right: 5px;
}
.doctor-info-name {
......@@ -292,7 +294,9 @@
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #666666;
margin-bottom: 8px;
border-radius: 9px;
border: 1px solid #d9d9d9;
margin-right: 8px;
}
.info-phone {
font-size: 18px;
......@@ -306,7 +310,10 @@
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #666666;
padding-top: 40px;
display: flex;
align-items: center;
width: 50%;
justify-content: flex-end;
}
}
.work-info-Num {
......
<template>
<div class="update-departId">
<el-dialog
:title="title"
:visible.sync="diaUpdateDeIdVisible"
@close="cancel"
>
<div class="update-shownamephone">
<div class="update-namephone">
<div class="update-name">
<span class="doctor-name">基层医生</span>
<span class="namephone-show">{{ userName }}</span>
<span class="namephone-show">{{ userNamePhone }}</span>
</div>
<div class="depart-show">
原分诊科室:{{ triageDepartment }}
</div>
</div>
<div class="deparment-show">
<p class="update-dename">
修改新分诊科室
</p>
<el-cascader
ref="cascader"
v-model="triageDepartmentId"
filterable
clearable
class="serviceSchedule-cascader"
:options="allTilst"
placeholder="选择科室"
:show-all-levels="false"
@change="changeDepartment"
>
<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>
</div>
<div class="work-info-botton">
<span
slot="footer"
class="dialog-footer"
style="text-align: center"
>
<el-button
class="contest"
type="primary"
:disabled="isClick"
@click="confirm"
>确定</el-button>
<el-button
class="cancel-submit"
@click="cancel"
>取 消</el-button>
</span>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import { updateDepartmentId, departmentAll } from '@/api/diagnosis';
let vm = null;
export default {
props: {
diaUpdateDeIdVisible: {
type: Boolean,
default: false,
},
diagnoseLogId: {
type: Number,
default: 0,
},
triageDepartment: {
type: String,
default: '',
},
userName: {
type: String,
default: '',
},
userNamePhone: {
type: String,
default: '',
},
},
data() {
return {
show: false,
title: '',
confirmTxt: '确定',
cancleTxt: '',
triageDepartmentId: '',
newTriageDepartment: '',
allTilst: [],
allList: {},
};
},
created() {
vm = this;
this.departmentAll();
},
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;
}
});
arr.push(obj);
});
console.log(arr);
this.allTilst = arr;
},
confirm() {
if (this.newTriageDepartment == '') {
this.$message({
message: '请选择修改科室',
type: 'warning',
duration: 1000,
});
return false;
}
const params = {
diagnoseLogId: this.diagnoseLogId,
triageDepartmentId: this.triageDepartmentId,
triageDepartment: this.newTriageDepartment,
};
vm.isClick = true;
updateDepartmentId(params)
.then((res) => {
vm.isClick = false;
if (res.code == '000000') {
vm.cancel();
vm.$emit('search');
} else {
vm.$message.error(res.message);
}
})
.catch(function () {
vm.isClick = false;
// vm.$message.error(err.message);
});
},
cancel() {
this.$emit('update:diaUpdateDeIdVisible', false);
},
// 获取选择的值
changeDepartment() {
const checkedNodes = this.$refs['cascader'].getCheckedNodes();
console.log(checkedNodes);
if (checkedNodes.length > 0) {
this.triageDepartmentId = checkedNodes[0].value;
this.newTriageDepartment = checkedNodes[0].label;
} else {
this.triageDepartmentId = '';
this.newTriageDepartment = '';
}
},
},
};
</script>
<style lang="scss" scoped>
.update-departId {
.update-shownamephone {
padding: 20px 30px;
.update-namephone {
padding: 20px 30px;
background: rgba(240, 242, 245, 0.6);
border-radius: 8px;
display: flex;
width: 100%;
.update-name {
width: 50%;
display: flex;
justify-content: flex-start;
align-items: center;
.doctor-name {
padding: 2px 3px;
border-radius: 10px;
border: 1px solid #d9d9d9;
margin-right: 8px;
}
.namephone-show {
font-size: 18px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #02120f;
margin-right: 8px;
}
}
.depart-show {
width: 50%;
display: flex;
justify-content: flex-end;
}
}
.deparment-show {
margin-top: 28px;
.update-dename {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #02120f;
margin-bottom: 9px;
}
/deep/.serviceSchedule-cascader {
.el-input {
.el-input__inner {
width: 180px;
height: 32px;
background: #ffffff;
border-radius: 16px;
border: 1px solid rgba(0, 0, 0, 0.15);
}
.el-input__suffix {
display: flex;
align-items: center;
}
}
input::-webkit-input-placeholder {
color: #89888b;
}
}
}
.work-info-botton {
padding: 35px 0;
.dialog-footer {
.contest {
width: 180px;
height: 40px;
background: #0d9078;
border-radius: 20px;
}
.cancel-submit {
width: 180px;
height: 40px;
border-radius: 20px;
border: 1px solid #0d9078;
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #0d9078;
}
}
}
}
}
</style>
......@@ -77,6 +77,7 @@
},
watch: {
musicList(newv) {
console.log(newv);
this.musicArr = newv || [];
},
},
......@@ -87,10 +88,11 @@
},
methods: {
musicUrl(item) {
console.log(item);
if (item.url) {
return item.url;
}
return item.response.data.domainPath + item.response.data.path;
return item.data.domainPath + item.data.path;
},
beforeRemove() {
this.loading = true;
......@@ -104,7 +106,8 @@
}, 1000);
},
sucess(fileList) {
this.musicArr = fileList;
console.log(fileList);
this.musicArr.push(fileList);
this.loading = false;
},
errfn() {
......@@ -116,10 +119,8 @@
const newArr = [];
if (this.musicArr && this.musicArr.length) {
this.musicArr.forEach((item) => {
if (item.response) {
newArr.push(
item.response.data.domainPath + item.response.data.path
);
if (item.data) {
newArr.push(item.data.domainPath + item.data.path);
} else if (item.url && item.from) {
newArr.push(item.url);
}
......
......@@ -68,6 +68,12 @@
:filters="createList"
:filter-method="getLevel"
/>
<el-table-column
prop="preNum"
label="接诊上限/小时"
width="150"
align="center"
/>
<el-table-column
prop="workStatus"
label="排班状态"
......@@ -121,7 +127,7 @@
label="操作"
fixed="right"
align="center"
min-width="200"
min-width="270"
>
<template slot-scope="scope">
<div
......@@ -148,6 +154,12 @@
>
查看
</div>
<div
class="download-btn"
@click="setMaxNumValue(scope.row)"
>
接诊上限
</div>
</div>
</template>
</el-table-column>
......@@ -225,6 +237,7 @@
text: '未开通',
},
],
// maxNumValue: '',
};
},
computed: {},
......@@ -254,6 +267,10 @@
addSchedule(value, val) {
this.$emit('addSchedule', value, val);
},
// 点击接诊上限按钮弹框打开
setMaxNumValue(value) {
this.$emit('setMaxNumValue', value);
},
// 分页
handleSizeChange(value) {
this.$emit('handleSizeChange', value);
......
......@@ -118,6 +118,15 @@
>
设为待匹配医生
</el-button>
<el-button
v-if="showBtn(scope.row, 22, 21)"
type="primary"
size="small"
class="btn"
@click="updateDepartId(scope.row)"
>
修改科室
</el-button>
<el-button
v-if="showBtn(scope.row, 3, 4, 5, 6, 21, 22, 23, 24, 25, 26)"
type="primary"
......@@ -356,6 +365,10 @@
waitMatchDot(row) {
this.$emit('waitMatchDot', row);
},
// 修改科室
updateDepartId(row) {
this.$emit('updateDepartId', row);
},
// 发送消息
sendMessage(row) {
this.$emit('sendMessage', row);
......
......@@ -80,12 +80,25 @@ const overviewScheduling = (r) =>
() => r(require('@/views/IM/diagnosis-admin/overviewScheduling.vue')),
'overviewScheduling'
);
const schedReminder = (r) =>
require.ensure(
[],
() => r(require('@/views/IM/diagnosis-admin/schedReminder.vue')),
'overviewScheduling'
);
const administrators = (r) =>
require.ensure(
[],
() => r(require('@/views/IM/diagnosis-admin/administrators.vue')),
'administrators'
);
const orderStatusUpdate = (r) =>
require.ensure(
[],
() => r(require('@/views/IM/diagnosis-admin/orderStatusUpdate.vue')),
'orderStatusUpdate'
);
const Layout = (r) =>
require.ensure([], () => r(require('@/views/layout/Layout.vue')), 'Layout');
......@@ -154,10 +167,18 @@ const routerConfig = [
path: '/overviewScheduling',
component: overviewScheduling,
},
{
path: '/schedReminder',
component: schedReminder,
},
{
path: '/administrators',
component: administrators,
},
{
path: '/orderStatusUpdate',
component: orderStatusUpdate,
},
],
},
];
......
......@@ -14,12 +14,23 @@ export const DIAGNOS_LIST_NEW = [
label: '订单金额',
showtooltip: false,
},
{
prop: 'consultRoad',
label: '订单业务类型',
showtooltip: false,
},
{
prop: 'diagnoseTypeStr',
label: '预约类型',
showtooltip: false,
with: '200',
},
{
prop: 'type',
label: '问诊类型',
showtooltip: false,
with: '200',
},
{
prop: 'refundRemark',
label: '外呼状态',
......
此差异已折叠。
......@@ -119,7 +119,7 @@ export const STATUS_LIST = [
value: 6,
},
{
label: '已匹配',
label: '待联系',
value: 21,
},
{
......@@ -289,21 +289,21 @@ export const ALL_TAB_LIST = [
active: '99',
},
{
label: '待匹配',
label: '待分诊',
active: '2',
},
{
label: '已匹配',
label: '待联系',
active: '102',
},
{
label: '稍后跟进',
active: '101',
},
{
label: '待分诊',
active: '22',
},
// {
// label: '待分诊',
// active: '22',
// },
{
label: '待匹配医生',
active: '23',
......@@ -389,7 +389,7 @@ export const TRIAGE_TAB_LIST = [
// active: '22'
// },
{
label: '待匹配',
label: '待分诊',
active: '2',
},
];
......@@ -421,7 +421,7 @@ export const MATCH_TAB_LIST = [
active: '99',
},
{
label: '已匹配',
label: '待联系',
active: '102',
},
{
......
......@@ -15,7 +15,8 @@ export const envConfig = {
qiniuImgUrl: 'https://test1-file.yunqueyi.com',
loginUrl: 'https://dev-saas.yunqueyi.com/pica-login/work_station.html',
// innerLoginUrl: 'http://localhost:8090/PICA_SSO_FE/html/pica_index.html',
innerLoginUrl: 'https://dev-sso.yunqueyi.com/PICA_SSO_FE/html/pica_login.html',
innerLoginUrl:
'https://dev-sso.yunqueyi.com/PICA_SSO_FE/html/pica_login.html',
yuequeyiIndexUrl: 'https://dev-saas.yunqueyi.com/pica_index.html',
phomeDemain: 'https://dev-phome.yunqueyi.com',
picakfAccId: 'picaop_dev',
......@@ -27,18 +28,20 @@ export const envConfig = {
qiniuResourceUrl: 'https://test1-videos.yunqueyi.com',
qiniuImgUrl: 'https://test1-file.yunqueyi.com',
loginUrl: 'https://dev-saas.yunqueyi.com/pica-login/work_station.html',
innerLoginUrl: 'https://dev-sso.yunqueyi.com/PICA_SSO_FE/html/pica_login.html',
innerLoginUrl:
'https://dev-sso.yunqueyi.com/PICA_SSO_FE/html/pica_login.html',
yuequeyiIndexUrl: 'https://dev-saas.yunqueyi.com/pica_index.html',
phomeDemain: 'https://dev-phome.yunqueyi.com',
picakfAccId: 'picaop_dev',
},
test: {
testing: {
baseUrl: 'https://test1-sc.yunqueyi.com',
qiniuFileUrl: 'https://test1-sc.yunqueyi.com/contents/admin/qiniu/token1',
qiniuResourceUrl: 'https://test1-videos.yunqueyi.com',
qiniuImgUrl: 'https://test1-file.yunqueyi.com',
loginUrl: 'https://test1.yunqueyi.com/pica-login/work_station.html',
innerLoginUrl: 'https://test1-sso.yunqueyi.com/PICA_SSO_FE/html/pica_login.html',
innerLoginUrl:
'https://test1-sso.yunqueyi.com/PICA_SSO_FE/html/pica_login.html',
yuequeyiIndexUrl: 'https://test1.yunqueyi.com/pica_index.html',
phomeDemain: 'https://test1-phome.yunqueyi.com',
picakfAccId: 'picaop_test',
......@@ -51,7 +54,8 @@ export const envConfig = {
qiniuImgUrl: 'https://test1-file.yunqueyi.com',
qiniuResourceUrl: 'https://test1-videos.yunqueyi.com',
loginUrl: 'https://uat.yunqueyi.com/pica-login/work_station.html',
innerLoginUrl: 'https://uat-sso.yunqueyi.com/PICA_SSO_FE/html/pica_login.html',
innerLoginUrl:
'https://uat-sso.yunqueyi.com/PICA_SSO_FE/html/pica_login.html',
yuequeyiIndexUrl: 'https://uat.yunqueyi.com/pica_index.html',
phomeDemain: 'https://uat-phome.yunqueyi.com',
picakfAccId: 'picaop_uat',
......@@ -66,5 +70,5 @@ export const envConfig = {
yuequeyiIndexUrl: 'https://www.yunqueyi.com/pica_index.html',
phomeDemain: 'https://phome.yunqueyi.com',
picakfAccId: 'picaop',
}
},
};
// api路径
import {isNotEmptyUtils} from './utils';
/* eslint-disable */
import { isNotEmptyUtils } from './utils';
export default async(url = '', data = {}, type = 'POST', method = 'fetch') => {
export default async (url = '', data = {}, type = 'POST', method = 'fetch') => {
type = type.toUpperCase();
// url = (server==='WECHAT'?wechatUrl:baseUrl) + url;
......@@ -12,7 +12,7 @@ export default async(url = '', data = {}, type = 'POST', method = 'fetch') => {
console.log('完整url:', url);
if (type == 'GET' && data) {
let dataStr = ''; // 数据拼接字符串
Object.keys(data).forEach(key => {
Object.keys(data).forEach((key) => {
dataStr += key + '=' + data[key] + '&';
});
......@@ -30,17 +30,22 @@ export default async(url = '', data = {}, type = 'POST', method = 'fetch') => {
// mode: "cors",
headers: {
// 'Access-Control-Allow-Origin': '*',
'Accept': '*',
Accept: '*',
'Content-Type': 'application/json',
'sysCode':'2'
sysCode: '2',
// 'token': localStorage.getItem('token') || null, //固定传header:
// 'system_code': 'todo' //固定传header:系统编号
},
};
if (type == 'POST' || type === 'PUT' || type === 'PATCH' || type === 'DELETE' && data) {
if (
type == 'POST' ||
type === 'PUT' ||
type === 'PATCH' ||
(type === 'DELETE' && data)
) {
Object.defineProperty(requestConfig, 'body', {
value: JSON.stringify(data)
value: JSON.stringify(data),
});
}
try {
......
import axios from 'axios';
import store from '../store';
// import { getHostnameAndPort } from '../utils'
// axios.defaults.withCredentials = true
......@@ -7,48 +6,45 @@ import store from '../store';
const service = axios.create({
// baseURL: process.env.BASE_API
timeout: 600000,
withCredentials: false
withCredentials: false,
});
// request拦截器
service.interceptors.request.use(config => {
service.interceptors.request.use(
(config) => {
config.headers['sysCode'] = 26;
config.headers['token'] = localStorage.getItem('token');
config.headers['deviceInfo'] = JSON.stringify({ 'app_channel': '', 'app_mac': '', 'app_uuid': '', 'app_version': '', 'device_brand': '', 'device_ip': '', 'device_model': '', 'device_net': '', 'device_ops': '', 'resolution_wh': '', 'system_level': '', 'device_type': '10' });
config.headers['deviceInfo'] = JSON.stringify({
app_channel: '',
app_mac: '',
app_uuid: '',
app_version: '',
device_brand: '',
device_ip: '',
device_model: '',
device_net: '',
device_ops: '',
resolution_wh: '',
system_level: '',
device_type: '10',
});
Object.assign(config.headers, config.changeHeader);
if (config.fileHeader) {
config.headers['Content-Type'] = 'application/x-www-form-urlencoded';
}
// if (config.data && config.data.setEntry) {
// config.headers['sysCode'] = config.data.sysCode || 10
// if(config.data.token){
// config.headers['token'] = config.data.token || '63C3FA92AF8A45A48B31EB7FD97B95EB'
// }
// config.headers['deviceInfo'] = JSON.stringify({ "app_channel": "", "app_mac": "", "app_uuid": "", "app_version": "", "device_brand": "", "device_ip": "", "device_model": "", "device_net": "", "device_ops": "", "resolution_wh": "", "system_level": "", "device_type": '10' })
// }
return config;
}, error => {
},
(error) => {
Promise.reject(error);
});
}
);
// respone拦截器
service.interceptors.response.use(
response => {
const res = response.data;
/*
baseUrl时,返回000000为成功
apiUrl时,返回200为成功
*/
// if (res.code !== '000000') {
// return Promise.reject(response.data)
// } else {
(response) => {
return response.data;
// }
},
error => {
(error) => {
return Promise.reject(error);
}
);
......
/**
* Created by Anndy Yang on 18/09/18.
*/
/* eslint-disable */
import { envConfig } from '@/utils/env-config';
export function setEventByModuleCode(itemData) {
const modeCode = itemData.appModuleInfo.code || '';
let paramList = itemData.appModuleInfo.paramList ? itemData.appModuleInfo.paramList : '';
let paramList = itemData.appModuleInfo.paramList
? itemData.appModuleInfo.paramList
: '';
if (modeCode === 'M001' || modeCode === 'M002' || modeCode === 'M003') {
paramList = '';
} else if (modeCode === 'M100' || modeCode === 'M300') {
const urlPara = getUrlParmByCode(paramList);
paramList[0] && (paramList[0].value += urlPara);
} else if (modeCode === 'M400') {
}
if (typeof paramList === 'string' && !paramList) {
paramList = [];
......@@ -84,18 +81,14 @@ export function arraySort(originData, isUp = true, sortedField, converFun) {
sourceB = converFun(sourceB[sortedField]);
}
}
// if(!sourceA || !sourceB) {
// sourceA = 0
// sourceB = 0
// }
if (isUp) {
if ((sourceA - 0) > (sourceB - 0)) {
if (sourceA - 0 > sourceB - 0) {
swap = sortedData[j];
sortedData[j] = sortedData[j + 1];
sortedData[j + 1] = swap;
}
} else {
if ((sourceA - 0) < (sourceB - 0)) {
if (sourceA - 0 < sourceB - 0) {
swap = sortedData[j];
sortedData[j] = sortedData[j + 1];
sortedData[j + 1] = swap;
......
此差异已折叠。
/* eslint-disable */
/* 浏览器兼容提示 */
export const CHECK_BROWSER_TIPS = {
BROWSER_NOT_COMPATIBLE: '您的浏览器不支持直播功能!',
BROWSER_NOT_SUPPORT_SCREEN_SHARE: '您的浏览器不支持直播功能!'
BROWSER_NOT_SUPPORT_SCREEN_SHARE: '您的浏览器不支持直播功能!',
};
export const setLgTenText = time => {
export const setLgTenText = (time) => {
return time < 10 ? `0${time}` : time;
};
......@@ -21,11 +22,13 @@ export const countDown = (endtime) => {
const nowtime = new Date(); // 获取当前时间
const time = endtime - nowtime.getTime(); // 距离结束时间的毫秒数
if (time > 0) {
const lefth = Math.floor(time / (1000 * 60 * 60) % 24); // 计算小时数
const leftm = Math.floor(time / (1000 * 60) % 60); // 计算分钟数
const lefts = Math.floor(time / 1000 % 60); // 计算秒数
const lefth = Math.floor((time / (1000 * 60 * 60)) % 24); // 计算小时数
const leftm = Math.floor((time / (1000 * 60)) % 60); // 计算分钟数
const lefts = Math.floor((time / 1000) % 60); // 计算秒数
// 返回倒计时的字符串
return `${setLgTenText(lefth)}:${setLgTenText(leftm)}:${setLgTenText(lefts)}`;
return `${setLgTenText(lefth)}:${setLgTenText(leftm)}:${setLgTenText(
lefts
)}`;
} else {
return '时间已到';
}
......@@ -34,20 +37,20 @@ export const countDown = (endtime) => {
export const laseTime = (endtime) => {
const nowtime = new Date(); // 获取当前时间
const time = endtime - nowtime.getTime(); // 距离结束时间的毫秒数
const lefth = Math.floor(time / (1000 * 60 * 60) % 24); // 计算小时数
const leftm = Math.floor(time / (1000 * 60) % 60); // 计算分钟数
const lefts = Math.floor(time / 1000 % 60); // 计算秒数
const lefth = Math.floor((time / (1000 * 60 * 60)) % 24); // 计算小时数
const leftm = Math.floor((time / (1000 * 60)) % 60); // 计算分钟数
const lefts = Math.floor((time / 1000) % 60); // 计算秒数
return {
lefth,
leftm,
lefts
lefts,
};
};
export const lastm = (startTime, endTime) => {
const time = endTime - startTime; // 距离结束时间的毫秒数
const lefth = Math.floor(time / (1000 * 60 * 60) % 24); // 计算小时数
const leftm = Math.floor(time / (1000 * 60) % 60); // 计算分钟数
const lefth = Math.floor((time / (1000 * 60 * 60)) % 24); // 计算小时数
const leftm = Math.floor((time / (1000 * 60)) % 60); // 计算分钟数
return lefth * 60 + leftm;
};
......@@ -69,7 +72,7 @@ export const listSort = (one, two, three, four, arr) => {
const a = h.sort(listCompare(three));
const b = a.sort(listCompare(two));
newList = b.sort(listCompare(one, 1));
newList.forEach(item => {
newList.forEach((item) => {
if (item.isCalling) {
callArr.push(item);
}
......@@ -80,7 +83,7 @@ export const listSort = (one, two, three, four, arr) => {
return {
newList,
callArr,
inviteArr
inviteArr,
};
};
......@@ -93,13 +96,21 @@ export const getBroswer = () => {
const sys = {};
const ua = navigator.userAgent.toLowerCase();
let s;
(s = ua.match(/edge\/([\d.]+)/)) ? sys.edge = s[1] :
(s = ua.match(/rv:([\d.]+)\) like gecko/)) ? sys.ie = s[1] :
(s = ua.match(/msie ([\d.]+)/)) ? sys.ie = s[1] :
(s = ua.match(/firefox\/([\d.]+)/)) ? sys.firefox = s[1] :
(s = ua.match(/chrome\/([\d.]+)/)) ? sys.chrome = s[1] :
(s = ua.match(/opera.([\d.]+)/)) ? sys.opera = s[1] :
(s = ua.match(/version\/([\d.]+).*safari/)) ? sys.safari = s[1] : 0;
(s = ua.match(/edge\/([\d.]+)/))
? (sys.edge = s[1])
: (s = ua.match(/rv:([\d.]+)\) like gecko/))
? (sys.ie = s[1])
: (s = ua.match(/msie ([\d.]+)/))
? (sys.ie = s[1])
: (s = ua.match(/firefox\/([\d.]+)/))
? (sys.firefox = s[1])
: (s = ua.match(/chrome\/([\d.]+)/))
? (sys.chrome = s[1])
: (s = ua.match(/opera.([\d.]+)/))
? (sys.opera = s[1])
: (s = ua.match(/version\/([\d.]+).*safari/))
? (sys.safari = s[1])
: 0;
if (sys.edge) return { broswer: 'Edge', version: sys.edge };
if (sys.ie) return { broswer: 'IE', version: sys.ie };
......
此差异已折叠。
此差异已折叠。
......@@ -31,6 +31,25 @@
/>
</el-form-item>
</div>
<div>
<el-form-item
label="问诊类型"
class="t-b"
>
<el-select
v-model="searchParam.type"
placeholder="请选择问诊类型"
style="width: 220px"
>
<el-option
v-for="item of consultationTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</div>
<div>
<el-form-item
label="分诊科室"
......@@ -57,6 +76,7 @@
:options="allTilst"
placeholder="选择科室"
:show-all-levels="false"
style="width: 220px"
@change="changeDepart"
>
<template slot-scope="{ data }">
......@@ -310,6 +330,26 @@
/>
</el-form-item>
</div>
<div>
<el-form-item
label="订单业务类型"
class="t-b"
>
<el-select
v-model="searchParam.consultRoad"
placeholder="请选择订单业务类型"
clearable
style="width: 220px"
>
<el-option
v-for="item of orderBusinessList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</div>
</div>
<div class="form-btn">
<div class="form-btn-li">
......@@ -402,6 +442,7 @@
@cancelRefund="cancelRefund"
@witeGo="witeGo"
@waitMatchDot="waitMatchDot"
@updateDepartId="updateDepartId"
@applyCancel="applyCancel"
@sendMessage="sendMessage"
@joinDiagnose="joinDiagnose"
......@@ -486,6 +527,16 @@
:department-id="departmentId"
@search="search"
/>
<!-- 修改科室 -->
<updateDeparId
v-if="diaUpdateDeIdVisible"
:dia-update-de-id-visible.sync="diaUpdateDeIdVisible"
:user-name="userName"
:user-name-phone="userNamePhone"
:diagnose-log-id="diagnoseLogId"
:triage-department="triageDepartment"
@search="search"
/>
<rematching-doctor
:rematching-options="rematchingOptions"
:rematching-visible.sync="rematchingVisible"
......@@ -547,6 +598,7 @@
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,
......@@ -561,6 +613,7 @@
DiagnosisTime,
RematchingDoctor,
applyCancelComponent,
updateDeparId,
},
data() {
return {
......@@ -579,6 +632,7 @@
tabrefresh: true,
searchParam: {
id: '',
type: '',
operateName: '',
assistantVal: '',
receptionVal: '',
......@@ -602,6 +656,7 @@
price: '',
refundRemark: '',
matchingWay: null,
consultRoad: null,
},
noteList: [],
alltabslist: [],
......@@ -610,6 +665,16 @@
sourceList: SOURCE_LIST,
priceList: ORDER_PRICE,
matchingWayList: MATCHING_LIST,
orderBusinessList: [
{
label: '中医实践',
value: 1,
},
{
label: '向上问诊',
value: 0,
},
],
tabpaneList: [],
rematchingOptions: [], // 备注信息
Raw_tabpaneList: [],
......@@ -624,6 +689,7 @@
followupVisible: false,
doctorVisible: false,
diagnosisVisible: false,
diaUpdateDeIdVisible: false,
coordinatingVisible: false,
diagnosisDoctorVisible: false,
diagnoseFlag: false,
......@@ -659,6 +725,24 @@
departmentId: '',
allTilst: [],
allList: {},
consultationTypeList: [
{
label: '全部',
value: '',
},
{
label: '名医问诊',
value: 2,
},
{
label: '极速问诊',
value: 1,
},
{
label: '-',
value: 0,
},
],
};
},
watch: {
......@@ -690,7 +774,6 @@
departmentAll() {
departmentAll().then((res) => {
if (res.code == '000000') {
console.log(res, 'res111');
this.allList = res.data || {};
this.showListALL();
}
......@@ -727,7 +810,6 @@
arr.push(obj);
});
console.log(arr);
this.allTilst = arr;
},
changeDepart() {
......@@ -737,10 +819,6 @@
} else {
this.searchParam.triageDepartmentId = '';
}
console.log(
this.searchParam.triageDepartmentId,
'this.searchParam.triageDepartmentId'
);
},
changeStartTime(time) {
this.rangeTimeData = time
......@@ -748,7 +826,6 @@
? new Date(time.time).format('yyyy-MM-dd hh:mm:ss')
: ''
: '';
console.log(this.rangeTimeData, 'this.rangeTimeData');
},
getTableData(val) {
this.saveTableData = val || [];
......@@ -1038,6 +1115,7 @@
this.assistantTime = '';
this.searchParam = Object.assign(this.searchParam, {
id: '',
type: '',
operateName: '',
assistantVal: '',
receptionVal: '',
......@@ -1058,6 +1136,7 @@
assistantBeginTime: '',
assistantEndTime: '',
inNewTimeObj: {},
consultRoad: null,
});
},
// 导出
......@@ -1118,21 +1197,28 @@
applyCancel(row) {
this.diagnoseLogId = row.diagnoseLogId;
this.dialogFormVisible = true;
console.log(row);
},
// 设为待匹配医生
waitMatchDot(row) {
console.log(row, 'doctorData111');
this.doctorData = row;
this.diagnoseLogId = row.diagnoseLogId;
this.userName = row.userName;
this.userNamePhone = row.userMobile;
this.triageDepartment = row.triageDepartment;
this.departmentId = row.departmentId;
this.departmentId = row.triageDepartmentId;
this.diagnosisTimeVisible = true;
this.bizType = 5;
// }
},
// 修改科室
updateDepartId(row) {
console.log(row);
this.diagnoseLogId = row.diagnoseLogId;
this.userName = row.userName;
this.userNamePhone = row.userMobile;
this.triageDepartment = row.triageDepartment;
this.diaUpdateDeIdVisible = true;
},
// 发送消息
sendMessage(row) {
this.$router.push({
......@@ -1199,7 +1285,6 @@
},
// 设为待确认时间
waitMatchTime(row) {
console.log(row, 'row');
this.doctorInfo = row;
this.rangeTimeData = row.assistantBeginTime;
this.diagnoseFlag = true;
......
......@@ -124,6 +124,12 @@
.show-work-set {
margin-top: 100px;
}
.maxNum-first-show {
margin-top: 20px;
.show-sep-num {
color: red;
}
}
.agment-left-con {
padding: 15px;
text-align: center;
......
<template>
<div class="diagnosis-list-content">
<div class="select-content screenSet">
<div class="title">
咨询订单管理后台
</div>
</div>
<div class="component-content screenSet">
<el-form
ref="form"
:inline="true"
:model="form"
label-width="180px"
>
<el-form-item label="订单变化(待问诊>问诊中)">
<el-input v-model="form.orderName" />
</el-form-item>
<el-form-item>
<el-button
type="primary"
@click="submitConfirm"
>
刷新
</el-button>
</el-form-item>
</el-form>
</div>
</div>
</template>
<script>
// 这个页面只是暂时的,等自动排班版本修改
import { getOrderNoFresh } from '@/api/serviceSchedule';
export default {
name: 'OrderStatusUpdate',
data() {
return {
form: {
orderName: '',
},
submitFlag: true,
};
},
mounted() {},
methods: {
submitConfirm() {
this.$confirm('是否要跟新订单状态?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
this.onSubmit();
});
},
onSubmit() {
if (this.form.orderName && this.submitFlag) {
this.submitFlag = false;
getOrderNoFresh(this.form.orderName).then((res) => {
let tipText = '';
if (res.code === '000000') {
tipText = '更新订单成功';
} else {
tipText = res.message;
}
this.form.orderName = '';
this.submitFlag = true;
this.$message({
message: tipText,
type: 'warning',
duration: 1000,
});
});
} else {
this.$message({
message: '请先输入订单id',
type: 'warning',
duration: 1000,
});
}
console.log(this.form);
},
init() {
console.log(11);
},
},
};
</script>
<style lang="scss" scoped>
.diagnosis-list-content {
.select-content {
margin-bottom: 10px;
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;
margin-bottom: 20px;
}
}
}
.select-bottom {
height: 50px;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
color: #0d9078;
}
.btn-wrap {
text-align: right;
}
.t-b {
margin-bottom: 10px;
}
}
.component-content {
height: 400px;
padding: 10px;
background: #fff;
overflow: hidden !important;
}
}
</style>
......@@ -6,7 +6,7 @@
<div class="header">
<el-breadcrumb separator="/">
<el-breadcrumb-item>首页</el-breadcrumb-item>
<el-breadcrumb-item> 服务排班表 </el-breadcrumb-item>
<el-breadcrumb-item> 医生排班总览 </el-breadcrumb-item>
</el-breadcrumb>
</div>
<div class="agment-box">
......@@ -68,7 +68,7 @@
查询
</el-button>
</div>
<div class="agmentSelect-select-right">
<!-- <div class="agmentSelect-select-right">
设置系统每小时接诊上限
<el-input-number
v-model="maxDiaNum"
......@@ -85,7 +85,7 @@
>
保存
</el-button>
</div>
</div> -->
</div>
<div
class="fullCalendar-show"
......@@ -191,7 +191,7 @@
watch: {},
created() {
this.departmentAll();
this.getPlatformUpper();
// this.getPlatformUpper();
},
mounted() {},
methods: {
......
<template>
<div
v-loading="loading"
style="width: 100%; position: relative; justifycontent: space-between"
>
<div class="header">
<el-breadcrumb separator="/">
<el-breadcrumb-item>首页</el-breadcrumb-item>
<el-breadcrumb-item> 服务排班表 </el-breadcrumb-item>
</el-breadcrumb>
</div>
<div class="agment-box">
<div class="setagment">
<div class="choose_around">
<span>选择要排班提醒的上级医生范围:</span>
<div class="showLevel">
<el-checkbox-group
v-model="checkList"
@change="handlecheckedProps"
>
<el-checkbox
v-for="item in levelList"
:key="item.id"
:label="item.id"
class="select-checkbox"
>
{{ item.name }}
</el-checkbox>
</el-checkbox-group>
</div>
</div>
<div class="agmentSelect-select-right">
设置系统每小时接诊上限:
<el-input-number
v-model="maxDiaNum"
:step="1"
:min="0"
:max="10000000"
step-strictly
@change="getInputNumber"
/>
<el-button
type="primary"
class="submit-btn"
@click="setPlatformUpper"
>
保存
</el-button>
</div>
</div>
</div>
</div>
</template>
<script>
import { setPlatformUpper, getPlatformUpper } from '@/api/serviceSchedule';
export default {
data() {
return {
levelList: [
{
id: 1,
name: '运营等级1',
},
{
id: 2,
name: '运营等级2',
},
{
id: 3,
name: '运营等级3',
},
{
id: 4,
name: '运营等级4',
},
{
id: 5,
name: '运营等级5',
},
],
checkList: [],
maxDiaNum: 0,
};
},
watch: {},
created() {
this.getPlatformUpper();
},
mounted() {},
methods: {
getPlatformUpper() {
getPlatformUpper().then((res) => {
if (res.code === '000000') {
this.maxDiaNum = res.data.count;
this.checkList = res.data.levelList;
}
});
},
setPlatformUpper() {
const param = {
count: this.maxDiaNum,
levelList: this.checkList,
};
setPlatformUpper(param).then((res) => {
if (res.code === '000000') {
this.$message.success('保存成功');
this.getPlatformUpper();
}
});
},
handlecheckedProps(val) {
console.log(val);
this.checkList = val || [];
},
},
};
</script>
<style lang="scss" scoped>
.header {
padding: 30px;
width: 100%;
}
.agment-box {
padding: 0 25px 25px 25px;
border-radius: 6px;
min-height: 700px;
// flex: 3.8;
width: 100%;
overflow: hidden;
.setagment {
min-height: 500px;
background: #fff;
padding: 30px 25px 50px 25px;
.choose_around {
display: flex;
span {
font-size: 16px;
}
.showLevel {
padding: 20px 20px 50px 20px;
.el-checkbox-group {
display: flex;
flex-direction: column;
.el-checkbox {
padding: 10px;
color: black;
}
}
}
}
.agmentSelect-select-right {
position: relative;
padding-top: 10px;
.el-input-number {
margin: 0 10px;
}
.submit-btn {
position: absolute;
left: 280px;
top: 100px;
padding: 10px 30px;
height: 32px;
background: #0d9078;
border-radius: 16px;
display: flex;
align-items: center;
}
}
}
}
</style>
......@@ -138,6 +138,7 @@
:total-rows="searchParam.totalRows"
:loading="loading"
:create-list="newCreateList"
:center-dialog-visible="centerDialogVisible"
@sortfunc="sortfunc"
@getServiceOpen="getServiceOpen"
@getWorkStatus="getWorkStatus"
......@@ -145,6 +146,7 @@
@handleSizeChange="handleSizeChange"
@handleCurrentChange="handleCurrentChange"
@addSchedule="addSchedule"
@setMaxNumValue="setMaxNumValue"
/>
</div>
</div>
......@@ -155,6 +157,36 @@
href=""
target="_blank"
/>
<el-dialog
:visible.sync="centerDialogVisible"
width="30%"
center
class="el-dialog-show"
>
<div class="set-agment-maxNum">
<div class="num-max">
<span class="hour-num-title">每小时接诊上限人数</span>
<div class="num-input-show">
<el-input-number
v-model="maxNumValue"
:min="0"
:max="20"
@change="getMaxNumValue"
/>
</div>
</div>
</div>
<span
slot="footer"
class="dialog-footer"
>
<el-button @click="centerDialogVisible = false">取 消</el-button>
<el-button
type="primary"
@click="submitSetData"
>确 定</el-button>
</span>
</el-dialog>
</div>
</template>
......@@ -165,7 +197,7 @@
workInStep,
getLevel,
} from '@/api/serviceSchedule';
import { departmentAll } from '@/api/diagnosis';
import { departmentAll, savePCDayCount } from '@/api/diagnosis';
import TableServiceSchedule from '@/components/list/table-serviceSchedule';
export default {
components: {
......@@ -227,6 +259,9 @@
newCreateList: [],
allTilst: [],
allList: {},
centerDialogVisible: false,
doctorInfo: {},
maxNumValue: '',
};
},
watch: {},
......@@ -403,20 +438,33 @@
this.search();
},
addSchedule(value, val) {
// this.ScheduleListShow = false;
// this.schedulingType = val;
const target = this.$refs.target;
const { origin } = window.location;
const u = `${origin}/consultation/pica-admin-consultation/addEditSchedule?type=${val}&doctorId=${value.doctorId}&id=${value.id}`;
target.setAttribute('href', u);
target.click();
},
// goBack(flag) {
// this.ScheduleListShow = true;
// if (flag) {
// this.search();
// }
// },
setMaxNumValue(value) {
this.doctorInfo = value;
this.maxNumValue = value.preNum;
this.centerDialogVisible = true;
},
// 每小时接诊上限人数
getMaxNumValue(value) {
this.maxNumValue = value;
},
submitSetData() {
const params = {
doctorId: this.doctorInfo.doctorId,
preNum: this.maxNumValue,
};
savePCDayCount(params).then((res) => {
if (res.code == '000000') {
this.centerDialogVisible = false;
this.search();
}
});
},
},
};
</script>
......@@ -541,6 +589,29 @@
}
}
}
.el-dialog-show {
.set-agment-maxNum {
.num-max {
text-align: center;
.hour-num-title {
font-size: 16px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #02120f;
}
.num-input-show {
padding-top: 10px;
.el-input {
width: 50%;
/deep/.el-input__inner {
border-radius: 20px;
text-align: center;
}
}
}
}
}
}
}
</style>
<style lang="scss">
......
......@@ -133,7 +133,7 @@
case 'development':
url = 'https://dev-sockets.yunqueyi.com';
break;
case 'test':
case 'testing':
url = 'https://test1-sockets.yunqueyi.com';
break;
case 'uat':
......@@ -181,8 +181,6 @@
color: #fff;
background: #06232c;
}
}
}
</style>
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册