Commit 8fd51001 authored by v_liuhuaizhi's avatar v_liuhuaizhi

病例管理-->编辑-->治疗完毕

parent 6662f333
......@@ -23,6 +23,14 @@ export function checkList(params) {
params
})
}
// 查询治疗项目
export function getTreatOptions(params) {
return request({
url: '/business/item/list',
method: 'get',
params
})
}
export function deleteCheck(id) {
return request({
url: '/business/check/' + id,
......@@ -45,3 +53,25 @@ export function updateCheck(data) {
data
})
}
// 新增治疗
export function addTreat(data) {
return request({
url: '/business/treat',
method: 'post',
data
})
}
// 编辑治疗
export function updateTreat(data) {
return request({
url: '/business/treat',
method: 'put',
data
})
}
export function deleteTreat(id) {
return request({
url: '/business/treat/' + id,
method: 'delete'
})
}
......@@ -634,7 +634,7 @@ color: #333333;"
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(52,144,206);"
type="primary"
@click="handleSave('drugForm','checkManageBos', scope.$index)"
@click="handleSave('checkForm','checkManageBos', scope.$index)"
>保存
</el-button>
<el-button
......@@ -653,57 +653,120 @@ color: #333333;"
</el-form>
</div>
<!--9--治疗信息-->
<div style="display: flex">
<div class="tip-green" />
<div
style="padding-left: 13px;font-size: 16px;font-family: Microsoft YaHei-Bold, Microsoft YaHei,serif;font-weight: bold;color: #333333;"
>治疗信息
<div class="title-content">
<div class="title-left">
<div class="tip-green" />
<div
class="tip-text"
>治疗信息
</div>
</div>
<el-button
class="fourWordsBtn"
icon="el-icon-circle-plus-outline"
size="mini"
@click="handleAdd('treatManageBo')"
>新增治疗
</el-button>
</div>
<!-- 内部信息 -->
<div class="table-content">
<el-table :data="petProtect" :header-cell-style="{ background:'#E8E9E8'}" border>
<el-table-column align="center" label="治疗项目" prop="protectName" />
<el-table-column align="center" label="治疗类型" prop="type" />
<el-table-column align="center" label="负责人" prop="date" />
<el-table-column align="center" label="治疗诊室" prop="date" />
<el-table-column align="center" label="治疗状态" prop="date" />
<el-table-column align="center" label="治疗日期" prop="date" />
<el-table-column align="center" show-overflow-tooltip class-name="small-padding fixed-width" label="操作" min-width="180">
<template slot-scope="scope">
<el-button
v-hasPermi="['business:case:edit']"
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"
@click="handleDetail(scope.row)"
>查看
</el-button>
<el-button
v-hasPermi="['business:case:edit']"
icon="el-icon-edit"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(52,144,206);"
type="primary"
@click="handleUpdate(scope.row)"
>编辑
</el-button>
<el-button
v-hasPermi="['business:case:edit']"
icon="el-icon-document"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(155,0,65);"
type="danger"
@click="handleDetail(scope.row)"
>删除
</el-button>
</template>
</el-table-column>
</el-table>
<el-form ref="treatForm" :model="treatForm" label-width="0" :rules="treatRules" class="demo-ruleForm">
<el-table :data="treatManageBo" :header-cell-style="{ background:'#E8E9E8'}" border>
<el-table-column align="center" label="治疗项目" prop="treatItemsName">
<template slot-scope="scope">
<el-form-item v-if="scope.row.inputShow" :prop="'treatManageBo.'+scope.$index+'.treatItemsId'" :rules="treatRules.treatItemsId">
<el-select v-model="scope.row.id" placeholder="请选择" clearable @change="setTreatItemsName(scope.row,treatItemOptions)">
<el-option
v-for="(item, index) in treatItemOptions"
:key="index"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<span v-else>{{ scope.row.treatItemsName === '' || scope.row.treatItemsName === null ? '-' : scope.row.treatItemsName }}</span>
</template>
</el-table-column>
<el-table-column align="center" label="治疗负责人" prop="doctorName" />
<el-table-column align="center" label="治疗诊室" prop="consultRoomName">
<template slot-scope="scope">
<span>{{ scope.row.consultRoomName === '' || scope.row.consultRoomName === null ? '-' : scope.row.consultRoomName }}</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 align="center" label="治疗状态" prop="treatStatus">
<template slot-scope="scope">
<span v-if="scope.row.inputShow">-</span>
<span v-else>
{{ scope.row.treatStatus? (scope.row.treatStatus === 3 ? '已检查' : '未检查') : '-' }}
</span>
</template>
</el-table-column>
<el-table-column align="center" label="治疗日期" prop="treatStartTime">
<template slot-scope="scope">
<span v-if="scope.row.inputShow">-</span>
<span v-else>
{{ scope.row.treatStartTime? scope.row.treatStartTime : '-' }}
</span>
</template>
</el-table-column>
<el-table-column align="center" show-overflow-tooltip class-name="small-padding fixed-width" label="操作" min-width="180">
<template slot-scope="scope">
<el-button
v-if="scope.row.payType !== '0' && !scope.row.isAdd"
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"
@click="handleDetail(scope.row)"
>查看
</el-button>
<el-button
v-if="scope.row.payType === '0' && !scope.row.inputShow"
icon="el-icon-edit"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(52,144,206);"
type="primary"
@click="handleUpdate(scope.$index,'treatManageBo')"
>编辑
</el-button>
<el-button
v-if="(scope.row.payType === '0'|| scope.row.isAdd ) && scope.row.inputShow"
icon="el-icon-edit"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(52,144,206);"
type="primary"
@click="handleSave('treatForm','treatManageBo', scope.$index)"
>保存
</el-button>
<el-button
v-if="scope.row.payType === '0' && !scope.row.inputShow"
icon="el-icon-document"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(155,0,65);"
type="danger"
@click="handleDelRow(scope.row, 'treatManageBo')"
>删除
</el-button>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
<!--10--住院信息-->
<div style="display: flex">
......@@ -788,7 +851,18 @@ color: #333333;"
import { parseTime, selectDictLabel } from '@/utils/ruoyi'
// 引入进度信息模组件
import scheduleInfo from '@/views/service-management/registration-queue/components/schedule-info'
import { addCheck, checkList, deleteCheck, getRecord, listByType, updateCheck } from '@/api/business/mdeicalRecord'
import {
addCheck,
addTreat,
updateTreat,
checkList,
deleteCheck,
deleteTreat,
getRecord,
getTreatOptions,
listByType,
updateCheck
} from '@/api/business/mdeicalRecord'
import { mapGetters } from 'vuex'
export default {
name: 'MedicalEdit',
......@@ -801,18 +875,23 @@ export default {
data() {
return {
checkItemOptions: [], // 项目选项列表 根据检查类型变化
checkManageBos: [],
treatItemOptions: [], // 治疗项目选项列表
checkManageBos: [], // 检查列表数据
treatManageBo: [], // 治疗列表数据
editCunt: {
petProtect: 0,
checkManageBos: 0
checkManageBos: 0,
treatManageBo: 0
},
drugList: [], // 药品列表
map: {
},
drugForm: {}, // 用药管理table编辑
drugRules: {},
checkForm: {}, // 用药管理table编辑
checkForm: {}, // 检查table编辑
checkRules: {},
treatForm: {}, // 治疗table编辑
treatRules: {},
form: {},
// 排序下拉框
insureList: [
......@@ -915,6 +994,7 @@ export default {
},
mounted() {
this.getDetail()
this.getTreatItemOptions()
},
methods: {
// 设置当前行检查名称
......@@ -926,6 +1006,16 @@ export default {
}
})
},
// 设置当前行治疗名称
setTreatItemsName(rowData, options) {
console.log('setTreatItemsName', rowData, options)
options.forEach(item => {
if (item.value === rowData.treatItemsId) {
rowData.treatItemsName = item.label
rowData.treatItemsType = item.type
}
})
},
/** 根据检查类型获取检查项目列表*/
getCheckItemOptions(checkType) {
listByType({ deptId: this.deptId, itemType: checkType }).then(res => {
......@@ -938,6 +1028,19 @@ export default {
console.log('checkItemOptions!!!!!!!!!!!!!', this.checkItemOptions)
})
},
/** 获取治疗项目列表*/
getTreatItemOptions(checkType) {
getTreatOptions({ itemType: '1', status: '1' }).then(res => {
this.treatItemOptions = res.rows.map(item => {
return {
label: item.name,
value: item.id,
type: item.type
}
})
console.log('treatItemOptions!!!!!!!!!!!!!', this.treatItemOptions)
})
},
/** 获取页面详情*/
getDetail() {
getRecord(this.$route.params.id).then(response => {
......@@ -1117,6 +1220,7 @@ export default {
}
}
this.checkManageBos.push(...temp.data.checkManageBos)
this.treatManageBo.push(...temp.data.treatManageBo)
this.petInfo = { ...temp.data }
console.log(this.checkManageBos, 'kkkkkkkkkkkkkkkkkkkkkkk')
},
......@@ -1140,26 +1244,33 @@ export default {
},
/** 删除行*/
handleDelRow(rowData, tableName) {
// 删除检查信息行
if (tableName === 'checkManageBos') {
this.$confirm('此操作将永久删除该检查, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// 删除信息行
this.$confirm('此操作将永久删除该信息, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
if (tableName === 'checkManageBos') {
deleteCheck(rowData.id).then(() => {
this.$message({
type: 'success',
message: '删除成功!'
})
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
} else if (tableName === 'treatManageBo') {
deleteTreat(rowData.id).then(() => {
this.$message({
type: 'success',
message: '删除成功!'
})
})
}
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
}
})
},
/** 新增行*/
handleAdd(tableName) {
......@@ -1177,6 +1288,19 @@ export default {
inputShow: true,
isAdd: true
})
} else if (tableName === 'treatManageBo') {
// 新增z治疗信息初始值
this[tableName].unshift({
id: '',
treatItemsName: '',
doctorName: this.petInfo.doctorName,
consultRoomName: '',
payType: '',
treatStatus: '',
treatStartTime: '',
inputShow: true,
isAdd: true
})
}
this.editCunt[tableName] += 1
} else {
......@@ -1198,7 +1322,7 @@ export default {
if (this[listName][index].isAdd) { // 新增保存
const temp = {
petsId: this.petInfo.petsId,
medicalRecordId: rowData.id,
medicalRecordId: this.petInfo.id,
checkSchedule: '0',
payType: '0',
checkType: rowData.checkType,
......@@ -1215,7 +1339,7 @@ export default {
const temp = {
checkType: rowData.checkType,
checkItemsId: rowData.checkItemsId,
checkItemsName: rowData.checkItemsName,
checkItemsName: rowData.checkItemsName
}
// 编辑保存
updateCheck([temp]).then(() => {
......@@ -1224,6 +1348,35 @@ export default {
this.getCheckList()
})
}
} else if (listName === 'treatManageBo') {
// 治疗信息保存-- 新增保存 编辑保存
if (this[listName][index].isAdd) { // 新增保存
const temp = {
registId: this.petInfo.registId,
medicalRecordId: this.petInfo.id,
originChannel: '0',
treatItemsId: rowData.treatItemsId,
treatItemsName: rowData.treatItemsName,
treatItemsType: rowData.treatItemsType
}
addTreat([temp]).then(() => {
this.$message.success('保存成功')
// 刷新治疗信息列表
this.getTreatList()
})
} else {
const temp = {
treatItemsId: rowData.treatItemsId,
treatItemsName: rowData.treatItemsName,
treatItemsType: rowData.treatItemsType
}
// 编辑保存
updateTreat([temp]).then(() => {
this.$message.success('保存成功')
// 刷新治疗信息列表
this.getTreatList()
})
}
}
this[listName][index].inputShow = false
this.editCunt[listName] -= 1
......@@ -1236,6 +1389,12 @@ export default {
console.log('checkList', res)
})
},
/** 根据宠物id查询检查列表*/
getTreatList() {
checkList({ petsId: this.petInfo.petsId }).then(res => {
console.log('checkList', res)
})
},
parseTime,
selectDictLabel,
/**
......
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