Commit 9858551c authored by 高滢's avatar 高滢

Merge remote-tracking branch 'origin/master'

parents bea72e34 6cf86be8
......@@ -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: [
......
......@@ -77,16 +77,16 @@
>反向选择
</el-button>
<!--批量导入-->
<!-- <el-button-->
<!-- v-hasPermi="['system:pets:export']"-->
<!-- class="fourWordsBtn"-->
<!-- size="mini"-->
<!-- @click="handleExport"-->
<!-- >-->
<!-- &lt;!&ndash; 导入svg文件&ndash;&gt;-->
<!-- <svg-icon icon-class="shaixuan_icon_daoru" />-->
<!-- 批量导入-->
<!-- </el-button>-->
<!-- <el-button-->
<!-- v-hasPermi="['system:pets:export']"-->
<!-- class="fourWordsBtn"-->
<!-- size="mini"-->
<!-- @click="handleExport"-->
<!-- >-->
<!-- &lt;!&ndash; 导入svg文件&ndash;&gt;-->
<!-- <svg-icon icon-class="shaixuan_icon_daoru" />-->
<!-- 批量导入-->
<!-- </el-button>-->
<!--批量导出-->
<el-button
v-hasPermi="['system:pets:export']"
......
......@@ -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>
......
......@@ -14,7 +14,7 @@
<el-row>
<el-col :span="8">
<el-form-item label="设备名称" prop="deviceName">
<el-input v-model.trim="form.deviceName" placeholder="请输入设备名称" style="width: 250px" />
<el-input v-model.trim="form.deviceName" placeholder="请输入设备名称" style="width: 250px" maxlength="20"/>
</el-form-item>
</el-col>
<el-col :span="8">
......@@ -24,7 +24,7 @@
</el-col>
<el-col :span="8">
<el-form-item v-if="isShow" label="平台自有设备">
<el-select v-model="form.isPrivate" disabled style="width: 250px" placeholder="请选择平台自有设备">
<el-select v-model="form.isPrivate" disabled class="inputWidth" placeholder="请选择平台自有设备">
<el-option
v-for="(item, index) in optionss"
:key="index"
......@@ -35,7 +35,7 @@
</el-form-item>
<el-form-item v-if="hpshow" label="医院自有设备">
<el-select v-model="form.isPrivate" disabled style="width: 250px" placeholder="请选择医院自有设备">
<el-select v-model="form.isPrivate" disabled class="inputWidth" placeholder="请选择医院自有设备">
<el-option
v-for="(item ,index) in optionss"
:key="index"
......@@ -50,17 +50,17 @@
<el-row>
<el-col :span="8">
<el-form-item label="负责人" prop="head">
<el-input v-model.trim="form.head" placeholder="请输入负责人" style="width: 250px" />
<el-input v-model.trim="form.head" placeholder="请输入负责人" class="inputWidth" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="手机号" prop="phone">
<el-input v-model.trim="form.phone" placeholder="请输入手机号" maxlength="11" style="width: 250px" />
<el-input v-model.trim="form.phone" placeholder="请输入手机号" maxlength="11" class="inputWidth" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="设备类型">
<el-select v-model="form.deviceType" style="width: 250px" placeholder="请选择设备类型">
<el-select v-model="form.deviceType" class="inputWidth" placeholder="请选择设备类型">
<el-option
v-for="(item,index) in dict.type.device_type"
:key="index"
......@@ -83,7 +83,7 @@
placeholder="请选择服务地点"
expand-trigger="hover"
clearable
style="width: 250px"
class="inputWidth"
@change="handleChangeCascader"
/>
</el-form-item>
......@@ -93,7 +93,7 @@
placeholder="请输入详细地址地址(街道、楼牌号等)"
maxlength="40"
clearable
style="width: 263%"
class="address"
/>
</el-form-item>
......@@ -119,7 +119,7 @@
<el-row>
<el-col :span="8">
<el-form-item label="预约方式" prop="reservationMethod">
<el-select v-model="form.reservationMethod" placeholder="请选择预约方式" style="width: 250px">
<el-select v-model="form.reservationMethod" placeholder="请选择预约方式" class="inputWidth">
<el-option
v-for="item in options"
:key="item.value"
......@@ -133,7 +133,7 @@
<el-form-item label="上午开始时间" prop="useTime.ams">
<el-time-select
v-model="form.useTime.ams"
style="width: 250px"
class="inputWidth"
is-range
placeholder="请选择上午开始时间"
format="HH:mm"
......@@ -151,7 +151,7 @@
<el-form-item label="上午结束时间" prop="useTime.ame">
<el-time-select
v-model="form.useTime.ame"
style="width: 250px"
class="inputWidth"
is-range
placeholder="请选择上午结束时间"
format="HH:mm"
......@@ -173,7 +173,7 @@
<el-form-item label="下午开始时间" prop="useTime.pms">
<el-time-select
v-model="form.useTime.pms"
style="width: 250px"
class="inputWidth"
is-range
placeholder="请选择下午开始时间"
format="HH:mm"
......@@ -191,7 +191,7 @@
<el-form-item label="下午结束时间" prop="useTime.pme">
<el-time-select
v-model="form.useTime.pme"
style="width: 250px"
class="inputWidth"
is-range
placeholder="请选择下午结束时间"
format="HH:mm"
......@@ -215,7 +215,7 @@
controls-position="right"
:min="0"
:max="9999"
style="width: 250px"
class="inputWidth"
@blur="handleBlur"
@keydown.native="keydown($event)"
/>
......@@ -859,5 +859,16 @@ export default {
::v-deep.time-select-item.selected:not {
background: #f6fcf5;
}
.address{
width: 570px;
}
.inputWidth{
width: 250px;
}
::v-deep.el-input-number.is-without-controls .el-input__inner {
//width: 100px;
line-height: 30px;
height: 28px;
}
</style>
......@@ -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)"
......@@ -112,13 +114,13 @@
@click="handleExport"
>批量导出
</el-button>
<!-- <el-button-->
<!-- v-if="userType==='00'"-->
<!-- class="fourWordsBtn"-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- @click="handlecheck"-->
<!-- >检查项目</el-button>-->
<!-- <el-button-->
<!-- v-if="userType==='00'"-->
<!-- class="fourWordsBtn"-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- @click="handlecheck"-->
<!-- >检查项目</el-button>-->
</el-col>
<el-col :span="12" style="padding-bottom: 20px;text-align: end;">
<el-button class="queryBtn" icon="el-icon-search" @click="handleQuery">查询</el-button>
......@@ -685,19 +687,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
}
}
......
......@@ -257,7 +257,7 @@ color: #333333;"
v-model="detailInfo.petOwnerBo.createTime"
clearable
disabled
:placeholder="isEdit? '请选择宠物生日' : '暂无数据'"
:placeholder="isEdit? '请选择创建日期' : '暂无数据'"
type="date"
value-format="yyyy/MM/dd"
format="yyyy/MM/dd"
......@@ -434,13 +434,13 @@ color: #333333;"
</el-col>
</el-row>
</el-form>
<!--7--用药信息-->
<!--7--药物处理-->
<div class="title-content">
<div class="title-left">
<div class="tip-green" />
<div
class="tip-text"
>用药信息
>药物处理
</div>
</div>
<el-button
......@@ -525,6 +525,15 @@ color: #333333;"
</span>
</template>
</el-table-column>
<el-table-column align="center" label="销售数量" prop="sallNum">
<template slot-scope="scope">
<span v-if="scope.row.inputShow">-</span>
<span v-else>
{{ scope.row.sallNum ? scope.row.sallNum + scope.row.sallUnit : '-' }}
</span>
</template>
</el-table-column>
<el-table-column align="center" label="取药状态" prop="status">
<template slot-scope="scope">
<span v-if="scope.row.inputShow">-</span>
......@@ -604,7 +613,7 @@ color: #333333;"
<div class="tip-green" />
<div
class="tip-text"
>检查信息
>辅助检查
</div>
</div>
<el-button
......@@ -689,15 +698,12 @@ color: #333333;"
}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="缴费状态" prop="payType">
<el-table-column align="center" label="检查设备" prop="checkSchedule">
<template slot-scope="scope">
<span v-if="scope.row.inputShow">-</span>
<dict-tag
v-else
:options="dict.type.payment_status"
:value="scope.row.payType"
class="content-style"
/>
<span v-else>
{{ scope.row.deviceName ? (scope.row.deviceName) : '-' }}
</span>
</template>
</el-table-column>
<el-table-column align="center" label="检查状态" prop="checkSchedule">
......@@ -718,12 +724,23 @@ color: #333333;"
</el-table-column>
<el-table-column align="center" label="检查报告" prop="shadowReport" show-overflow-tooltip>
<template slot-scope="scope">
<span v-if="scope.row.inputShow">-</span>
<span v-if="scope.row.inputShow || !scope.row.shadowReport">-</span>
<span v-else>
<el-link type="primary" @click="showShadowReport(scope.row.shadowReport)">{{ scope.row.shadowReport ? scope.row.shadowReport.split('/')[scope.row.shadowReport.split('/').length - 1] : '-' }}</el-link>
</span>
</template>
</el-table-column>
<el-table-column align="center" label="缴费状态" prop="payType">
<template slot-scope="scope">
<span v-if="scope.row.inputShow">-</span>
<dict-tag
v-else
:options="dict.type.payment_status"
:value="scope.row.payType"
class="content-style"
/>
</template>
</el-table-column>
<el-table-column
v-if="isEdit"
align="center"
......@@ -784,7 +801,7 @@ color: #333333;"
<div class="tip-green" />
<div
class="tip-text"
>治疗信息
>辅助治疗
</div>
</div>
<el-button
......@@ -860,7 +877,7 @@ color: #333333;"
<template slot-scope="scope">
<span v-if="scope.row.inputShow">-</span>
<span v-else>
{{ scope.row.treatStatus ? (scope.row.treatStatus === 3 ? '已检查' : '待检查') : '-' }}
{{ scope.row.treatStatus ? (scope.row.treatStatus === 3 ? '已治疗' : '待治疗') : '-' }}
</span>
</template>
</el-table-column>
......@@ -1482,8 +1499,10 @@ export default {
*/
showShadowReport(url) {
console.log(url)
this.isShowCheckReport = true
this.checkReportUrl = process.env.VUE_APP_TEST_API + url
if (url) {
this.isShowCheckReport = true
this.checkReportUrl = process.env.VUE_APP_TEST_API + url
}
},
/**
* @Description: 查看详情
......@@ -1633,21 +1652,24 @@ export default {
},
/** 根据检查类型获取检查项目列表*/
getCheckItemOptions(checkType, row) {
console.log('getCheckItemOptions', checkType, row)
listByType({ itemType: checkType }).then(res => {
this.checkItemOptions = res.rows.map(item => {
return {
label: item.name,
value: item.id,
payAmount: item.price
}
return new Promise(resolve => {
console.log('getCheckItemOptions', checkType, row)
listByType({ itemType: checkType }).then(res => {
this.checkItemOptions = res.rows.map(item => {
return {
label: item.name,
value: item.id.toString(),
payAmount: item.price
}
})
console.log('checkItemOptions!!!!!!!!!!!!!', this.checkItemOptions)
resolve()
})
console.log('checkItemOptions!!!!!!!!!!!!!', this.checkItemOptions)
if (row) {
row.checkItemsId = ''
row.checkItemsName = ''
}
})
if (row) {
row.checkItemsId = ''
row.checkItemsName = ''
}
},
/** 获取治疗项目列表*/
getTreatItemOptions(checkType) {
......@@ -1681,6 +1703,7 @@ export default {
console.log('这是我要传的checkSchedule的值:值 挂号时间 录入时间 病历时间 开具处方时间', response.data.registrationTime, response.data.diagnosisTime, response.data.reportTime, response.data.recipelTime)
// 修改时间格式
response.data.checkManageBos.forEach(item => {
item['checkItemsId'] = item.checkItemsId.toString()
item['inputShow'] = false
item['isAdd'] = false
})
......@@ -1713,12 +1736,16 @@ export default {
handleUpdate(index, tableData) {
// 每个表格只有一行可编辑
if (this.editCunt[tableData] === 0) {
this[tableData][index]['inputShow'] = true
console.log('UUUUUUUUUUUUUU', tableData, index, this[tableData][index])
this.editCunt[tableData] += 1
// 如果是检查表格需要根据检查类型查询检查项目
if (tableData === 'checkManageBos') {
this.getCheckItemOptions(this.checkManageBos[index].checkType)
this.getCheckItemOptions(this.checkManageBos[index].checkType).then(() => {
console.log('KKKKKKKKKKKKKKKKKKKKKKKK')
this[tableData][index]['inputShow'] = true
})
} else {
this[tableData][index]['inputShow'] = true
}
} else {
this.$message({
......
......@@ -11,7 +11,7 @@
label-width="68px"
size="small"
>
<el-form-item class="nick-style" style="padding-right: 15px;" prop="petNickname">
<el-form-item class="med-petNickname" prop="petNickname">
<el-input
v-model.trim="queryParams.medicalRecordNo"
clearable
......@@ -20,8 +20,8 @@
/>
</el-form-item>
<el-form-item v-if="!checkRole(['pt-admin'])" style=" margin-left: 3.25rem !important;" prop="hospitalName">
<el-select v-model="queryParams.hospitalName" clearable placeholder="所属医院">
<el-form-item v-if="!checkRole(['pt-admin'])" prop="hospitalName">
<el-select v-model="queryParams.hospitalName" :disabled="deptLevel === '2'" clearable placeholder="所属医院">
<el-option
v-for="item in HospitalList"
:key="item.hospitalId"
......@@ -30,10 +30,10 @@
/>
</el-select>
</el-form-item>
<el-form-item prop="doctorName">
<el-form-item prop="doctorIdList">
<el-select
v-if="!checkRole(['pt-admin'])"
v-model="queryParams.doctorIdList"
v-model="doctorIdList"
collapse-tags
multiple
clearable
......@@ -234,13 +234,19 @@
import { listRecord } from '@/api/business/record'
import { getDepartment, getDoctorment, getHospital } from '@/api/business/register'
import { checkRole } from '@/utils/permission'
import { mapGetters } from 'vuex'
export default {
name: 'MedicalRecordManagement',
// 数据字典
dicts: ['pet_insure'],
computed: {
...mapGetters(['deptLevel', 'deptId'])
},
data() {
return {
showHospitalName: '',
doctorIdList: [],
// 所属科室下拉框字典写死
departmentList: [],
// 所属科室下拉框字典写死
......@@ -287,7 +293,6 @@ export default {
nickname: null,
petOwnerNumber: null,
doctorIdList: [],
deptId: null,
departmentId: null,
diagnosticResults: null,
visitNumber: null,
......@@ -332,7 +337,6 @@ export default {
// 设置查询查询参数
// this.queryParams.createBy = user.userName
// 这三个一块走
this.getList()
this.getDoctorList()
this.getDeptList()
this.getHospitalList()
......@@ -365,9 +369,21 @@ export default {
/** 查询医生名字下拉*/
getHospitalList() {
getHospital().then(({ data }) => {
data = data.filter(({ deptId: hospitalDept }) => hospitalDept === this.user.deptId)
data = data.filter(({ deptId: hospitalDept, hospitalName: hosName }) => {
if (this.deptLevel === '2') {
if (hospitalDept === this.deptId) {
this.showHospitalName = hosName
return hospitalDept === this.deptId
} else {
return false
}
} else {
return true
}
})
this.HospitalList = data
console.log('这是我要的医院下拉框:', this.HospitalList)
this.getList()
})
},
......@@ -487,6 +503,10 @@ export default {
/** 查询病例管理列表 */
getList() {
this.loading = true
this.queryParams.doctorIdList = this.doctorIdList.join(',')
if (this.deptLevel === '2') {
this.queryParams.hospitalName = this.showHospitalName
}
listRecord(this.queryParams).then(response => {
console.log('这是我传的查询数据:', this.queryParams)
console.log('病历列表的数据:', response)
......@@ -556,7 +576,37 @@ export default {
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm('queryForm')
this.queryParams = {
orderByColumn: null,
isAsc: null,
// 排序方式声明
params: {
sort: null
},
pageNum: 1,
pageSize: 20,
petNickname: null,
nickname: null,
petOwnerNumber: null,
doctorIdList: [],
deptId: null,
departmentId: null,
diagnosticResults: null,
visitNumber: null,
visitTime: null,
visitOffice: null,
visitInformation: null,
orders: null,
medicationInformation: null,
petId: null,
petOwnerId: null,
doctorId: null,
petJson: null,
doctorJson: null,
ownerJson: null,
createBy: ''
}
this.doctorIdList = []
this.queryParams.isAsc = null
this.queryParams.isAsc = 'desc'
this.handleQuery()
......@@ -589,13 +639,12 @@ export default {
.form-style {
margin-bottom: 20px;
}
//搜索框病历框/昵称..宽度
.nick-style{
::v-deep .el-form-item nick-style el-form-item--small{
width: 18.625rem;
}
::v-deep .el-input__inner{
width: 18.625rem;
</style>
<style lang="scss">
.med-petNickname{
width: 270px;
.el-form-item__content, .el-input--small{
width: 100% !important;
}
}
</style>
......@@ -346,7 +346,7 @@
</el-table-column>
<el-table-column label="天数" align="center" prop="actualDays">
<template slot-scope="scope">
<span>{{scope.row.actualDays + '天' || '-' }}</span>
<span>{{ scope.row.actualDays + '天' || '-' }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status">
......@@ -391,16 +391,16 @@
</el-table-column>
<el-table-column label="当前余额" align="center" prop="moneyFormat">
<template slot-scope="scope">
<span>{{ moneyFormat(scope.row.amountAfterTrade)+'元' || '-'}}</span>
<span>{{ moneyFormat(scope.row.amountAfterTrade)+'元' || '-' }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div v-if="detailInfo.status<4" style="padding: 20px;">
<el-button v-hasPermi="['business:hospital:edit']" v-show="detailInfo.status==='2'||detailInfo.status==='0'" class="fourWordsBtn" icon="el-icon-check" @click="handAdmission">办理入院</el-button>
<el-button v-hasPermi="['business:hospital:edit']" v-show="detailInfo.status==='3'" class="fourWordsBtn" icon="el-icon-check" @click="handDisCharge">办理出院</el-button>
<el-button v-hasPermi="['business:hospital:edit']" v-show="detailInfo.status==='3'" class="fourWordsBtn" icon="el-icon-check" @click="changeWard">变更病房</el-button>
<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>
</div>
......
......@@ -186,14 +186,16 @@
<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>
<!-- <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 class="title-paragraph">
<span class="title-text" style="font-size: 16px;font-weight: bold;">缴费信息</span>
</div>
......@@ -230,8 +232,8 @@
<div style="padding-left: 10px;font-size: 16px;font-weight: bold;">预约信息</div>
<div style="margin-left: auto;padding-right: 50px;">
<el-button
v-hasPermi="['business:check:subscribe']"
v-show="checkDetail.deviceId === null && !isPlatRole"
v-hasPermi="['business:check:subscribe']"
class="fourWordsBtn"
@click="bookNow"
>立即预约</el-button>
......@@ -390,9 +392,11 @@
import { parseTime } from '@/utils/ruoyi'
import { updateCheck } from '@/api/business/mdeicalRecord'
import { getManage } from '@/api/business/manage'
import CheckSchedule from '@/views/service-management/medical-record-management/check-schedule.vue'
export default {
name: 'CheckDetail',
components: { CheckSchedule },
dicts: ['pet_sex', 'sterilization_status', 'vaccine_situation', 'check_type'],
data() {
return {
......@@ -433,7 +437,15 @@ export default {
value: '3',
label: '已检查'
}
]
],
// 进度条所需
scheduleKey: {
checkSchedule: '', // 查询进度
createTime: '', // 开具处方单
payTime: '', // 缴费开票
checkStartTime: '', // 预约检查
reportTime: '' // 检查报告获取
}
}
},
created() {
......@@ -446,15 +458,21 @@ export default {
methods: {
parseTime,
getCheckDetail() {
// const id = localStorage.getItem('checkId')
const id = this.$route.query.checkId
console.log('xddx', id)
getManage(id).then(response => {
console.log('od', response.data)
this.checkDetail = response.data
this.checkDetail.payAmount = this.keepTwoDecimals(this.checkDetail.payAmount)
this.checkDetail.devicePrice = this.keepTwoDecimals(this.checkDetail.devicePrice)
this.schedule = parseInt(this.checkDetail.checkSchedule) + 1
this.scheduleKey = {
checkSchedule: this.checkDetail.checkSchedule,
createTime: this.checkDetail.createTime,
payTime: this.checkDetail.payTime,
checkStartTime: this.checkDetail.checkStartTime,
reportTime: this.checkDetail.reportTime
}
console.log('scheduleKey', this.scheduleKey)
})
},
// 金额保留两位小数
......@@ -543,7 +561,7 @@ export default {
border-left: 5px solid #5FB54B;
.title-text {
margin-left: 0px;
margin-left: 10px;
}
}
.dialog-footer{
......
......@@ -55,9 +55,9 @@
>2.缴费开票
</div>
<div v-if="scheduleKey.payTime !== null" class="status-on">
{{ scheduleKey.diagnosisTime }}
{{ parseTime(scheduleKey.payTime, '{y}/{m}/{d} {h}:{i}') }}
</div>
<div v-else class="status-off">暂未录入</div>
<div v-else class="status-off">暂未缴费</div>
</div>
</div>
<!-- 箭头指示-->
......@@ -81,8 +81,10 @@
class="title"
>3.预约检查
</div>
<div v-if="scheduleKey.reportTime!=null" class="status-on">{{ scheduleKey.reportTime }}</div>
<div v-else class="status-off">暂未生成</div>
<div v-if="scheduleKey.checkStartTime !== null" class="status-on">
{{ parseTime(scheduleKey.checkStartTime, '{y}/{m}/{d} {h}:{i}') }}
</div>
<div v-else class="status-off">暂未预约</div>
</div>
</div>
<!-- 箭头指示-->
......@@ -106,8 +108,10 @@
class="title"
>4.检查获取报告
</div>
<div v-if="scheduleKey.recipelTime!=null" class="status-on">{{ scheduleKey.recipelTime }}</div>
<div v-else class="status-off">暂未开具</div>
<div v-if="scheduleKey.reportTime !== null" class="status-on">
{{ parseTime(scheduleKey.reportTime, '{y}/{m}/{d} {h}:{i}') }}
</div>
<div v-else class="status-off">暂未检查</div>
</div>
</div>
</div>
......@@ -118,7 +122,7 @@
<script>
export default {
name: 'ScheduleInfo',
name: 'CheckSchedule',
props: {
scheduleKey: {
type: Object
......
......@@ -200,8 +200,8 @@
placeholder="请选择检查日期"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
@change="changeDate"
:picker-options="pickerOptions"
@change="changeDate"
/>
</el-form-item>
</el-col>
......
......@@ -235,8 +235,8 @@
>详情
</el-button>
<el-button
v-hasPermi="['business:check:subscribe']"
v-if="!isPlatRole"
v-hasPermi="['business:check:subscribe']"
style="width: 80px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(255, 157, 78);color: #FF9D4E;background: rgba(255,157,78,0.08);"
size="mini"
type="success"
......@@ -298,8 +298,8 @@
placeholder="请选择检查日期"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
@change="changeDate"
:picker-options="pickerOptions"
@change="changeDate"
/>
</el-form-item>
</el-col>
......
......@@ -68,12 +68,12 @@
</el-table-column>
<el-table-column label="会员等级" min-width="80" prop="membershipLevel" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ scope.row.membershipLevel || '-' }}</span>
<span>{{ membershipLeveMap[scope.row.membershipLevel] || '-' }}</span>
</template>
</el-table-column>
<el-table-column label="会员卡余额" min-width="80" prop="balance" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ scope.row.balance || '0.00' }}</span>
<span>{{ moneyFormat(scope.row.balance) || '0.00' }}</span>
</template>
</el-table-column>
<el-table-column align="center" label="宠物昵称" min-width="80" prop="petNickname" show-overflow-tooltip>
......@@ -120,7 +120,7 @@
<script>
import { getPetInfo } from '@/api/business/registration'
import { deepClone } from '@/utils'
import { deepClone, moneyFormat } from '@/utils'
export default {
// 数据字典
......@@ -134,6 +134,14 @@ export default {
},
data() {
return {
// 会员等级下拉框
membershipLeveMap: {
'1': '一级会员',
'2': '二级会员',
'3': '三级会员',
'4': '四级会员',
'5': '五级会员'
},
chooseForm: {
petStatus: ''
},
......@@ -185,6 +193,7 @@ export default {
// this.getList()
},
methods: {
moneyFormat,
handleInput(value) {
const newValue = value.replace(/\s/g, '')
this.queryParams.phone = newValue
......
......@@ -588,7 +588,6 @@ export default {
},
// 选择已有宠物, 表单不可编辑
handleChoose() {
this.reSetPetForm()
this.isEdit = false
this.showPetModle = true
this.form.petStatus = '2'
......@@ -599,6 +598,7 @@ export default {
this.showPetModle = false
},
petChoose(chooseData) {
this.reSetPetForm()
console.log('chooseData', chooseData)
const petData = chooseData.petBo // 宠物信息
const petOwnerBo = chooseData.petOwnerBo // 宠主信息
......
......@@ -129,6 +129,7 @@
:header-cell-style="{background:'#F4F4F4'}"
:data="registerList"
@select="selectChange"
@select-all="selectChange"
>
<el-table-column align="center" type="selection" width="55" />
<el-table-column align="left" label="序号" min-width="55" prop="index" show-overflow-tooltip type="index" />
......@@ -296,6 +297,8 @@ export default {
loading: true,
// 选中数组
ids: [],
// 所有挂号信息ID(用于辅助, 里面的数据永远不变, 除了 新增/删除 数据时)
idsForever: [],
// 非单个禁用
single: true,
// 非多个禁用
......@@ -388,6 +391,7 @@ export default {
// 获取全部挂号的id
this.registerIds = response.rows.idList
this.registerIdsForever = response.rows.idList
this.idsForever = response.rows.idList
console.log('这是我要调的挂号列表内容:', this.registerList)
this.total = response.total
this.loading = false
......@@ -473,12 +477,9 @@ export default {
// 选择全部
checkAll() {
this.registerIds = this.registerIdsForever
// 标志位, 使得@select回调函数判断往哪个临时集合里添加
this.isCheckAll = true
this.ids = this.idsForever
// 调用手动勾选
this.manualCheck()
console.log('全部选择', this.isCheckAll)
},
// 手动勾选
manualCheck() {
......@@ -486,54 +487,36 @@ export default {
this.$nextTick().then(() => {
// 当前页结合数据的id只要在临时集合里,就使得复选框勾选
this.registerList.forEach(item => {
if (this.isCheckAll) {
if (this.registerIds.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.registerIdsForever)
console.log('临时集合', this.registerEmptyIds)
if (this.isCheckAll) {
this.registerEmptyIds = this.registerIdsForever.filter(id => !this.registerIds.includes(id))
} else {
this.registerEmptyIds = this.registerIdsForever.filter(id => !this.registerEmptyIds.includes(id))
}
this.isCheckAll = false
this.getList()
const temp = []
this.registerList.forEach(item => {
console.log(this.ids.includes(item.id))
if (!this.ids.includes(item.id)) {
temp.push(item.id)
}
})
this.ids = temp
this.manualCheck()
},
// 表格当前手动勾选的
// 表格当前手动勾选的
selectChange(selection, row) {
console.log('selectChange', selection, '----', row)
if (this.isCheckAll) {
// 判断当前选中的存不存在,存在删除;不存在添加
if (this.registerIds.includes(row.id)) {
this.registerIds = this.registerIds.filter(id => id !== row.id)
console.log('filter', this.registerIds.filter(id => id !== row.id))
} else {
this.registerIds.push(row.id)
}
} else {
if (this.registerEmptyIds.includes(row.id)) {
this.registerEmptyIds = this.registerEmptyIds.filter(id => id !== row.id)
} else {
this.registerEmptyIds.push(row.id)
}
}
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
console.log('this.ids', this.ids)
const temp = []
selection.forEach(item => {
temp.push(item.id)
})
this.ids = temp
},
/** 功能按钮--导出按钮操作 */
handleExport() {
if (this.ids.length !== 0) {
......
......@@ -164,7 +164,7 @@
<el-col :span="8">
<el-form-item label="用户ID">
<el-input
v-model="checkDetail.petsId"
v-model="checkDetail.ownersId"
class="input-detail"
placeholder="暂无数据"
disabled
......@@ -186,14 +186,16 @@
<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">
<span class="title-text" style="font-size: 16px;font-weight: bold;">缴费信息</span>
</div>
......@@ -573,9 +575,11 @@ import {
useRecordList, userNameList
} from '@/api/business/treatment'
import { parseTime } from '@/utils/ruoyi'
import TreatmentSchedule from '@/views/service-management/treatment-management/treatment-schedule.vue'
export default {
name: 'TreatmentDetail',
components: { TreatmentSchedule },
dicts: ['pet_sex', 'sterilization_status', 'vaccine_situation', 'check_type', 'treat_type'],
data() {
return {
......@@ -713,7 +717,15 @@ export default {
]
},
// 使用记录分页
useTotal: 0
useTotal: 0,
// 进度条所需
scheduleKey: {
checkSchedule: '', // 查询进度
createTime: '', // 开具处方单
payTime: '', // 缴费开票
consultRoomTime: '', // 预约检查
reportTime: '' // 检查报告获取
}
}
},
created() {
......@@ -951,6 +963,13 @@ export default {
console.log('详情', res)
this.schedule = parseInt(res.data.treatSchedule) + 1
this.treatSchedule = parseInt(this.checkDetail.treatSchedule) + 1
this.scheduleKey = {
checkSchedule: this.checkDetail.treatSchedule,
createTime: this.checkDetail.createTime,
payTime: this.checkDetail.payTime,
consultRoomTime: this.checkDetail.consultRoomTime,
reportTime: this.checkDetail.reportTime
}
if (this.checkDetail.treatStartTime !== '' && this.checkDetail.treatStartTime !== null) {
const dateString = this.checkDetail.treatStartTime.toLocaleString()
this.treatStartDate = dateString.substr(0, 10)
......
<template>
<!--进度信息模块封装-->
<div class="schedule-info">
<!-- 1--tip样式-->
<!-- <div class="progress-tip">-->
<!-- <div class="tip-green" />-->
<!-- <div-->
<!-- class="tip-content"-->
<!-- >进度信息-->
<!-- </div>-->
<!-- </div>-->
<!-- 2--内容样式-->
<div class="progress-base">
<div class="display-base">
<!-- 1--单个的背景,,后面按状态位切换样式-->
<div :class="[scheduleKey.checkSchedule === '0'? 'bkg-on' : 'bkg-off']">
<!--1.预约/现场挂号-->
<div
class="content-inner"
>
<div
class="avatar"
>
<el-image :src="require('@/assets/register/xinzengguahao_yuyue@2x.png')" />
</div>
<div
class="title"
>1.开具处方单
</div>
<div v-if="scheduleKey.createTime !== null" class="status-on">
{{ parseTime(scheduleKey.createTime, '{y}/{m}/{d} {h}:{i}') }}
</div>
<div v-else class="status-off">暂未开具处方单</div>
</div>
</div>
<!-- 箭头指示-->
<div class="arrow">
<el-image :src="require('@/assets/register/xinzengguahao_jaintou@2x.png')" />
</div>
<!-- 2--单个的背景,,后面按状态位切换样式-->
<div
:class="[scheduleKey.checkSchedule === '1'? 'bkg-on' : 'bkg-off']"
>
<!--2.录入诊断信息-->
<div
class="content-inner"
>
<div
class="avatar"
>
<el-image :src="require('@/assets/register/xinzengguahao_luru@2x.png')" />
</div>
<div
class="title"
>2.缴费开票
</div>
<div v-if="scheduleKey.payTime !== null" class="status-on">
{{ parseTime(scheduleKey.payTime, '{y}/{m}/{d} {h}:{i}') }}
</div>
<div v-else class="status-off">暂未缴费</div>
</div>
</div>
<!-- 箭头指示-->
<div class="arrow">
<el-image :src="require('@/assets/register/xinzengguahao_jaintou@2x.png')" />
</div>
<!-- 3--单个的背景,,后面按状态位切换样式-->
<div
:class="[scheduleKey.checkSchedule === '2'? 'bkg-on' : 'bkg-off']"
>
<!--3.生成病历报告-->
<div
class="content-inner"
>
<div
class="avatar"
>
<el-image :src="require('@/assets/register/xinzengguahao_shengchengbaogao@2x.png')" />
</div>
<div
class="title"
>3.分配诊室
</div>
<div v-if="scheduleKey.consultRoomTime !== null" class="status-on">
{{ parseTime(scheduleKey.consultRoomTime, '{y}/{m}/{d} {h}:{i}') }}
</div>
<div v-else class="status-off">暂未预约</div>
</div>
</div>
<!-- 箭头指示-->
<div class="arrow">
<el-image :src="require('@/assets/register/xinzengguahao_jaintou@2x.png')" />
</div>
<!-- 4--单个的背景,,后面按状态位切换样式-->
<div
:class="[scheduleKey.checkSchedule === '3'? 'bkg-on' : 'bkg-off']"
>
<!--4.开具处方单-->
<div
class="content-inner"
>
<div
class="avatar"
>
<el-image :src="require('@/assets/register/xinzengguahao_kaichuangfdan@2x.png')" />
</div>
<div
class="title"
>4.治疗
</div>
<div v-if="scheduleKey.reportTime !== null" class="status-on">
{{ parseTime(scheduleKey.reportTime, '{y}/{m}/{d} {h}:{i}') }}
</div>
<div v-else class="status-off">暂未治疗</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'TreatmentSchedule',
props: {
scheduleKey: {
type: Object
},
data() {
return {}
}
}
}
</script>
<style lang="scss" scoped>
.schedule-info {
/*模块tip布局*/
.progress-tip {
display: flex;
/*模块tip图形样式--左绿色*/
.tip-green {
width: 3px;
height: 24px;
background: #5FB54B;
border-radius: 10px 10px 10px 10px;
}
/*模块tip内容样式*/
.tip-content {
padding-left: 13px;
font-size: 16px;
font-family: Microsoft YaHei-Bold, Microsoft YaHei, serif;
font-weight: bold;
color: #333333;
}
}
//进度条整体框架边距
.progress-base {
padding-top: 50px;
padding-bottom: 50px;
//进度条排列方向及顺序布局
.display-base {
display: flex;
//当前触发的背景样式
.bkg-on {
width: 260px;
height: 143px;
background: #F1F9EF;
border-radius: 4px 4px 4px 4px;
opacity: 1;
}
//当前未触发的背景样式
.bkg-off {
width: 260px;
height: 143px;
background: #FFFFFF;
border-radius: 4px 4px 4px 4px;
opacity: 1;
border: 1px solid #5FB54B;
}
//箭头样式
.arrow {
height: 13px;
width: 104px;
margin: 65px 22px 65px 22px;
}
//状态触发状态
.status-on {
font-size: 12px;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400;
color: #5FB54B;
}
//状态未触发状态
.status-off {
font-size: 12px;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400;
color: #AFAFAF;
}
//头像
.avatar {
width: 44px;
height: 44px;
margin-bottom: 14px;
}
//标题
.title {
font-size: 14px;
font-family: Microsoft YaHei-Bold, Microsoft YaHei;
font-weight: bold;
color: #333333;
margin-bottom: 14px;
}
//预约/挂号
.content-inner {
display: flex;
align-items: center;
flex-direction: column;
padding-top: 18px;
}
}
}
}
</style>
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