|
|
@@ -194,41 +194,7 @@
|
|
|
</el-table>
|
|
|
</el-dialog>
|
|
|
<el-dialog title="普门诊断补录" v-model="showInputDiags" width="60%" :close-on-click-modal="false" :close-on-press-escape="false">
|
|
|
- <div style="margin-top: -20px; margin-bottom: 16px; background: lightgray; padding: 8px 4px; color: black">临床诊断参考:{{ mzVisit.icdText }}</div>
|
|
|
- 检索方法:<el-select v-model="searchMethod" style="width: 80px">
|
|
|
- <el-option v-for="item in searchMethods" :key="item.code" :label="item.name" :value="item.code"></el-option> </el-select
|
|
|
- >
|
|
|
- <el-autocomplete v-model="diagItem.diagName" :fetch-suggestions="searchDiag" placeholder="请输入内容" clearable @select="handleSelectDiag" style="width: 220px">
|
|
|
- <template #default="{ item }">
|
|
|
- <div style="height: 40px">
|
|
|
- <div style="height: 16px; margin-top: 4px; font-size: 12px; color: #8492a6">
|
|
|
- {{ item.code }}
|
|
|
- </div>
|
|
|
- <div style="height: 16px">{{ item.name }}</div>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-autocomplete>
|
|
|
- <el-select v-model="diagItem.diagType" placeholder="诊断类别" style="width: 120px">
|
|
|
- <el-option v-for="item in diagTypes" :key="item.code" :label="item.name" :value="item.code"></el-option>
|
|
|
- </el-select>
|
|
|
- <el-divider direction="vertical"></el-divider>
|
|
|
- <el-button type="primary" icon="Plus" @click="addDiag">添加到诊断列表</el-button>
|
|
|
- <el-button type="success" icon="Check" @click="saveDiag">保存诊断</el-button>
|
|
|
- <el-table :data="diags" stripe>
|
|
|
- <el-table-column prop="diagSrtNo" label="序号" width="40"></el-table-column>
|
|
|
- <el-table-column prop="diagType" label="诊断类别" width="60"></el-table-column>
|
|
|
- <el-table-column prop="diagCode" label="诊断编码"></el-table-column>
|
|
|
- <el-table-column prop="diagName" label="诊断名称"></el-table-column>
|
|
|
- <el-table-column prop="diagDept" label="诊断科室"></el-table-column>
|
|
|
- <el-table-column prop="diseDorNo" label="医生编码" width="80"></el-table-column>
|
|
|
- <el-table-column prop="diseDorName" label="医生姓名" width="80"></el-table-column>
|
|
|
- <el-table-column prop="diagTime" label="诊断时间"></el-table-column>
|
|
|
- <el-table-column label="操作">
|
|
|
- <template #default="scope">
|
|
|
- <el-button icon="Delete" text @click="deleteDiag(scope.$index)">删除</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
+ <outpatient-diagnose-supply :med-type="medType" :mz-visit="mzVisit" @close="showInputDiags = false"></outpatient-diagnose-supply>
|
|
|
</el-dialog>
|
|
|
</el-container>
|
|
|
</template>
|
|
|
@@ -246,7 +212,6 @@ import {
|
|
|
revokeOutpatientFeeDetails,
|
|
|
revokeOutpatientRegistration,
|
|
|
uploadOutpatientFeeDetails,
|
|
|
- saveSiMzDiags,
|
|
|
outpatientSettlement,
|
|
|
revokeOutpatientSettlement,
|
|
|
} from '@/api/medical-insurance/si-outpatient'
|
|
|
@@ -255,14 +220,14 @@ import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
import store from '@/store'
|
|
|
import { obtainBasicPersonInfo, querySpecialChronicDiseasesAccreditation, queryMzMatnDises } from '@/api/medical-insurance/si-query'
|
|
|
import { getMedTypesByFlag } from '@/api/medical-insurance/si-dict'
|
|
|
-import { increaseWeight, searchData } from '@/api/inpatient/dictionary'
|
|
|
-import { clone } from '@/utils/clone'
|
|
|
import ReadCard from '@/components/medical-insurance/readcard/Index.vue'
|
|
|
import mzSettled from '@/assets/mz-settled.png'
|
|
|
+import OutpatientDiagnoseSupply from '@/components/medical-insurance/outpatient-diagnose-supply/Index.vue'
|
|
|
|
|
|
export default {
|
|
|
components: {
|
|
|
ReadCard,
|
|
|
+ OutpatientDiagnoseSupply,
|
|
|
},
|
|
|
setup() {
|
|
|
//todo 完成业务后清除原读卡数据
|
|
|
@@ -278,7 +243,6 @@ export default {
|
|
|
height: tableHeight - 280 + 'px',
|
|
|
overflowY: 'auto',
|
|
|
}
|
|
|
-
|
|
|
const unPaidReceipts = ref([])
|
|
|
const showInsuinfo = ref(false)
|
|
|
const psnBaseinfo = ref({})
|
|
|
@@ -295,97 +259,6 @@ export default {
|
|
|
const matnDises = ref([])
|
|
|
const showMatnDises = ref(false)
|
|
|
const showInputDiags = ref(false)
|
|
|
- const searchMethods = [
|
|
|
- { code: 'alpha', name: '首拼' },
|
|
|
- { code: 'code', name: '编码' },
|
|
|
- { code: 'name', name: '名称' },
|
|
|
- ]
|
|
|
- const searchMethod = ref('alpha')
|
|
|
- const diagItem = reactive({})
|
|
|
- const searchDiag = (queryString, cb) => {
|
|
|
- if (queryString && queryString.length > 1) {
|
|
|
- const param = {
|
|
|
- method: searchMethod.value,
|
|
|
- content: queryString,
|
|
|
- target: 'diag',
|
|
|
- medType: medType.value,
|
|
|
- }
|
|
|
- searchData(param).then((res) => {
|
|
|
- cb(res)
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- const handleSelectDiag = (item) => {
|
|
|
- increaseWeight({ code: 'diag', name: item.code }).then(() => {
|
|
|
- diagItem.diagCode = item.code
|
|
|
- diagItem.diagName = item.name
|
|
|
- })
|
|
|
- }
|
|
|
- const diagTypes = [
|
|
|
- { code: '1', name: '西医诊断' },
|
|
|
- { code: '2', name: '中医主病诊断' },
|
|
|
- { code: '3', name: '中医主证诊断' },
|
|
|
- ]
|
|
|
- const diags = ref([])
|
|
|
- const addDiag = () => {
|
|
|
- if (!diagItem.diagCode) {
|
|
|
- ElMessage({
|
|
|
- message: '请选择诊断!',
|
|
|
- type: 'warning',
|
|
|
- duration: 2500,
|
|
|
- showClose: true,
|
|
|
- })
|
|
|
- return
|
|
|
- }
|
|
|
- if (!diagItem.diagType) {
|
|
|
- ElMessage({
|
|
|
- message: '请选择诊断类别!',
|
|
|
- type: 'warning',
|
|
|
- duration: 2500,
|
|
|
- showClose: true,
|
|
|
- })
|
|
|
- return
|
|
|
- }
|
|
|
- diagItem.patNo = patientId.value
|
|
|
- diagItem.times = times.value
|
|
|
- diagItem.diagSrtNo = diags.value.length + 1
|
|
|
- diagItem.diagDept = mzVisit.value.visitDeptName
|
|
|
- diagItem.diseDorNo = mzVisit.value.doctorCode
|
|
|
- diagItem.diseDorName = mzVisit.value.doctorName
|
|
|
- diagItem.diagTime = mzVisit.value.opDay
|
|
|
- diagItem.valiFlag = '1'
|
|
|
- diags.value.push(clone(diagItem))
|
|
|
- diagItem.diagCode = ''
|
|
|
- diagItem.diagName = ''
|
|
|
- diagItem.diagType = ''
|
|
|
- }
|
|
|
- const deleteDiag = (index) => {
|
|
|
- diags.value.splice(index, 1)
|
|
|
- for (let i = 0; i < diags.value.length; i++) {
|
|
|
- const element = diags.value[i]
|
|
|
- element.diagSrtNo = i + 1
|
|
|
- }
|
|
|
- }
|
|
|
- const saveDiag = () => {
|
|
|
- if (diags.value.length === 0) {
|
|
|
- ElMessage({
|
|
|
- message: '没有要保存的诊断!',
|
|
|
- type: 'warning',
|
|
|
- duration: 2500,
|
|
|
- showClose: true,
|
|
|
- })
|
|
|
- return
|
|
|
- }
|
|
|
- saveSiMzDiags(diags.value).then((res) => {
|
|
|
- ElMessageBox.alert(res, '提示', {
|
|
|
- type: 'success',
|
|
|
- showCancelButton: false,
|
|
|
- }).then(() => {
|
|
|
- diags.value = []
|
|
|
- showInputDiags.value = false
|
|
|
- })
|
|
|
- })
|
|
|
- }
|
|
|
|
|
|
const nullPatientId = () => {
|
|
|
if (!patientId.value) {
|
|
|
@@ -802,18 +675,8 @@ export default {
|
|
|
matnDises,
|
|
|
showMatnDises,
|
|
|
showInputDiags,
|
|
|
- searchMethod,
|
|
|
- searchMethods,
|
|
|
- diagTypes,
|
|
|
- diagItem,
|
|
|
- diags,
|
|
|
mzSettled,
|
|
|
afterReadCard,
|
|
|
- addDiag,
|
|
|
- deleteDiag,
|
|
|
- saveDiag,
|
|
|
- searchDiag,
|
|
|
- handleSelectDiag,
|
|
|
clickTimes,
|
|
|
colorStatus,
|
|
|
clickOrderNo,
|