mirror of
https://gitee.com/xiongmao1988/rax-medical.git
synced 2025-08-23 20:44:58 +08:00
fix: 2024年9月29日, 16点39分
This commit is contained in:
parent
3dd3a99f6c
commit
22820d1035
|
@ -4,6 +4,7 @@
|
|||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="referrer" content="no-referrer"/>
|
||||
<link rel="icon" type="image/x-icon" href="./public/favicon.ico">
|
||||
<title>瑞鞍星医疗科技</title>
|
||||
</head>
|
||||
<body>
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 3.2 KiB |
|
@ -58,10 +58,10 @@ export const constantRoute = [
|
|||
]
|
||||
},
|
||||
{
|
||||
path: '/remote-manage/remote-manage',
|
||||
name: '远程管理',
|
||||
path: '/remote-manage',
|
||||
name: '远程管理AA',
|
||||
component: () => import('@/views/remote-manage/index.vue'),
|
||||
// redirect: '/remote-manage/remote-manage',
|
||||
redirect: '/remote-manage/remote-manage',
|
||||
children: [
|
||||
{
|
||||
path: '/remote-manage/remote-manage',
|
||||
|
|
|
@ -99,14 +99,15 @@ export const getMenuData = () => {
|
|||
icon: '',
|
||||
route: '/remote-manage/remote-manage',
|
||||
type: '菜单',
|
||||
},{
|
||||
id: '4-2',
|
||||
menuName: '远程控制',
|
||||
order: 1,
|
||||
icon: '',
|
||||
route: '/patients-manage/surgery-info',
|
||||
type: '菜单',
|
||||
}
|
||||
// ,{
|
||||
// id: '4-2',
|
||||
// menuName: '远程控制',
|
||||
// order: 1,
|
||||
// icon: '',
|
||||
// route: '/patients-manage/surgery-info',
|
||||
// type: '菜单',
|
||||
// }
|
||||
]
|
||||
})
|
||||
menu.push({
|
||||
|
|
|
@ -329,7 +329,7 @@ export const useRemoteWsStore = defineStore("remoteWs", {
|
|||
patient.medicineWS.send(JSON.stringify({msgType: "heartbeat"}))
|
||||
}
|
||||
// 抛出信息用于vue页面监听msgType: getMedicine
|
||||
const shouldCallBackList=['pong','unityRequestConnection','unityResponseConnection',"getMedicine"]
|
||||
const shouldCallBackList=['pong','unityRequestConnection','unityResponseConnection',"getMedicine","connectionMsg"]
|
||||
if (shouldCallBackList.includes(data.msgType)) {
|
||||
cb(e)
|
||||
}
|
||||
|
|
|
@ -119,10 +119,10 @@ const getData = (date: any) => {
|
|||
let num = 0
|
||||
const start = new Date(currentMonth.value.getFullYear(), currentMonth.value.getMonth(), 1)
|
||||
const end = new Date(currentMonth.value.getFullYear(), currentMonth.value.getMonth() + 1, 0)
|
||||
medicineApi.getSurgeryCountM(dateFormater("yyyy-MM-dd", start), dateFormater("yyyy-MM-dd", end)).then(res => {
|
||||
medicineApi.getSurgeryCount(dateFormater("yyyy-MM-dd", start), dateFormater("yyyy-MM-dd", end)).then(res => {
|
||||
if (res.code == 0) {
|
||||
res.data.forEach((item: any) => {
|
||||
const time = "" + new Date(item.date).getDate()
|
||||
const time = "" + new Date(item._id).getDate()
|
||||
xData.push(time.padStart(2, "0"))
|
||||
data.push(item.count)
|
||||
num += Number(item.count)
|
||||
|
|
|
@ -94,14 +94,14 @@ const getData = (date: any) => {
|
|||
|
||||
const start = dateFormater("yyyy-MM-dd", new Date(currentMonth.value.getFullYear(), currentMonth.value.getMonth(), 1))
|
||||
const end = dateFormater("yyyy-MM-dd", new Date(currentMonth.value.getFullYear(), currentMonth.value.getMonth() + 1, 0))
|
||||
medicineApi.getSurgeryTypeProportionM(start, end).then(res => {
|
||||
medicineApi.getSurgeryTypeProportion(start, end).then(res => {
|
||||
if (res.code == 0) {
|
||||
res.data.forEach((item: any, i: number) => {
|
||||
const c = generateRandomColor()
|
||||
color.push(c)
|
||||
pieData.value.push({
|
||||
value: item.count,
|
||||
name: item.surgeryType,
|
||||
name: item._id,
|
||||
itemStyle: {
|
||||
color: c
|
||||
}
|
||||
|
|
|
@ -99,7 +99,7 @@ function initChart(chartData: any) {
|
|||
color: '#ffffff',
|
||||
textBorderColor: '#006080',
|
||||
textBorderWidth: 3,
|
||||
formatter: (params: any) => params.value.toFixed(0) + 'h' + Number((params.value % 1).toFixed(1)) * 60 + 'm'
|
||||
// formatter: (params: any) => params.value.toFixed(0) + 'h' + Number((params.value % 1).toFixed(1)) * 60 + 'm'
|
||||
},
|
||||
data: chartData.data[0]
|
||||
},
|
||||
|
@ -115,7 +115,7 @@ function initChart(chartData: any) {
|
|||
color: '#ffffff',
|
||||
textBorderColor: '#f8b300',
|
||||
textBorderWidth: 3,
|
||||
formatter: (params: any) => params.value.toFixed(0) + 'h' + Number((params.value % 1).toFixed(1)) * 60 + 'm'
|
||||
// formatter: (params: any) => params.value.toFixed(0) + 'h' + Number((params.value % 1).toFixed(1)) * 60 + 'm'
|
||||
},
|
||||
data: chartData.data[1]
|
||||
}],
|
||||
|
@ -139,10 +139,10 @@ const getData = (date: any) => {
|
|||
const weekDates = getWeekDates(currentMonth.value)
|
||||
const start = dateFormater("yyyy-MM-dd", weekDates.start)
|
||||
const end = dateFormater("yyyy-MM-dd", weekDates.end.setDate(weekDates.end.getDate() + 1))
|
||||
medicineApi.getSurgeryOtherDurationM(start, end).then(res => {
|
||||
medicineApi.getSurgeryOtherDuration(start, end).then(res => {
|
||||
if (res.code == 0) {
|
||||
res.data.forEach((item: any) => {
|
||||
xData.push(new Date(item.date))
|
||||
xData.push(new Date(item._id))
|
||||
data[0].push(Number(item.aicount))
|
||||
data[1].push(Number(item.doccount))
|
||||
})
|
||||
|
|
|
@ -114,14 +114,16 @@ const getData = (date: any) => {
|
|||
const start = dateFormater("yyyy-MM-dd", new Date(currentMonth.value.getFullYear(), currentMonth.value.getMonth(), 1))
|
||||
const end = dateFormater("yyyy-MM-dd", new Date(currentMonth.value.getFullYear(), currentMonth.value.getMonth() + 1, 0))
|
||||
|
||||
medicineApi.getSurgeryDurationM(start, end).then(res => {
|
||||
medicineApi.getSurgeryDuration(start, end).then(res => {
|
||||
const xData: any = []
|
||||
const data: any = []
|
||||
let num = 0
|
||||
if (res.code == 0) {
|
||||
res.data.forEach((item: any) => {
|
||||
const time = new Date(item.date).getDate() + ""
|
||||
xData.push(time.padStart(2, "0"))
|
||||
// const time = new Date(item.date).getDate() + ""
|
||||
// xData.push(time.padStart(2, "0"))
|
||||
const time = item._id
|
||||
xData.push(time)
|
||||
data.push(item.duration)
|
||||
num += Number(item.duration)
|
||||
})
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<LoginChart/>
|
||||
</div>
|
||||
<div class="search-part" v-show="isSearch">
|
||||
<div class="search-cell">
|
||||
<div class="search-cell" style="width: 200px">
|
||||
<span class="label">类型</span>
|
||||
<el-select v-model="queryParams.type" placeholder="请选择类型">
|
||||
<el-option v-for="item in Object.keys(logType)" :key="item" :label="logType[item]" :value="item"/>
|
||||
|
|
|
@ -39,6 +39,7 @@
|
|||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column property="hospitalName" label="医院" width="120" align="center"/>
|
||||
<el-table-column label="锁定" width="120" align="center">
|
||||
<template #default="scope">
|
||||
<span><el-switch v-model="scope.row.lockFlag" @click="enableChange(scope.row)"/></span>
|
||||
|
|
|
@ -11,11 +11,11 @@ const router = useRouter()
|
|||
const route = useRoute()
|
||||
|
||||
onMounted(async () => {
|
||||
const paths = route.path.split("/")
|
||||
const e: any = await useUserStore().getMenuChild("/" + paths[1])
|
||||
if (e && e.length > 0) {
|
||||
router.push(e[0].path)
|
||||
}
|
||||
// const paths = route.path.split("/")
|
||||
// const e: any = await useUserStore().getMenuChild("/" + paths[1])
|
||||
// if (e && e.length > 0) {
|
||||
// router.push(e[0].path)
|
||||
// }
|
||||
})
|
||||
|
||||
</script>
|
||||
|
|
|
@ -290,7 +290,7 @@ onUnmounted(() => {
|
|||
})
|
||||
watch(subscribeMedicineData,(newValue:any,oldValue:any)=>{
|
||||
if (newValue) {
|
||||
const {msgType,unityConnectionFlag}=newValue;
|
||||
const {msgType,unityConnectionFlag,msg}=newValue;
|
||||
switch (msgType) {
|
||||
case 'unityRequestConnection':
|
||||
const params: any = {
|
||||
|
@ -330,6 +330,8 @@ watch(subscribeMedicineData,(newValue:any,oldValue:any)=>{
|
|||
case 'pong':
|
||||
timeDiffPing.value=newValue.msg;
|
||||
break;
|
||||
case 'connectionMsg':
|
||||
ElMessage.info(msg)
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -415,29 +417,7 @@ const subscribeVital = () => {
|
|||
})
|
||||
}
|
||||
|
||||
const connectRemote = () => {
|
||||
//console.log("远程连接成功");
|
||||
|
||||
const ws = new WebSocket(`ws://110.41.142.124:6379/socket.io/admin/rax/addMedicine`)
|
||||
const openHandle = () => {
|
||||
whetherControl.value= true;
|
||||
console.log("ws连接成功啦")
|
||||
}
|
||||
const clostHandle = () => {
|
||||
console.log("ws关闭成功啦")
|
||||
}
|
||||
const messageHandle = () => {
|
||||
console.log("前端接受到的信息啦")
|
||||
}
|
||||
const errorHandle = () => {
|
||||
whetherControl.value= false;
|
||||
console.log("ws出错啦")
|
||||
}
|
||||
ws.addEventListener("open", openHandle)
|
||||
ws.addEventListener("clost", clostHandle)
|
||||
ws.addEventListener("message", messageHandle)
|
||||
ws.addEventListener("error", errorHandle)
|
||||
}
|
||||
const subscribeChat = () => {
|
||||
onChatClose()
|
||||
remoteWsStore.subscribeChat(currentRemote.value.patient, currentRemote.value.patientId, currentRemote.value.date, currentRemote.value.index,
|
||||
|
|
|
@ -56,7 +56,7 @@ onUnmounted(() => {
|
|||
})
|
||||
|
||||
const openRemote = (params: any) => {
|
||||
router.push('/remote-manage/remote-manage');
|
||||
router.push('/remote-manage');
|
||||
}
|
||||
const addLogAfter = (index: number) => {
|
||||
messageItemPartRef.value[index].scrollToBottom()
|
||||
|
|
|
@ -56,34 +56,34 @@
|
|||
|
||||
<el-divider border-style="dashed"/>
|
||||
|
||||
<div v-if="props.type != 'add'">
|
||||
<h3 class="main-color f20" style="margin: 10px 0 20px 0;">高级管理员</h3>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="用户" prop="manager.id">
|
||||
<el-select v-model="manager.id" filterable placeholder="请输入选择姓名"
|
||||
remote :remote-method="remoteSearchName">
|
||||
<el-option v-for="(item, index) in userOption" :key="'name-' + item.id"
|
||||
:label="item.name" :value="item.id" @click="selectNameChange(item)"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="电话" prop="manager.phone">
|
||||
<el-input v-model="manager.phone" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<!-- <el-col :span="12">
|
||||
<el-form-item label="姓名" prop="manager.name">
|
||||
<el-input v-model="manager.name" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>-->
|
||||
<el-col :span="12">
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<!-- <div v-if="props.type != 'add'">-->
|
||||
<!-- <h3 class="main-color f20" style="margin: 10px 0 20px 0;">高级管理员</h3>-->
|
||||
<!-- <el-row>-->
|
||||
<!-- <el-col :span="12">-->
|
||||
<!-- <el-form-item label="用户" prop="">-->
|
||||
<!-- <el-select v-model="manager.id" filterable placeholder="请输入选择姓名"-->
|
||||
<!-- remote :remote-method="remoteSearchName">-->
|
||||
<!-- <el-option v-for="(item, index) in userOption" :key="'name-' + item.id"-->
|
||||
<!-- :label="item.name" :value="item.id" @click="selectNameChange(item)"/>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- <el-col :span="12">-->
|
||||
<!-- <el-form-item label="电话" prop="manager.phone">-->
|
||||
<!-- <el-input v-model="manager.phone" disabled></el-input>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- </el-row>-->
|
||||
<!-- <el-row>-->
|
||||
<!-- <!– <el-col :span="12">-->
|
||||
<!-- <el-form-item label="姓名" prop="manager.name">-->
|
||||
<!-- <el-input v-model="manager.name" disabled></el-input>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>–>-->
|
||||
<!-- <el-col :span="12">-->
|
||||
<!-- </el-col>-->
|
||||
<!-- </el-row>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<div style="position: absolute;bottom: 50px;right: 50px;" v-if="type != 'view'">
|
||||
<el-button class="f18" @click="close">取消</el-button>
|
||||
|
@ -157,7 +157,7 @@ async function resetData(form?: any) {
|
|||
phone: '',
|
||||
}
|
||||
await getUserList(form.id);
|
||||
getHospitalAdmin(form.id);
|
||||
// getHospitalAdmin(form.id);
|
||||
form.selectedOptions = [form.province, form.city]
|
||||
formData.value = form;
|
||||
} else {
|
||||
|
@ -206,8 +206,9 @@ const saveData = () => {
|
|||
form.city = form.selectedOptions[1];
|
||||
if (props.type == "edit") {
|
||||
const hosRes: any = await hospitalApi.updateHospital(form)
|
||||
const manRes: any = await hospitalApi.saveHospitalManager(form.id, manager.value.id)
|
||||
if ((hosRes.code == 0 && hosRes.data) || (manRes.code == 0 && manRes.data)) {
|
||||
// const manRes: any = await hospitalApi.saveHospitalManager(form.id, manager.value.id)
|
||||
// manRes.code manRes.data
|
||||
if ((hosRes.code == 0 && hosRes.data)) {
|
||||
ElMessage.success("更新成功")
|
||||
close();
|
||||
} else {
|
||||
|
|
|
@ -23,9 +23,9 @@
|
|||
<el-table-column type="index" label="#" width="55" align="center"/>
|
||||
<el-table-column property="name" label="医院名称" width="200" align="center"/>
|
||||
<el-table-column property="code" label="编码" width="60" align="center"/>
|
||||
<el-table-column label="高级管理员" width="200" align="center">
|
||||
<template #default="scope">{{ scope.row.admin?.name }}</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column property="doctorName" label="高级管理员" width="200" align="center">-->
|
||||
<!-- <template #default="scope">{{ scope.row.admin?.name }}</template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column property="domain" label="域名" width="200" align="center"/>
|
||||
<el-table-column label="开始时间" width="200" align="center">
|
||||
<template #default="scope">{{ dateFormater('yyyy-MM-dd HH:mm', scope.row.startTime) }}</template>
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
:row-class-name="({ row }: any) => row.lockFlag == 1 && 'disable'" @row-click="tableRowClick">
|
||||
<!--<el-table-column type="selection" width="55"/>-->
|
||||
<el-table-column type="index" label="#" width="55" align="center" />
|
||||
<!--<el-table-column property="hospital" label="医院名称" width="200" align="center"/>-->
|
||||
<el-table-column property="name" label="姓名" width="120" align="center" />
|
||||
<el-table-column label="手机号" width="220" align="center">
|
||||
<template #default="scope">{{
|
||||
|
@ -32,6 +31,7 @@
|
|||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column property="hospitalName" label="医院名称" width="200" align="center"/>
|
||||
<el-table-column label="锁定" width="120" align="center">
|
||||
<template #default="scope">
|
||||
<span @click.stop>
|
||||
|
|
|
@ -24,16 +24,16 @@ export default defineConfig({
|
|||
proxy: {
|
||||
'/api': {
|
||||
// target: 'http://localhost:9999', // 目标服务器地址
|
||||
//target: 'http://localhost:6379', // 目标服务器地址
|
||||
target: 'http://110.41.142.124:6379', // 目标服务器地址
|
||||
target: 'http://localhost:6379', // 目标服务器地址
|
||||
// target: 'http://110.41.142.124:6379', // 目标服务器地址
|
||||
ws: true, // 是否启用 WebSocket
|
||||
changeOrigin: true, // 是否修改请求头中的 Origin 字段
|
||||
rewrite: (path) => path.replace(/^\/api/, ''),
|
||||
},
|
||||
'/socket.io': {
|
||||
// target: 'ws://localhost:9999',
|
||||
//target: 'ws://localhost:6379',
|
||||
target: 'ws://110.41.142.124:6379',
|
||||
target: 'ws://localhost:6379',
|
||||
// target: 'ws://110.41.142.124:6379',
|
||||
ws: true,
|
||||
changeOrigin: true,
|
||||
rewrite: (path) => path.replace(/^\/socket.io/, ''),
|
||||
|
@ -41,3 +41,6 @@ export default defineConfig({
|
|||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user