fix: 2024年9月29日, 16点39分

This commit is contained in:
republicline 2024-09-29 16:39:16 +08:00
parent 3dd3a99f6c
commit 22820d1035
18 changed files with 80 additions and 91 deletions

View File

@ -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>

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -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',

View File

@ -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({

View File

@ -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)
}

View File

@ -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)

View File

@ -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
}

View File

@ -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))
})

View File

@ -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)
})

View File

@ -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"/>

View File

@ -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>

View File

@ -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>

View File

@ -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,

View File

@ -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()

View File

@ -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>-->
<!-- &lt;!&ndash; <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>&ndash;&gt;-->
<!-- <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 {

View File

@ -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>

View File

@ -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>

View File

@ -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({
}
}
})