Commit fd5b6b3c authored by 盖献康's avatar 盖献康

Merge remote-tracking branch 'origin/master'

parents deccee42 ca490953
# 页面标题
VUE_APP_TITLE = 萌宠医院信息管理平台
VUE_APP_TITLE = 百邦萌宠医院管理系统
# 开发环境配置
ENV = 'development'
......
# 开发使用的环境配置文件
# 页面标题
VUE_APP_TITLE = 萌宠医院信息管理平台
VUE_APP_TITLE = 百邦萌宠医院管理系统
# 生产环境配置
ENV = 'edit'
......
# 演示环境配置文件
# 页面标题
VUE_APP_TITLE = 萌宠医院信息管理平台
VUE_APP_TITLE = 百邦萌宠医院管理系统
# 生产环境配置
ENV = 'production'
......
# 页面标题
VUE_APP_TITLE = 萌宠医院信息管理平台
VUE_APP_TITLE = 百邦萌宠医院管理系统
NODE_ENV = production
......
# 测试环境配置文件
# 页面标题
VUE_APP_TITLE = 萌宠医院信息管理平台
VUE_APP_TITLE = 百邦萌宠医院管理系统
# 生产环境配置
ENV = 'test'
......
......@@ -118,7 +118,7 @@ export function addDrug(data) {
// 删除药品
export function deleteDrug(id) {
return request({
url: '/finance/stock/outbound/{id}' + id,
url: '/finance/stock/outbound/' + id,
method: 'delete'
})
}
......@@ -10,7 +10,7 @@ body {
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
font-family: Microsoft YaHei, Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
}
label {
......
......@@ -119,7 +119,8 @@ export default {
rules: {
// 文章标题判空校验
articleTitle: [
{ required: true, message: '请输入文章标题', trigger: 'change' }
{ required: true, message: '请输入文章标题', trigger: 'change' },
{ min: 2, message: '仅支持2~60位字符', trigger: 'blur' }
],
// 文章权重判空校验
articleWeight: [
......
......@@ -129,7 +129,8 @@ export default {
rules: {
// 文章标题判空校验
articleTitle: [
{ required: true, message: '请输入文章标题', trigger: 'change' }
{ required: true, message: '请输入文章标题', trigger: 'change' },
{ min: 2, message: '仅支持2~60位字符', trigger: 'blur' }
],
// 文章权重判空校验
articleWeight: [
......
......@@ -9,7 +9,7 @@
</div>
<el-row :gutter="14">
<el-col :span="6">
<div class="hospital_info_statistics hospital_info_statistics_ruzhu">
<div class="hospital_info_statistics hospital_info_statistics_ruzhu" style="">
<div style="display: flex;">
<div class="numberColor">{{ formatNum(hospitalInfoStatistics.enteredHospitalCount || 0) }}</div>
<div class="fontColor"></div>
......
......@@ -87,12 +87,14 @@
>新增设备
</el-button>
<el-button
v-hasPermi="['business:device:export']"
icon="el-icon-finished"
class="fourWordswhiteBtn"
@click="selectAll()"
>选择全部
</el-button>
<el-button
v-hasPermi="['business:device:export']"
icon="el-icon-back"
class="fourWordswhiteBtn"
@click="reverseSelect(deviceList)"
......@@ -126,7 +128,7 @@
</el-col>
</el-row>
<el-table ref="table" v-loading="loading" :data="deviceList" :header-cell-style="{ background:'#E8E9E8'}" :row-key="getRowKeys" @selection-change="handleSelectionChange">
<el-table ref="table" v-loading="loading" :data="deviceList" :header-cell-style="{ background:'#F4F4F4'}" :row-key="getRowKeys" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="47" align="center" :reserve-selection="true" />
<el-table-column type="index" label="序号" width="50" />
<el-table-column label="设备名称" align="left" prop="deviceName" show-overflow-tooltip />
......@@ -237,7 +239,7 @@
</el-table>
<pagination
v-show="total>0"
v-show="total>20"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
......@@ -295,21 +297,21 @@ export default {
collation: 'asc',
sortedColumn: '按创建日期正序',
nameColumn: 'e.create_time'
},
{
id: 3,
collation: 'desc',
sortedColumn: '按服务价格倒序',
nameColumn: 'e.service_price'
},
{
id: 4,
collation: 'asc',
sortedColumn: '按服务价格正序',
nameColumn: 'e.service_price'
}
// {
// id: 3,
// collation: 'desc',
// sortedColumn: '按服务价格倒序',
// nameColumn: 'e.service_price'
//
// },
// {
// id: 4,
// collation: 'asc',
// sortedColumn: '按服务价格正序',
// nameColumn: 'e.service_price'
//
// }
],
// 是否平台自有设备
......@@ -530,9 +532,14 @@ export default {
/** 查询设备列表 */
getList() {
this.loading = true
if (this.daterangeCreateTime !== '') {
console.log('this.daterangeCreateTime', this.daterangeCreateTime)
if (this.daterangeCreateTime !== '' && this.daterangeCreateTime !== null) {
console.log('通过')
this.queryParams.beginCheckTime = this.daterangeCreateTime + ' 00:00:00'
this.queryParams.endCheckTime = this.daterangeCreateTime + ' 23:59:59'
} else {
this.queryParams.beginCheckTime = ''
this.queryParams.endCheckTime = ''
}
// this.queryParams.isPrivate = this.isPrivate
listDevice(this.queryParams).then(response => {
......@@ -685,19 +692,32 @@ export default {
this.$modal.msgSuccess('删除成功')
}).catch(() => {})
},
// 导出日期格式化
exportFormatTime(date) {
// 获取年月日
var year = date.getFullYear()
var month = date.getMonth() + 1 // 月份从0开始,需要加1
var day = date.getDate()
// 将年月日格式化为字符串
if (month < 10) {
month = '0' + month
}
if (day < 10) {
day = '0' + day
}
const formattedDate = year.toString() + month.toString() + day.toString()
return formattedDate
},
/** 导出按钮操作 */
handleExport() {
// this.download('business/device/export', {
// ...this.queryParams
// }, `device_${new Date().getTime()}.xlsx`)
if (this.ids.length !== 0) {
const exportTable = {}
exportTable.deviceIdList = this.ids
this.download('business/device/export', exportTable, `use_${new Date().getTime()}.xlsx`).then(res => {
this.download('business/device/export', exportTable, `设备管理_${this.exportFormatTime(new Date())}.xlsx`).then(res => {
this.$refs.table.clearSelection()
})
} else {
this.$modal.msgError('请选择至少一条数据导出')
this.$modal.msgWarning('请选择至少一条数据导出')
return
}
}
......
......@@ -124,7 +124,7 @@
:data="recordList"
:header-cell-style="{background:'#F4F4F4'}"
@select="selectChange"
@selection-change="handleSelectionChange"
@select-all="selectChange"
>
<el-table-column align="center" type="selection" width="55" />
<el-table-column align="left" label="序号" min-width="80" show-overflow-tooltip type="index" />
......@@ -148,6 +148,11 @@
<span>{{ scope.row.ownerName || '-' }}</span>
</template>
</el-table-column>
<el-table-column align="left" label="宠主ID" prop="ownersId" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ scope.row.ownersId || '-' }}</span>
</template>
</el-table-column>
<el-table-column align="left" label="宠主手机号" prop="petOwnerPhone" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ scope.row.petOwnerPhone || '-' }}</span>
......@@ -245,6 +250,10 @@ export default {
},
data() {
return {
// 所有信息ID(选择全部-临时表)
ids: [],
// 所有挂号信息ID(用于辅助, 里面的数据永远不变, 除了 新增/删除 数据时)
idsForever: [],
showHospitalName: '',
doctorIdList: [],
// 所属科室下拉框字典写死
......@@ -263,8 +272,6 @@ export default {
departIdList: [],
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
......@@ -404,12 +411,9 @@ export default {
},
// 选择全部
checkAll() {
this.recordIds = this.recordIdsForever
// 标志位, 使得@select回调函数判断往哪个临时集合里添加
this.isCheckAll = true
this.ids = this.idsForever
// 调用手动勾选
this.manualCheck()
console.log('全部选择', this.isCheckAll)
},
// 手动勾选
manualCheck() {
......@@ -417,48 +421,33 @@ export default {
this.$nextTick().then(() => {
// 当前页结合数据的id只要在临时集合里,就使得复选框勾选
this.recordList.forEach(item => {
if (this.isCheckAll) {
if (this.recordIds.includes(item.id)) {
this.$refs.table.toggleRowSelection(item, true)
}
if (this.ids.includes(item.id)) {
this.$refs.table.toggleRowSelection(item, true)
} else {
if (this.registerEmptyIds.includes(item.id)) {
this.$refs.table.toggleRowSelection(item, true)
}
this.$refs.table.toggleRowSelection(item, false)
}
})
})
},
// 反向选择(把永久临时集合和变化的临时集合做减法重新赋给变化的临时集合赋给)
reverseSelection() {
console.log('永久的集合', this.recordIdsForever)
console.log('临时集合', this.registerEmptyIds)
if (this.isCheckAll) {
this.registerEmptyIds = this.recordIdsForever.filter(id => !this.recordIds.includes(id))
} else {
this.registerEmptyIds = this.recordIdsForever.filter(id => !this.registerEmptyIds.includes(id))
}
this.isCheckAll = false
this.getList()
const temp = []
this.idsForever.forEach(item => {
if (!this.ids.includes(item)) {
temp.push(item)
}
})
this.ids = temp
this.manualCheck()
},
// 表格当前手动勾选的
selectChange(selection, row) {
console.log('selectChange', selection, '----', row)
if (this.isCheckAll) {
// 判断当前选中的存不存在,存在删除;不存在添加
if (this.recordIds.includes(row.id)) {
this.recordIds = this.recordIds.filter(id => id !== row.id)
console.log('filter', this.recordIds.filter(id => id !== row.id))
} else {
this.recordIds.push(row.id)
console.log('selectChange', selection, '22234455555555555555555555555', row)
selection.forEach(item => {
if (!this.ids.some(idItem => idItem === item.id)) {
this.ids.push(item.id)
}
} else {
if (this.registerEmptyIds.includes(row.id)) {
this.registerEmptyIds = this.registerEmptyIds.filter(id => id !== row.id)
} else {
this.registerEmptyIds.push(row.id)
}
}
})
},
/** 功能按钮--导出按钮操作 */
......@@ -514,6 +503,7 @@ export default {
console.log('这是病历,我要开始取字段了!', this.recordList)
// 获取全部挂号的id
this.recordIds = response.rows.idList
this.idsForever = response.rows.idList
this.recordIdsForever = response.rows.idList
this.total = response.total
this.loading = false
......
......@@ -30,7 +30,7 @@
</el-select>
</el-form-item>
<el-form-item label="当前状态" prop="petSex">
<el-select v-model="queryParams.chooseStatus" clearable collapse-tags placeholder="请选择当前状态" @change="searchWard">
<el-select v-model="queryParams.chooseStatus" clearable collapse-tags placeholder="请选择病房当前状态" @change="searchWard">
<el-option
v-for="item in wardStatusList"
:key="item.value"
......@@ -52,11 +52,16 @@
:row-class-name="highlightRow"
:height="'50vh'"
>
<el-table-column label="病房类型" min-width="80" prop="wardType" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ scope.row.wardType === '1'?'普通病房':'ICU病房' || '-' }}</span>
</template>
</el-table-column>
<el-table-column label="病房号" min-width="80" prop="wardRuleId" align="center" show-overflow-tooltip />
<el-table-column label="当前状态" min-width="80" prop="chooseStatus" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span v-if="scope.row.chooseStatus==='0'" style="color:rgb(95,181,75) ">{{ wardStatusLabel(scope.row.chooseStatus) }}</span>
<span v-else style="color:red ">{{ wardStatusLabel(scope.row.chooseStatus) }}</span>
<span v-else style="color:#dfe6ec ">{{ wardStatusLabel(scope.row.chooseStatus) }}</span>
</template>
</el-table-column>
<el-table-column label="宠物昵称" min-width="80" prop="petNickname" align="center" show-overflow-tooltip>
......@@ -70,25 +75,27 @@
</template>
</el-table-column>
<el-table-column label="所在位置" min-width="80" prop="position" align="center" show-overflow-tooltip />
<el-table-column label="病房每日单价" min-width="80" align="center" show-overflow-tooltip>
<el-table-column label="标准价格" min-width="80" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span v-show="scope.row.wardType==='1'">{{ scope.row.ordinaryPrice || '-' }}</span>
<span v-show="scope.row.wardType==='2'">{{ scope.row.icuPrice || '-' }}</span>
<span v-if="scope.row.wardType==='1'">{{ moneyFormat(scope.row.ordinaryPrice) + '元/天' }}</span>
<span v-else-if="scope.row.wardType==='2'">{{ moneyFormat(scope.row.icuPrice )+ '元/天' }}</span>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column class-name="small-padding fixed-width" align="center" label="操作" min-width="150">
<template #default="{row}">
<el-button
v-if="row.chooseStatus==='0'"
icon="el-icon-document"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(95,181,75);"
type="success"
:disabled="row.chooseStatus !== '0'"
@click="selectComlum(row)"
>选择
</el-button>
<el-button
v-else
icon="el-icon-document"
plain
size="mini"
......@@ -108,18 +115,20 @@
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
:page-sizes="[10]"
@pagination="getWardList()"
/>
<div style="padding: 20px">
<el-button class="queryBtn" icon="el-icon-check" @click="submitForm">提交</el-button>
<el-button class="backBth" icon="el-icon-back" @click="goBack">返 回</el-button>
<el-button class="fourWordswhiteBtn" @click="goBack">取 消</el-button>
<el-button class="fourWordsBtn" @click="submitForm">确 定</el-button>
</div>
</el-dialog>
</template>
<script>
import { inHospitalWard, listWardUse } from '@/api/business/inHospital'
import { moneyFormat } from '../../../../utils'
export default {
name: 'HandlingAdmissions',
......@@ -145,7 +154,7 @@ export default {
// 病房类型信息
wardTypeList: [
{
value: 'null',
value: '',
label: '全部'
},
{
......@@ -187,6 +196,7 @@ export default {
this.getWardList()
},
methods: {
moneyFormat,
wardStatusLabel(value) {
if (value === '0') {
return '空闲'
......@@ -240,15 +250,19 @@ export default {
this.chooseWard.wardRuleId = row.wardRuleId
this.chooseWard.wardLeaderName = row.wardLeaderName
this.chooseWard.wardLeaderPhone = row.wardLeaderPhone
this.highlightedRowId = row.id
this.highlightedRowId = row.wardId
if (row.wardType === '2') {
this.chooseWard.standardAmount = row.icuPrice
} else if (row.wardType === '1') {
this.chooseWard.standardAmount = row.ordinaryPrice
}
},
highlightRow(row) {
return row.id === this.highlightedRowId ? 'highlight' : '' // 根据 ID 判断是否为高亮行
highlightRow(scope) {
if (scope.row.chooseStatus !== '0') {
return 'grey-row'
} else if (scope.row.wardId === this.highlightedRowId) {
return 'height-line'
}
},
// 去病历页面
goMedical(row) {
......@@ -271,10 +285,15 @@ export default {
}
</script>
<style scoped lang="scss">
.highlight {
background-color: #5FB54B; // 自定义高亮样式
<style>
.grey-row {
color:#dfe6ec !important;
}
.height-line{
background-color: rgba(85, 163, 67, 0.2) !important;
}
</style>
<style scoped lang="scss">
//模块tip样式--绿色
.tip-green {
width: 3px;
......@@ -283,3 +302,4 @@ export default {
border-radius: 10px 10px 10px 10px;
}
</style>
<template>
<el-dialog
title="办理出院"
:before-close="closeModle"
:close-on-click-modal="false"
:visible.sync="isShow"
......@@ -17,31 +18,31 @@
</div>
<div style="padding: 20px">
<el-form ref="queryForm" :model="inHospitalInfo" label-width="auto" size="small">
<el-form ref="queryForm" :rules="rules" :model="inHospitalInfo" label-width="auto" size="small">
<el-form-item label="出院情况" prop="dischargeStatus">
<el-input
v-model="inHospitalInfo.dischargeStatus"
v-model.trim="inHospitalInfo.dischargeStatus"
type="textarea"
placeholder="请输入出院遗嘱"
maxlength="30"
placeholder="请输入出院情况"
maxlength="400"
show-word-limit
width="100%"
:autosize="{ minRows: 4, maxRows: 7 }"
/>
</el-form-item>
<el-form-item label="出院嘱" prop="doctorAdvice">
<el-form-item label="出院嘱" prop="doctorAdvice">
<el-input
v-model="inHospitalInfo.doctorAdvice"
v-model.trim="inHospitalInfo.doctorAdvice"
type="textarea"
placeholder="请输入出院嘱"
maxlength="30"
placeholder="请输入出院嘱"
maxlength="400"
show-word-limit
width="100%"
:autosize="{ minRows: 4, maxRows: 7 }"
/>
</el-form-item>
<el-form-item label="出院结果" prop="result">
<el-select v-model="inHospitalInfo.result" clearable collapse-tags placeholder="请输入出院结果" width="80%">
<el-select v-model="inHospitalInfo.result" clearable collapse-tags placeholder="请选择出院结果" width="80%">
<el-option
v-for="item in resaultList"
:key="item.value"
......@@ -54,8 +55,8 @@
</div>
<div style="padding: 20px">
<el-button class="queryBtn" icon="el-icon-check" @click="submitForm">提交</el-button>
<el-button class="backBth" icon="el-icon-back" @click="goBack">返 回</el-button>
<el-button class="fourWordswhiteBtn" @click="goBack">取 消</el-button>
<el-button class="fourWordsBtn" @click="submitForm">确 定</el-button>
</div>
</el-dialog>
</template>
......@@ -81,6 +82,11 @@ export default {
},
data() {
return {
rules: {
dischargeStatus: [{ required: true, message: '请输入出院情况', trigger: 'blur' }],
doctorAdvice: [{ required: true, message: '请输入出院医嘱', trigger: 'blur' }],
result: [{ required: true, message: '请选择出院结果', trigger: 'change' }]
},
resaultList: [
{
value: '1',
......@@ -92,8 +98,17 @@ export default {
methods: {
// 返回按钮
goBack() {
// this.isShow = false
this.$emit('disChargModleClose', false)
this.$confirm('是否确认立即返回,返回后系统不再保存已填写内容!', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
customClass: 'box-logout',
cancelButtonClass: 'resetBtn',
confirmButtonClass: 'queryBtn'
}).then(() => {
// this.isShow = false
this.$emit('disChargModleClose', false)
})
},
closeModle() {
this.inHospitalInfo = {
......@@ -108,13 +123,19 @@ export default {
if (this.flag === '1') {
this.inHospitalInfo.hospitalDetails = this.inHospitalInfo.hosDetailBos
}
updateHospital(this.inHospitalInfo).then(res => {
this.$message({
showClose: true,
message: '已办理出院',
type: 'success'
})
this.$emit('disChargModleClose', false)
this.$refs['queryForm'].validate(valid => {
if (valid) {
updateHospital(this.inHospitalInfo).then(res => {
this.$message({
showClose: true,
message: '已办理出院',
type: 'success'
})
this.$emit('disChargModleClose', false)
})
} else {
return false
}
})
}
}
......@@ -126,4 +147,10 @@ export default {
::v-deep .el-textarea {
width: 100% !important;
}
.tip-green {
width: 3px;
height: 24px;
background: #5FB54B;
border-radius: 10px 10px 10px 10px;
}
</style>
......@@ -127,6 +127,7 @@
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
:pageSizes="[10]"
@pagination="getWardList()"
/>
......@@ -163,7 +164,7 @@ export default {
},
// 病房状态信息
wardStatusList: [{
value: 'null',
value: '',
label: '全部'
},
{
......
......@@ -352,7 +352,8 @@
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<div v-if="detailInfo.status<4">
<dict-tag v-if="scope.row.status" :options="dict.type.in_hospital_detail" :value="scope.row.status" />
<span v-if="scope.row.status === '3'" style="color:#ff9d4e ">已转出</span>
<span v-else-if="scope.row.status === '2'" style="color: #5bb647">住院中</span>
<span v-else>-</span>
</div>
<div v-else>
......@@ -389,7 +390,7 @@
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column label="当前额" align="center" prop="moneyFormat">
<el-table-column label="当前额" align="center" prop="moneyFormat">
<template slot-scope="scope">
<span>{{ moneyFormat(scope.row.amountAfterTrade)+'元' || '-' }}</span>
</template>
......@@ -401,7 +402,8 @@
<el-button v-show="detailInfo.status==='2'||detailInfo.status==='0'" v-hasPermi="['business:hospital:edit']" class="fourWordsBtn" icon="el-icon-check" @click="handAdmission">办理入院</el-button>
<el-button v-show="detailInfo.status==='3'" v-hasPermi="['business:hospital:edit']" class="fourWordsBtn" icon="el-icon-check" @click="handDisCharge">办理出院</el-button>
<el-button v-show="detailInfo.status==='3'" v-hasPermi="['business:hospital:edit']" class="fourWordsBtn" icon="el-icon-check" @click="changeWard">变更病房</el-button>
<el-button class="backBth" icon="el-icon-back" @click="goBack"> </el-button>
<el-button v-show="detailInfo.status==='3'" class="fourWordswhiteBtn" icon="el-icon-document-remove">查看入院单</el-button>
<el-button class="fourWordswhiteBtn" icon="el-icon-back" @click="goBack"> </el-button>
</div>
<div v-else style="padding: 20px;">
......
......@@ -113,82 +113,81 @@
>
<el-table-column type="selection" width="55" align="center" :reserve-selection="true" />
<el-table-column label="序号" type="index" align="left" />
<el-table-column label="病情等级" align="center" prop="diseaseLevel">
<el-table-column label="病情等级" align="left" prop="diseaseLevel">
<template slot-scope="scope">
<dict-tag v-if="scope.row.diseaseLevel" :options="dict.type.disease_level" :value="scope.row.diseaseLevel" />
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column label="宠物昵称" align="center" prop="petNickname" :show-overflow-tooltip="true">
<el-table-column label="宠物昵称" align="left" prop="petNickname" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.petNickname || '-' }}</span>
</template>
</el-table-column>
<el-table-column label="宠物保险" align="center" prop="insure" :show-overflow-tooltip="true">
<el-table-column label="宠物保险" align="left" prop="insure" :show-overflow-tooltip="true">
<template slot-scope="scope">
<dict-tag v-if="scope.row.insure" :options="dict.type.pet_insure" :value="scope.row.insure" />
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column label="宠主姓名" align="center" prop="petOwnersName" :show-overflow-tooltip="true">
<el-table-column label="宠主姓名" align="left" prop="petOwnersName" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.petOwnersName || '-' }}</span>
</template>
</el-table-column>
<el-table-column label="联系方式" align="center" prop="petOwnersPhone" min-width="80px" :show-overflow-tooltip="true">
<el-table-column label="联系方式" align="left" prop="petOwnersPhone" min-width="80px" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.petOwnersPhone || '-' }}</span>
</template>
</el-table-column>
<el-table-column label="主治兽医" align="center" prop="doctorName" :show-overflow-tooltip="true">
<el-table-column label="主治兽医" align="left" prop="doctorName" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.doctorName || '-' }}</span>
</template>
</el-table-column>
<el-table-column label="所属科室" align="center" prop="departmentName" :show-overflow-tooltip="true">
<el-table-column label="所属科室" align="left" prop="departmentName" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.departmentName || '-' }}</span>
</template>
</el-table-column>
<el-table-column label="病房负责人" align="center" prop="wardLeaderName" :show-overflow-tooltip="true">
<el-table-column label="病房负责人" align="left" prop="wardLeaderName" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.wardLeaderName || '-' }}</span>
</template>
</el-table-column>
<el-table-column label="入院日期" align="center" prop="admissionDate" :show-overflow-tooltip="true">
<el-table-column label="入院日期" align="left" prop="admissionDate" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.admissionDate, '{y}/{m}/{d}') || '-' }}</span>
</template>
</el-table-column>
<el-table-column label="入院天数" align="center" prop="actualDays" :show-overflow-tooltip="true">
<el-table-column label="入院天数" align="left" prop="actualDays" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.actualDays || '-' }}</span>
</template>
</el-table-column>
<el-table-column label="病房类型" align="center" prop="wardType" :show-overflow-tooltip="true">
<el-table-column label="病房类型" align="left" prop="wardType" :show-overflow-tooltip="true">
<template slot-scope="scope">
<dict-tag v-if="scope.row.wardType" :options="dict.type.ward_type" :value="scope.row.wardType" />
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column label="病房号" align="center" prop="wardRuleId" :show-overflow-tooltip="true">
<el-table-column label="病房号" align="left" prop="wardRuleId" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.wardRuleId || '-' }}</span>
</template>
</el-table-column>
<el-table-column label="押金金额" align="center" prop="deposit" :show-overflow-tooltip="true">
<el-table-column label="押金余额" align="left" prop="deposit" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ scope.row.deposit || '-' }}</span>
<span v-show="scope.row.deposit!==null"></span>
<span>{{ scope.row.deposit || '0.00' }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status" :show-overflow-tooltip="true">
<el-table-column label="状态" align="left" prop="status" :show-overflow-tooltip="true">
<template slot-scope="scope">
<dict-tag v-if="scope.row.status" :options="dict.type.hospital_status_in" :value="scope.row.status" />
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column label="出院日期" align="center" prop="dischargeDate" :show-overflow-tooltip="true">
<el-table-column label="出院日期" align="left" prop="dischargeDate" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.dischargeDate, '{y}/{m}/{d}') || '-' }}</span>
</template>
......@@ -205,8 +204,8 @@
@click="handleDetails(scope.row)"
>详情</el-button>
<el-button
v-hasPermi="['business:hospital:edit']"
v-if="scope.row.status==='2' || scope.row.status==='0'"
v-hasPermi="['business:hospital:edit']"
icon="el-icon-paperclip"
plain
size="mini"
......@@ -224,8 +223,8 @@
:disabled="true"
>办理入院</el-button>
<el-button
v-hasPermi="['business:hospital:edit']"
v-else-if="scope.row.status==='3'"
v-hasPermi="['business:hospital:edit']"
icon="el-icon-paperclip"
plain
size="mini"
......
......@@ -186,15 +186,15 @@
<span class="title-text" style="font-size: 16px;font-weight: bold;">检查进度</span>
</div>
<!-- 步骤条 -->
<!-- <div>-->
<!-- <el-steps :active="schedule" align-center>-->
<!-- <el-step title="开具处方单" :description="parseTime(checkDetail.createTime, '{y}-{m}-{d} {h}:{i}')" />-->
<!-- <el-step title="缴费开票" :description="parseTime(checkDetail.payTime, '{y}-{m}-{d} {h}:{i}') || '暂未缴费'" />-->
<!-- <el-step title="预约检查" :description="parseTime(checkDetail.checkStartTime, '{y}-{m}-{d} {h}:{i}') || '暂未预约'" />-->
<!-- <el-step title="检查获取报告" :description="parseTime(checkDetail.reportTime, '{y}-{m}-{d} {h}:{i}') || '暂未检查'" />-->
<!-- </el-steps>-->
<!-- </div>-->
<CheckSchedule :scheduleKey="scheduleKey" />
<!-- <div>-->
<!-- <el-steps :active="schedule" align-center>-->
<!-- <el-step title="开具处方单" :description="parseTime(checkDetail.createTime, '{y}-{m}-{d} {h}:{i}')" />-->
<!-- <el-step title="缴费开票" :description="parseTime(checkDetail.payTime, '{y}-{m}-{d} {h}:{i}') || '暂未缴费'" />-->
<!-- <el-step title="预约检查" :description="parseTime(checkDetail.checkStartTime, '{y}-{m}-{d} {h}:{i}') || '暂未预约'" />-->
<!-- <el-step title="检查获取报告" :description="parseTime(checkDetail.reportTime, '{y}-{m}-{d} {h}:{i}') || '暂未检查'" />-->
<!-- </el-steps>-->
<!-- </div>-->
<CheckSchedule :schedule-key="scheduleKey" />
<!-- 缴费信息 -->
<div class="title-paragraph">
<span class="title-text" style="font-size: 16px;font-weight: bold;">缴费信息</span>
......@@ -346,7 +346,7 @@
<el-row>
<el-col :span="8">
<el-form-item label="影像报告" label-width="84px">
<!-- <el-button v-show="checkDetail.shadowReport !== null && checkDetail.shadowReport !== ''" class="fourWordsBtn" @click="viewTheReport">查看报告</el-button>-->
<!-- <el-button v-show="checkDetail.shadowReport !== null && checkDetail.shadowReport !== ''" class="fourWordsBtn" @click="viewTheReport">查看报告</el-button>-->
<span v-if="checkDetail.shadowReport === null || checkDetail.shadowReport === ''">{{ '暂未上传' }}</span>
<el-link
v-else
......
......@@ -2,13 +2,13 @@
<!--进度信息模块封装-->
<div class="schedule-info">
<!-- 1--tip样式-->
<!-- <div class="progress-tip">-->
<!-- <div class="tip-green" />-->
<!-- <div-->
<!-- class="tip-content"-->
<!-- >进度信息-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="progress-tip">-->
<!-- <div class="tip-green" />-->
<!-- <div-->
<!-- class="tip-content"-->
<!-- >进度信息-->
<!-- </div>-->
<!-- </div>-->
<!-- 2--内容样式-->
<div class="progress-base">
<div class="display-base">
......
......@@ -19,6 +19,7 @@
placeholder="请输入宠物ID"
@keyup.enter.native="handleQuery"
@blur="handleQuery"
@clear="handleQuery"
/>
</el-form-item>
<div class="basicInformation">
......@@ -31,6 +32,7 @@
placeholder="请输入宠主姓名"
@keyup.enter.native="handleQuery"
@blur="handleQuery"
@clear="handleQuery"
/>
</el-form-item>
<el-form-item prop="phone" label="手机号">
......@@ -41,6 +43,7 @@
@keyup.enter.native="handleQuery"
@blur="handleQuery"
@input="handleInput"
@clear="handleQuery"
/>
</el-form-item>
</el-form>
......@@ -109,6 +112,7 @@
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
:pageSizes="[6,20,50]"
@pagination="getList"
/>
<div slot="footer" class="dialog-footer">
......@@ -166,7 +170,7 @@ export default {
queryParams: {
// 导出列表
pageNum: 1,
pageSize: 10,
pageSize: 6,
petCode: '',
ownerName: '',
phone: '',
......@@ -286,6 +290,8 @@ export default {
this.total = response.total
this.loading = false
})
} else {
this.petsList = []
}
}
}
......
......@@ -56,19 +56,18 @@
<div class="divider" />
<!--卡片中间部分-->
<div class="mid-bottom-framework">
<!-- <div-->
<!-- v-for="(pic,picIndex) in item.pictureUrl"-->
<!-- :key="`picIndex${picIndex}`"-->
<!-- class="mid-bottom"-->
<!-- >-->
<!-- <el-image-->
<!-- :src="baseURL+pic"-->
<!-- class="mid-bottom-inner"-->
<!-- fit="cover"-->
<!-- />-->
<!-- </div>-->
<!-- <div v-if="item.pictureUrl && item.pictureUrl.length === 0" class="mid-bottom-nobody">-->
<div class="mid-bottom-nobody">
<div
v-for="(pic,picIndex) in item.pictureUrl"
:key="`picIndex${picIndex}`"
class="mid-bottom"
>
<el-image
:src="baseURL+pic"
class="mid-bottom-inner"
fit="cover"
/>
</div>
<div v-if="item.pictureUrl && item.pictureUrl.length === 0" class="mid-bottom-nobody">
当前时段暂无等候中...
</div>
</div>
......@@ -201,10 +200,6 @@ export default {
/** 获取当日值班医生列表*/
this.getDoctorList()
},
created() {
/** 获取宠物信息 */
this.getDoctorList()
},
methods: {
/** 获取当日值班医生列表*/
getDoctorList() {
......
......@@ -54,7 +54,7 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="name" label="门诊诊费">
<el-form-item prop="name" label="门诊诊费">
<div style="display: flex;">
<el-input v-model="doctorForm.examinationFee" :disabled="true" maxlength="20" />
<div style="margin-left: 10px;"></div>
......
......@@ -163,7 +163,7 @@
<div class="single-file">
<el-form-item label="数量" prop="recipelNum">
<el-input-number
v-model="singleItem.recipelNum"
v-model.trim="singleItem.recipelNum"
:max="100"
:min="0"
controls-position="right"
......@@ -173,8 +173,9 @@
<div>
<el-form-item label="sig" prop="remark">
<el-input
v-model="singleItem.remark"
v-model.trim="singleItem.remark"
placeholder="请输入具体用法"
maxlength="30"
/>
</el-form-item>
</div>
......
......@@ -35,7 +35,6 @@
:data="petsList"
:header-cell-class-name="cellClass"
:header-cell-style="{background:'#F4F4F4'}"
border
row-key="id"
:height="'50vh'"
@selection-change="handleSelectionChange"
......@@ -49,7 +48,7 @@
<el-table-column label="总放号数" min-width="80" prop="allCount" show-overflow-tooltip />
<el-table-column label="剩余号数" min-width="80" prop="residueCount" show-overflow-tooltip />
<el-table-column
label="门诊诊费"
label="门诊诊费"
min-width="80"
prop="fees"
show-overflow-tooltip
......@@ -76,6 +75,7 @@
:limit.sync="queryParams.pageSize"
:page.sync="queryParams.pageNum"
:total="total"
:pageSizes="[11,20,50]"
@pagination="getRegisterMsg"
/>
<div slot="footer" class="dialog-footer" />
......@@ -141,16 +141,16 @@ export default {
mainDoctor: '',
firstVisit: '0',
pageNum: 1,
pageSize: 20
pageSize: 11
},
fristVisitOptions: [
{
label: '',
label: '首诊',
value: '0'
},
{
label: '',
label: '复诊',
value: '1'
}
]
......@@ -158,7 +158,6 @@ export default {
},
watch: {
doctorId(val) {
console.log('KKKK555555555KKKKKKK', val)
this.getRegisterMsg()
}
},
......
......@@ -30,7 +30,7 @@
<div v-if="scheduleKey.registrationTime!=null" class="status-on">
{{ parseTime(scheduleKey.registrationTime, '{y}/{m}/{d} {h}:{i}') }}
</div>
<div v-else class="status-off">暂未挂号</div>
<div v-else class="status-off">进行中</div>
</div>
</div>
<!-- 箭头指示-->
......
......@@ -29,7 +29,7 @@
<el-form-item label="宠物ID" prop="petsId">
<el-input
v-model="form.petsId"
placeholder="暂无数据"
placeholder="-"
:disabled="true"
maxlength="20"
/>
......@@ -41,7 +41,7 @@
v-model.trim="form.petNickname"
:disabled="!isEdit"
maxlength="10"
:placeholder="isEdit? '请输入宠物昵称' : '暂无数据'"
:placeholder="isEdit? '请输入宠物昵称' : '-'"
/>
</el-form-item>
</el-col>
......@@ -56,7 +56,7 @@
:disabled="!isEdit"
clearable
class="petBreed"
:placeholder="isEdit? '请选择宠物品种' : '暂无数据'"
:placeholder="isEdit? '请选择宠物品种' : '-'"
@change="changePetBreedId"
>
<el-option
......@@ -73,7 +73,7 @@
:disabled="!isEdit"
filterable
clearable
:placeholder="isEdit? '请选择宠物子品种' : '暂无数据'"
:placeholder="isEdit? '请选择宠物子品种' : '-'"
class="petChildBreed"
@change="changePetChildBreedId"
>
......@@ -92,7 +92,7 @@
v-model="form.petSex"
:disabled="!isEdit"
clearable
:placeholder="isEdit? '请选择宠物性别' : '暂无数据'"
:placeholder="isEdit? '请选择宠物性别' : '-'"
class="pet-sex"
>
<el-option
......@@ -111,7 +111,7 @@
:disabled="!isEdit"
:picker-options="pickerOptions"
clearable
:placeholder="isEdit? '请选择宠物生日' : '暂无数据'"
:placeholder="isEdit? '请选择宠物生日' : '-'"
type="date"
value-format="yyyy-MM-dd"
/>
......@@ -122,7 +122,7 @@
<el-form-item label="宠物体重" prop="petWeight">
<el-input
v-model.trim="form.petWeight"
:placeholder="isEdit? '请输入宠物体重' : '暂无数据'"
:placeholder="isEdit? '请输入宠物体重' : '-'"
maxlength="10"
:disabled="!isEdit"
>
......@@ -136,7 +136,7 @@
v-model.trim="form.petColor"
:disabled="!isEdit"
maxlength="10"
:placeholder="isEdit? '请输入宠物毛色' : '暂无数据'"
:placeholder="isEdit? '请输入宠物毛色' : '-'"
/>
</el-form-item>
</el-col>
......@@ -147,7 +147,7 @@
class="sterilization-status"
:disabled="!isEdit"
clearable
:placeholder="isEdit? '请选择宠物绝育情况' : '暂无数据'"
:placeholder="isEdit? '请选择宠物绝育情况' : '-'"
>
<el-option
v-for="(item, index) in dict.type.sterilization_status"
......@@ -165,7 +165,7 @@
class="vaccine-situation"
:disabled="!isEdit"
clearable
:placeholder="isEdit? '请选择宠物疫苗情况' : '暂无数据'"
:placeholder="isEdit? '请选择宠物疫苗情况' : '-'"
>
<el-option
v-for="(item, index) in dict.type.vaccine_situation"
......@@ -183,7 +183,7 @@
class="pet-insure"
:disabled="!isEdit"
clearable
:placeholder="isEdit? '请选择宠物是否已购保险' : '暂无数据'"
:placeholder="isEdit? '请选择宠物是否已购保险' : '-'"
>
<el-option
v-for="(item, index) in dict.type.pet_insure"
......@@ -205,7 +205,7 @@
<el-form-item label="宠主手机号" prop="masterPhone">
<el-input
v-model.trim="form.masterPhone"
:placeholder="isEdit? '请输入宠主手机号' : '暂无数据'"
:placeholder="isEdit? '请输入宠主手机号' : '-'"
:disabled="!isEdit"
maxlength="11"
@blur="checkOwner"
......@@ -223,7 +223,7 @@
<el-form-item label="宠主姓名">
<el-input
v-model.trim="form.nickName"
placeholder="暂无数据"
placeholder="-"
disabled
/>
</el-form-item>
......@@ -232,7 +232,7 @@
<el-form-item label="手机号">
<el-input
v-model.trim="form.phoneNumber"
placeholder="暂无数据"
placeholder="-"
disabled
/>
</el-form-item>
......@@ -241,7 +241,7 @@
<el-form-item label="用户ID">
<el-input
v-model.trim="form.ownersId"
placeholder="暂无数据"
placeholder="-"
disabled
/>
</el-form-item>
......@@ -250,7 +250,7 @@
<el-form-item label="创建日期">
<el-input
v-model.trim="form.createTime"
placeholder="暂无数据"
placeholder="-"
disabled
/>
</el-form-item>
......@@ -259,7 +259,7 @@
<el-form-item label="会员等级">
<el-input
v-model.trim="form.membershipLevel"
placeholder="暂无数据"
placeholder="-"
disabled
/>
</el-form-item>
......@@ -268,7 +268,7 @@
<el-form-item label="会员卡余额">
<el-input
v-model.trim="form.cardBalance"
placeholder="暂无数据"
placeholder="-"
disabled
/>
</el-form-item>
......@@ -277,7 +277,7 @@
<el-form-item label="绑定宠物数量">
<el-input
v-model.trim="form.petCount"
placeholder="暂无数据"
placeholder="-"
disabled
/>
</el-form-item>
......@@ -403,7 +403,11 @@ export default {
rules: {
// 宠物昵称非空校验
petNickname: [
{ required: true, message: '请输入宠物昵称', trigger: 'blur' }
{ required: true, message: '请输入宠物昵称', trigger: 'blur' },
{ pattern: /^[a-zA-Z0-9\u4e00-\u9fa5]+$/, message: '仅支持中英文数字', trigger: 'blur' }
],
petColor: [
{ pattern: /^[\u4e00-\u9fa5a-zA-Z]+$/, message: '仅支持中英文', trigger: 'blur' }
],
// 宠物性别非空校验
petSex: [
......@@ -424,7 +428,7 @@ export default {
// 宠物体重非空校验
petWeight: [
{ required: true, message: '请输入宠物体重', trigger: 'change' },
{ pattern: /^[0-9]+([.]{1}[0-9]{1,2}){0,1}$/, message: '请输入整数和小数(只保留小数点后两位)', trigger: 'blur' }
{ pattern: /^[0-9]+([.]{1}[0-9]{1,2}){0,1}$/, message: '仅支持数字、小数点(保留两位小数)', trigger: 'blur' }
],
// 绝育情况非空校验
sterilizationStatus: [
......
......@@ -186,14 +186,14 @@
<span class="title-text" style="font-size: 16px;font-weight: bold;">治疗进度</span>
</div>
<!-- 步骤条 -->
<!-- <div>-->
<!-- <el-steps :active="schedule" align-center>-->
<!-- <el-step title="开具处方单" :description="createTime" />-->
<!-- <el-step title="缴费开票" :description="checkDetail.payTime || '暂未缴费'" />-->
<!-- <el-step title="分配诊室" :description="checkDetail.consultRoomTime || '暂未预约'" />-->
<!-- <el-step title="治疗" :description="checkDetail.reportTime || '暂未治疗'" />-->
<!-- </el-steps>-->
<!-- </div>-->
<!-- <div>-->
<!-- <el-steps :active="schedule" align-center>-->
<!-- <el-step title="开具处方单" :description="createTime" />-->
<!-- <el-step title="缴费开票" :description="checkDetail.payTime || '暂未缴费'" />-->
<!-- <el-step title="分配诊室" :description="checkDetail.consultRoomTime || '暂未预约'" />-->
<!-- <el-step title="治疗" :description="checkDetail.reportTime || '暂未治疗'" />-->
<!-- </el-steps>-->
<!-- </div>-->
<TreatmentSchedule :schedule-key="scheduleKey" />
<!-- 缴费信息 -->
<div class="title-paragraph">
......@@ -334,7 +334,7 @@
<el-col :span="8">
<el-form-item label="治疗日志">
<span v-if="checkDetail.shadowReport===''||checkDetail.shadowReport===null">{{ '暂未上传' }}</span>
<!-- <el-button v-else class="fourWordsBtn" @click="viewTheReport">查看报告</el-button>-->
<!-- <el-button v-else class="fourWordsBtn" @click="viewTheReport">查看报告</el-button>-->
<el-link
v-else
:href="`${baseUrl}${checkDetail.shadowReport}`"
......@@ -426,12 +426,12 @@
</el-table-column>
<el-table-column align="left" label="治疗时长">
<template slot-scope="scope">
<span>{{ scope.row.useTimeRange || '-' }}</span>
<span>{{ minutesToHours(scope.row.duration)|| '-' }}</span>
</template>
</el-table-column>
<el-table-column prop="userName" align="left" label="治疗负责人">
<template slot-scope="scope">
<span>{{ scope.row.duration + 'h'|| '-' }}</span>
<span>{{ scope.row.person_name }}</span>
</template>
</el-table-column>
</el-table>
......@@ -737,6 +737,11 @@ export default {
this.getUserNameList()
},
methods: {
minutesToHours(minutes) {
var hours = Math.floor(minutes / 60) // 计算小时数
var remainingMinutes = minutes % 60 // 计算剩余的分钟数
return hours + '.' + remainingMinutes + 'h'
},
// 计算结束时间
calculateEndTime() {
if (this.reservationForm.startTime.length === 2 && this.reservationForm.duration) {
......
......@@ -205,7 +205,6 @@
size="mini"
icon="el-icon-orange"
:disabled="true"
@click="handleSubscribe(scope.row)"
>分配诊室</el-button>
</template>
</el-table-column>
......@@ -290,12 +289,12 @@
</el-table-column>
<el-table-column align="left" label="治疗时长">
<template slot-scope="scope">
<span>{{ scope.row.useTimeRange || '-' }}</span>
<span>{{ minutesToHours(scope.row.duration) }}</span>
</template>
</el-table-column>
<el-table-column prop="userName" align="left" label="治疗负责人">
<template slot-scope="scope">
<span>{{ scope.row.duration + 'h'|| '-' }}</span>
<span>{{ scope.row.person_name }}</span>
</template>
</el-table-column>
</el-table>
......@@ -575,6 +574,11 @@ export default {
// this.getTreatmentDropdown()
},
methods: {
minutesToHours(minutes) {
var hours = Math.floor(minutes / 60) // 计算小时数
var remainingMinutes = minutes % 60 // 计算剩余的分钟数
return hours + '.' + remainingMinutes + 'h'
},
sTimeValid(rule, value, callback) {
if (this.startTime.length === 0) {
callback(new Error('请选择开始时间'))
......@@ -688,11 +692,24 @@ export default {
this.reservationForm.consultRoomName = ''
this.appointmentRoomList = []
// 预约诊室
// 添加预约表单参数
this.reservationForm = {
id: '',
treatId: '',
treatSchedule: '',
consultRoomName: '',
consultId: '',
useDate: '',
treatEndTime: '',
treatStartTime: '',
useTimeRange: '',
treatType: '0',
userId: '',
userName: '',
startTime: [],
sTime: '',
eTime: ''
eTime: '-',
duration: ''
}
// 分配诊室搜索预约记录
this.allocationForm = {
......
......@@ -2,13 +2,13 @@
<!--进度信息模块封装-->
<div class="schedule-info">
<!-- 1--tip样式-->
<!-- <div class="progress-tip">-->
<!-- <div class="tip-green" />-->
<!-- <div-->
<!-- class="tip-content"-->
<!-- >进度信息-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="progress-tip">-->
<!-- <div class="tip-green" />-->
<!-- <div-->
<!-- class="tip-content"-->
<!-- >进度信息-->
<!-- </div>-->
<!-- </div>-->
<!-- 2--内容样式-->
<div class="progress-base">
<div class="display-base">
......
......@@ -7,7 +7,7 @@ function resolve(dir) {
const CompressionPlugin = require('compression-webpack-plugin')
const name = process.env.VUE_APP_TITLE || '萌宠医院信息管理平台' // 网页标题
const name = process.env.VUE_APP_TITLE || '百邦萌宠医院管理系统' // 网页标题
const port = 1099 // 端口
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment