提交merge1.3

This commit is contained in:
2025-12-27 15:30:40 +08:00
parent 088861f66e
commit 3c497417dc
167 changed files with 0 additions and 17577 deletions

View File

@@ -1,9 +1,4 @@
<<<<<<< HEAD
import request from '@/utils/request'
=======
import request from '@/utils/request';
>>>>>>> v1.3
// 申请单相关接口
/**
@@ -58,19 +53,6 @@ export function getNursingOrdersInfos() {
}
/**
<<<<<<< HEAD
* 查询护理医嘱信息
*/
export function getNursingOrdersInfos() {
return request({
url: '/reg-doctorstation/special-advice/nursing-orders',
method: 'get'
})
}
/**
=======
>>>>>>> v1.3
* 保存护理医嘱信息
* @param {Object} data - 护理医嘱数据
* @param {number} data.encounterId - 就诊id
@@ -87,13 +69,8 @@ export function saveNursingOrders(data) {
return request({
url: '/reg-doctorstation/special-advice/nursing-orders',
method: 'post',
<<<<<<< HEAD
data: data
})
=======
data: data,
});
>>>>>>> v1.3
}
/**
@@ -103,13 +80,8 @@ export function getEncounterNursingOrders(params) {
return request({
url: '/reg-doctorstation/special-advice/encounter-nursing-orders',
method: 'get',
<<<<<<< HEAD
params: params
})
=======
params: params,
});
>>>>>>> v1.3
}
/**

View File

@@ -24,16 +24,12 @@
<el-table-column prop="item" label="项目" width="180" align="center" />
<el-table-column prop="currentStatus" label="当前状态" width="260" align="center">
<template #default="scope">
<<<<<<< HEAD
<el-tag :type="getStatusType(scope.row.currentStatus)" size="small" class="status-tag">
=======
<el-tag
v-if="scope.row.currentStatus"
:type="getStatusType(scope.row.currentStatus)"
size="small"
class="status-tag"
>
>>>>>>> v1.3
{{ scope.row.currentStatus }}
</el-tag>
</template>
@@ -148,13 +144,8 @@
</el-table>
<!-- 操作按钮区域 -->
<div class="nursing-status-actions">
<<<<<<< HEAD
<el-button @click="handleCancel" size="small">取消</el-button>
<el-button type="primary" @click="handleConfirm" size="small">确定</el-button>
=======
<el-button @click="handleCancel" size="medium">取消</el-button>
<el-button type="primary" @click="handleConfirm" size="medium">确定</el-button>
>>>>>>> v1.3
</div>
</template>
</div>
@@ -390,10 +381,6 @@ const fetchNursingStatusData = () => {
loading.value = false;
if (res.code === 200 && res.data) {
<<<<<<< HEAD
// 填充各列表数据
nursingLevelList.value = res.data.nursingList || [];
=======
let nursingList = [];
let nursingOrderNameList = ['I级护理', 'II级护理', 'III级护理', '特级护理'];
nursingOrderNameList.forEach((str) => {
@@ -405,7 +392,6 @@ const fetchNursingStatusData = () => {
});
// 填充各列表数据
nursingLevelList.value = nursingList || [];
>>>>>>> v1.3
conditionList.value = res.data.conditionList || [];
dietList.value = res.data.dietList || [];
positionList.value = res.data.positionList || [];

View File

@@ -28,16 +28,12 @@
<span>{{ node.label }}</span>
<span class="tree-node-actions">
<template v-if="node.level === 1 && data.name != '常用' && data.name != '历史'">
<<<<<<< HEAD
<el-button style="color: #000000" type="text" size="small" @click.stop="addChild(data)">
=======
<el-button
style="color: #000000"
type="text"
size="small"
@click.stop="addChild(data)"
>
>>>>>>> v1.3
<el-icon>
<Plus />
</el-icon>
@@ -46,13 +42,6 @@
<el-popconfirm width="200" :hide-after="10" title="确认删除此常用诊断吗" placement="top-start"
@confirm="deleteChild(data)">
<template #reference>
<<<<<<< HEAD
<el-button style="color: #000000" v-if="
node.level === 2 &&
node.parent.data.name != '常用' &&
node.parent.data.name != '历史'
" type="text" size="small" @click.stop="">
=======
<el-button
style="color: #000000"
v-if="
@@ -64,7 +53,6 @@
size="small"
@click.stop=""
>
>>>>>>> v1.3
<el-icon>
<Minus />
</el-icon>
@@ -197,11 +185,8 @@ import { deleteTcmDiagnosis } from '../../../../doctorstation/components/api.js'
import diagnosisdialog from '../diagnosis/diagnosisdialog.vue';
import AddDiagnosisDialog from './addDiagnosisDialog.vue';
import diagnosislist from '../diagnosis/diagnosislist.vue';
<<<<<<< HEAD
=======
import { patientInfo } from '../../store/patient.js';
import { ElMessage } from 'element-plus';
>>>>>>> v1.3
// const diagnosisList = ref([]);
const allowAdd = ref(false);
const tree = ref([]);
@@ -230,12 +215,8 @@ const rules = ref({
medTypeCode: [{ required: true, message: '请选择诊断类型', trigger: 'change' }],
diagSrtNo: [{ required: true, message: '请输入诊断序号', trigger: 'change' }],
});
<<<<<<< HEAD
const isSaving = ref(false);
=======
const diagnosisNetDatas = ref([]);
>>>>>>> v1.3
watch(
() => form.value.diagnosisList,
() => {
@@ -266,31 +247,6 @@ function getList() {
getEncounterDiagnosis(props.patientInfo.encounterId).then((res) => {
if (res.code == 200) {
<<<<<<< HEAD
// 为每个诊断项添加默认的诊断医生和时间(如果不存在)
const diagnosisList = res.data.map(item => ({
...item,
diagnosisDoctor: item.diagnosisDoctor || props.patientInfo.practitionerName || props.patientInfo.doctorName || props.patientInfo.physicianName || userStore.name,
diagnosisTime: item.diagnosisTime || new Date().toLocaleString('zh-CN')
}));
// 对获取的数据进行排序
diagnosisList.sort((a, b) => {
const aNo = typeof a.diagSrtNo === 'number' ? a.diagSrtNo : 9999;
const bNo = typeof b.diagSrtNo === 'number' ? b.diagSrtNo : 9999;
return aNo - bNo;
});
form.value.diagnosisList = diagnosisList;
emits('diagnosisSave', false);
}
});
getTcmDiagnosis({ encounterId: props.patientInfo.encounterId }).then((res) => {
if (res.code == 200) {
if (res.data.illness && res.data.illness.length > 0 && res.data.symptom) {
const newList = [];
=======
const datas = (res.data || []).map((item) => {
let obj = {
...item,
@@ -311,7 +267,6 @@ function getList() {
if (res.code == 200) {
if (res.data.illness.length > 0) {
diagnosisNetDatas.value = res.data.illness;
>>>>>>> v1.3
res.data.illness.forEach((item, index) => {
newList.push({
name: item.name + '-' + (res.data.symptom[index]?.name || ''),
@@ -488,27 +443,6 @@ function handleDeleteDiagnosis(row, index) {
//中医诊断用-拼接 例如:疳气-表里俱实证
const nameArr = row.name?.split('-') || [];
if (row.conditionId) {
<<<<<<< HEAD
delEncounterDiagnosis(row.conditionId).then(() => {
// 不要立即调用getList(),而是从当前列表中移除
form.value.diagnosisList.splice(index, 1);
// 重新排序剩余的项目
const sortedList = [...form.value.diagnosisList].sort((a, b) => {
const aNo = typeof a.diagSrtNo === 'number' ? a.diagSrtNo : 9999;
const bNo = typeof b.diagSrtNo === 'number' ? b.diagSrtNo : 9999;
return aNo - bNo;
});
// 重新分配连续的序号
sortedList.forEach((item, idx) => {
item.diagSrtNo = idx + 1;
});
// 更新列表
form.value.diagnosisList = sortedList.map(item => ({ ...item }));
getTree();
});
=======
if (nameArr.length > 1) {
deleteTcmDiagnosis(row.syndromeGroupNo).then(() => {
getList();
@@ -520,7 +454,6 @@ function handleDeleteDiagnosis(row, index) {
getTree();
});
}
>>>>>>> v1.3
} else {
console.log('row============>', JSON.stringify(row));
console.log('item============>', index);
@@ -729,7 +662,3 @@ defineExpose({ getList, getDetail, handleSaveDiagnosis });
align-items: center;
}
</style>
<<<<<<< HEAD
=======
>>>>>>> v1.3

View File

@@ -100,17 +100,6 @@ export function transferOrganization(data) {
return request({
url: '/reg-doctorstation/special-advice/transfer-organization-orders',
method: 'post',
<<<<<<< HEAD
data: data
})
}
=======
data: data,
});
}
>>>>>>> v1.3

View File

@@ -56,10 +56,6 @@
</div>
</template>
<script setup>
<<<<<<< HEAD
import { getCurrentInstance, onBeforeMount, onMounted, reactive, ref, computed } from 'vue';
import BloodTransfusion from './bloodTransfusion';
=======
import {
getCurrentInstance,
onBeforeMount,
@@ -70,7 +66,6 @@ import {
nextTick,
} from 'vue';
import BloodTransfusion from './bloodTransfusion.vue';
>>>>>>> v1.3
import { patientInfo } from '../../../store/patient.js';
import Surgery from './surgery.vue';
import LaboratoryTests from './laboratoryTests.vue';

View File

@@ -9,11 +9,7 @@
>
<div style="padding: 0 80px">
<el-form :model="form" :rules="rules" ref="formRef">
<<<<<<< HEAD
<el-form-item label="出院方式">
=======
<el-form-item label="出院方式" prop="outpatientType">
>>>>>>> v1.3
<el-select v-model="form.outpatientType">
<el-option
v-for="(item, index) in dscg_way"
@@ -23,21 +19,13 @@
/>
</el-select>
</el-form-item>
<<<<<<< HEAD
<el-form-item label="出院时间">
=======
<el-form-item label="出院时间" prop="outpatientTime">
>>>>>>> v1.3
<el-radio-group v-model="form.outpatientTime">
<el-radio value="1">今日</el-radio>
<el-radio value="2">明日</el-radio>
</el-radio-group>
</el-form-item>
<<<<<<< HEAD
<el-form-item label="出院描述"
=======
<el-form-item label="出院描述" prop="outpatientDescription"
>>>>>>> v1.3
><el-input v-model="form.outpatientDescription" type="textarea" rows="5" />
</el-form-item>
</el-form>
@@ -52,11 +40,6 @@
</template>
<script setup>
<<<<<<< HEAD
const { proxy } = getCurrentInstance();
const { dscg_way } = proxy.useDict('dscg_way');
const dialogVisible = ref(false);
=======
import { toRaw } from 'vue';
import { leaveHospital } from '../../api';
import { dayjs } from 'element-plus';
@@ -85,14 +68,11 @@ const { dscg_way } = proxy.useDict('dscg_way');
const dialogVisible = ref(false);
const formRef = ref(null);
const emit = defineEmits(['success']);
>>>>>>> v1.3
const form = reactive({
outpatientType: [],
outpatientTime: '',
outpatientDescription: '',
});
<<<<<<< HEAD
=======
const rules = {
outpatientType: [{ required: true, message: '请选择出院方式', trigger: 'change' }],
outpatientTime: [{ required: true, message: '请选择出院时间', trigger: 'change' }],
@@ -106,18 +86,11 @@ function getEndTime() {
}
return date.format('YYYY-MM-DD HH:mm:ss');
}
>>>>>>> v1.3
function openDialog() {
dialogVisible.value = true;
}
<<<<<<< HEAD
defineExpose({
openDialog,
});
</script>
=======
const submitApplicationForm = async () => {
if (!formRef.value) return;
try {
@@ -153,4 +126,3 @@ defineExpose({
openDialog,
});
</script>
>>>>>>> v1.3

View File

@@ -65,11 +65,7 @@
<el-radio-button label="1">长期</el-radio-button>
<el-radio-button label="2">临时</el-radio-button>
</el-radio-group>
<<<<<<< HEAD
<el-select v-model="orderClassCode" placeholder="医嘱类型" style="width: 240px">
=======
<el-select v-model="orderClassCode" placeholder="医嘱类型" style="width: 240px" clearable>
>>>>>>> v1.3
<el-option
v-for="item in adviceTypeList"
:key="item.value"
@@ -77,11 +73,6 @@
:value="item.value"
/>
</el-select>
<<<<<<< HEAD
<el-select v-model="orderStatus" placeholder="医嘱状态" style="width: 240px"> </el-select>
<el-button link type="primary" @click="handleTransferOrg">转科</el-button>
<el-button link type="primary" @click="handleLeaveHospital">出院</el-button>
=======
<el-select v-model="orderStatus" placeholder="医嘱状态" style="width: 240px" clearable>
<el-option
v-for="item in statusOption"
@@ -96,518 +87,20 @@
</el-button>
<el-button link type="primary" @click="onNursingStatus">护理状态</el-button>
<el-button link type="primary" @click="refresh()">刷新数据</el-button>
>>>>>>> v1.3
</el-space>
</div>
</div>
<div class="inpatientDoctor-order-table">
<el-table
<<<<<<< HEAD
max-height="650"
ref="prescriptionRef"
:data="prescriptionList"
=======
height="100%"
ref="prescriptionRef"
:data="filterPrescriptionList"
>>>>>>> v1.3
row-key="uniqueKey"
border
@cell-click="clickRow"
@row-dblclick="clickRowDb"
v-loading="loading"
:expand-row-keys="expandOrder"
<<<<<<< HEAD
>
<el-table-column type="expand" width="1" style="width: 0">
<template #default="scope">
<el-form :model="scope.row" :rules="rowRules" :ref="'formRef' + scope.$index">
<div
class="expend_div"
style="padding: 16px; background: #f8f9fa; border-radius: 8px"
>
<template v-if="scope.row.adviceType == 1">
<div style="display: flex; align-items: center; margin-bottom: 16px; gap: 16px">
<span class="medicine-title">
{{
scope.row.adviceName +
' ' +
scope.row.volume +
' [' +
Number(scope.row.unitPrice).toFixed(2) +
' 元' +
'/' +
scope.row.unitCode_dictText +
']'
}}
</span>
<!-- <el-form-item prop="conditionDefinitionId">
<el-select
v-model="scope.row.conditionDefinitionId"
style="width: 180px; margin: 0 20px"
placeholder="诊断"
>
<el-option
v-for="item in diagnosisList"
:key="item.conditionId"
:label="item.name"
:value="item.definitionId"
@click="handleDiagnosisChange(item, scope.row)"
/>
</el-select>
</el-form-item> -->
<el-form-item prop="lotNumber" label="药房:">
<el-select
v-model="scope.row.inventoryId"
style="width: 180px; margin-right: 20px"
placeholder="药房"
>
<el-option
v-for="item in scope.row.stockList"
:key="item.inventoryId"
:value="item.inventoryId"
:label="
item.locationName +
' ' +
'批次号: ' +
item.lotNumber +
' ' +
' 库存:' +
stockFormat(
scope.row.partPercent,
scope.row.unitCode_dictText,
scope.row.minUnitCode_dictText,
item.quantity
) +
' 单价:' +
item.price.toFixed(2) +
'/' +
item.unitCode_dictText
"
@click="handleNumberClick(item, scope.$index)"
/>
</el-select>
</el-form-item>
<el-form-item
label="执行次数:"
prop="executeNum"
class="required-field"
data-prop="executeNum"
v-if="scope.row.injectFlag == 1"
>
<el-input-number
:min="1"
v-model="scope.row.executeNum"
controls-position="right"
:controls="false"
:ref="(el) => (inputRefs.executeNum = el)"
@keyup.enter.prevent="handleEnter('executeNum', scope.row, scope.$index)"
style="width: 70px; margin-right: 20px"
/> </el-form-item
>x <span class="medicine-info"> 诊断{{ diagnosisName }} </span>x
<span class="medicine-info"> 皮试{{ scope.row.skinTestFlag_enumText }} </span>
<span class="medicine-info">
注射药品{{ scope.row.injectFlag_enumText }}
</span>
<span class="total-amount">
总金额{{ scope.row.totalPrice ? scope.row.totalPrice + ' 元' : '0.00 元' }}
</span>
</div>
<div style="display: flex; align-items: center; gap: 12px; flex-wrap: wrap">
<div class="form-group">
<!-- 单次剂量 -->
<el-form-item
label="单次用量:"
prop="doseQuantity"
class="required-field"
data-prop="doseQuantity"
>
<el-input-number
:min="0"
v-model="scope.row.doseQuantity"
controls-position="right"
:controls="false"
style="width: 70px; margin-right: 20px"
:ref="(el) => (inputRefs.doseQuantity = el)"
@input="convertValues(scope.row, scope.$index)"
@keyup.enter.prevent="
handleEnter('doseQuantity', scope.row, scope.$index)
"
/>
</el-form-item>
<!-- 剂量单位 -->
<el-select
v-model="scope.row.minUnitCode"
style="width: 70px; margin-right: 20px"
placeholder=" "
>
<template v-for="item in scope.row.unitCodeList" :key="item.value">
<el-option
v-if="
scope.row.unitCodeList.length == 3
? item.type == unitMap['minUnit']
: item.type == unitMap['unit']
"
:value="item.value"
:label="item.label"
/>
</template>
</el-select>
<span>=</span>
<!-- 单次剂量 -->
<el-form-item prop="dose" class="required-field" data-prop="dose">
<el-input-number
v-model="scope.row.dose"
controls-position="right"
:controls="false"
style="width: 70px; margin: 0 20px"
:ref="(el) => (inputRefs.dose = el)"
@input="convertDoseValues(scope.row, scope.$index)"
@keyup.enter.prevent="handleEnter('dose', scope.row, scope.$index)"
/>
</el-form-item>
<!-- 全部单位 -->
<el-select
v-model="scope.row.doseUnitCode"
style="width: 70px"
placeholder=" "
@change="convertValues(scope.row, scope.$index)"
>
<el-option
v-for="item in scope.row.unitCodeList"
:value="item.value"
:label="item.label"
:key="item.value"
/>
</el-select>
</div>
<div class="form-group">
<el-form-item
label="给药途径:"
prop="methodCode"
class="required-field"
data-prop="methodCode"
>
<el-select
v-model="scope.row.methodCode"
placeholder="给药途径"
clearable
filterable
:ref="(el) => (inputRefs.methodCode = el)"
@keyup.enter.prevent="
() => {
inputRefs.methodCode.blur();
}
"
@visible-change="
(value) => {
if (!value) {
handleEnter('methodCode', scope.row, scope.$index);
}
}
"
>
<el-option
v-for="dict in method_code"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label="用药频次:"
prop="rateCode"
class="required-field"
data-prop="rateCode"
>
<el-select
v-model="scope.row.rateCode"
placeholder="频次"
style="width: 120px"
filterable
@keyup.enter.prevent="
() => {
inputRefs.rateCode.blur();
}
"
@change="calculateTotalAmount(scope.row, scope.$index)"
@visible-change="
(value) => {
if (!value) {
handleEnter('rateCode', scope.row, scope.$index);
}
}
"
:ref="(el) => (inputRefs.rateCode = el)"
>
<el-option
v-for="dict in rate_code"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</div>
</div>
<div
style="
display: flex;
align-items: center;
gap: 12px;
flex-wrap: wrap;
margin-top: 10px;
"
>
<div class="form-group">
<el-form-item
label="用药天数:"
prop="dispensePerDuration"
class="required-field"
data-prop="dispensePerDuration"
>
<el-input-number
v-model="scope.row.dispensePerDuration"
style="width: 80px"
:min="1"
controls-position="right"
:controls="false"
:ref="(el) => (inputRefs.dispensePerDuration = el)"
@keyup.enter.prevent="
handleEnter('dispensePerDuration', scope.row, scope.$index)
"
>
<template #suffix>天</template>
</el-input-number>
</el-form-item>
<el-form-item
label="总量:"
prop="quantity"
class="required-field"
data-prop="quantity"
>
<el-input-number
v-model="scope.row.quantity"
style="width: 70px"
controls-position="right"
:controls="false"
:ref="(el) => (inputRefs.quantity = el)"
@keyup.enter.prevent="handleEnter('quantity', scope.row, scope.$index)"
@input="calculateTotalPrice(scope.row, scope.$index)"
/>
</el-form-item>
<el-select
v-model="scope.row.unitCode"
style="width: 70px; margin-right: 20px"
placeholder=" "
@change="calculateTotalAmount(scope.row, scope.$index)"
>
<template v-for="item in scope.row.unitCodeList" :key="item.value">
<el-option
v-if="item.type != unitMap['dose']"
:value="item.value"
:label="item.label"
/>
</template>
</el-select>
</div>
<el-button type="primary" @click="handleSaveSign(scope.row, scope.$index)">
确定
</el-button>
</div>
</template>
<template v-else-if="scope.row.adviceType == 2">
<div style="display: flex; align-items: center; margin-bottom: 16px; gap: 16px">
<span style="font-size: 16px; font-weight: 600">
{{
scope.row.adviceName +
' ' +
scope.row.volume +
' ' +
scope.row.unitPrice +
' 元/' +
scope.row.unitCode_dictText
}}
</span>
<div class="form-group">
<el-select
v-model="scope.row.lotNumber"
style="width: 180px; margin-right: 20px"
placeholder="药房"
>
<el-option
v-for="item in scope.row.stockList"
:key="item.lotNumber"
:value="item.lotNumber"
:label="
item.locationName +
' ' +
'批次号: ' +
item.lotNumber +
' ' +
' 库存:' +
stockFormat(
scope.row.partPercent,
scope.row.unitCode_dictText,
scope.row.minUnitCode_dictText,
item.quantity
) +
' 单价:' +
item.price.toFixed(2) +
'/' +
item.unitCode_dictText
"
@click="handleNumberClick(item, scope.$index)"
/>
</el-select>
<el-form-item
label="数量:"
prop="quantity"
class="required-field"
data-prop="quantity"
>
<el-input-number
placeholder="数量"
v-model="scope.row.quantity"
style="width: 70px"
controls-position="right"
:controls="false"
@keyup.enter.prevent="handleEnter('quantity', scope.row, scope.$index)"
@input="calculateTotalAmount(scope.row, scope.$index)"
/>
</el-form-item>
<el-select
v-model="scope.row.unitCode"
style="width: 70px; margin-right: 20px"
placeholder=" "
@change="calculateTotalAmount(scope.row, scope.$index)"
>
<template v-for="item in scope.row.unitCodeList" :key="item.value">
<el-option
v-if="item.type != unitMap['dose']"
:value="item.value"
:label="item.label"
@click="
() => {
scope.row.unitCode_dictText = item.label;
}
"
/>
</template>
</el-select>
<span class="total-amount">
总金额:{{
scope.row.totalPrice ? scope.row.totalPrice + ' 元' : '0.00 元'
}}
</span>
</div>
<el-button type="primary" @click="handleSaveSign(scope.row, scope.$index)">
确定
</el-button>
</div>
</template>
<template v-else>
<div style="display: flex; align-items: center; margin-bottom: 16px; gap: 16px">
<span style="font-size: 16px; font-weight: 600">
{{ scope.row.adviceName }}
{{
scope.row.unitPrice
? Number(scope.row.unitPrice).toFixed(2) + '/次'
: '-' + '元'
}}
</span>
<div class="form-group">
<el-form-item
label="执行次数:"
prop="quantity"
class="required-field"
data-prop="quantity"
>
<el-input-number
placeholder="执行次数"
style="width: 100px; margin: 0 20px"
v-model="scope.row.quantity"
controls-position="right"
:controls="false"
@keyup.enter.prevent="handleEnter('quantity', scope.row, scope.$index)"
@input="calculateTotalPrice(scope.row, scope.$index)"
/>
</el-form-item>
<el-form-item
label="执行科室:"
prop="orgId"
class="required-field"
data-prop="orgId"
>
<el-tree-select
clearable
v-model="scope.row.orgId"
style="width: 200px"
:data="organization"
:props="{ value: 'id', label: 'name', children: 'children' }"
value-key="id"
check-strictly
default-expand-all
@change="(value) => handleOrgChange(value, scope.$index)"
placeholder="请选择执行科室"
/>
</el-form-item>
<span class="total-amount">
总金额:{{
scope.row.totalPrice ? scope.row.totalPrice + ' 元' : '0.00 元'
}}
</span>
<span style="font-size: 16px; font-weight: 600">
<!-- 金额: {{ scope.row.priceList[0].price }} -->
</span>
</div>
<el-button type="primary" @click="handleSaveSign(scope.row, scope.$index)">
确定
</el-button>
</div>
</template>
</div>
</el-form>
</template>
</el-table-column>
<el-table-column label="" align="center" prop="groupId" width="60">
<template #header>
<el-checkbox
v-model="checkAll"
@change="
(value) => {
prescriptionList.forEach((item, index) => {
groupIndexList.push(index);
item.check = value;
});
}
"
/>
</template>
<template #default="scope">
<el-checkbox
v-model="scope.row.check"
@dblclick.stop=""
placeholder=""
@change="(value) => handleCheckBoxChange(value, scope.$index, scope.row)"
/>
</template>
</el-table-column>
<el-table-column label="组" align="center" width="60">
<template #default="scope">
<div v-if="groupMarkers[scope.$index] === '┏'">┏</div>
<div v-if="groupMarkers[scope.$index] === '┗'">┗</div>
<div v-if="groupMarkers[scope.$index] === '┃'">┃</div>
<!-- <div v-if="groupMarkers[scope.$index] === 'all'">┏</div> -->
<!-- <div v-if="groupMarkers[scope.$index] === 'all'">┗</div> -->
</template>
</el-table-column>
<el-table-column label="类型" align="center" prop="" width="120">
<template #default="scope">
=======
@select="handleSelectionChange"
>
<el-table-column type="expand" width="1" style="width: 0">
@@ -630,31 +123,20 @@
<el-table-column label="类型" align="center" prop="" width="120">
<template #default="scope">
{{ console.log(scope.row, 1111) }}
>>>>>>> v1.3
<el-radio-group
v-model="scope.row.therapyEnum"
size="small"
v-if="getRowDisabled(scope.row)"
<<<<<<< HEAD
>
<el-radio-button label="长期" value="1" />
<el-radio-button label="临时" value="2" />
=======
@change="(val) => handleTherapyChange(val, scope.row)"
>
<el-radio-button label="1">长期</el-radio-button>
<el-radio-button label="2">临时</el-radio-button>
>>>>>>> v1.3
</el-radio-group>
<span
v-else
:style="scope.row.therapyEnum == '1' ? 'color: #a6745c' : 'color: #3787a5'"
>
<<<<<<< HEAD
{{ scope.row.therapyEnum_enumText }}
=======
{{ scope.row.therapyEnum === '1' ? '长期' : '临时' }}
>>>>>>> v1.3
</span>
</template>
</el-table-column>
@@ -662,11 +144,7 @@
<template #default="scope">
<template v-if="getRowDisabled(scope.row)">
<el-select
<<<<<<< HEAD
style="width: 35%; margin-right: 20px"
=======
style="width: 35%; margin-right: 8px"
>>>>>>> v1.3
v-model="scope.row.adviceType"
:ref="'adviceTypeRef' + scope.$index"
@change="
@@ -676,10 +154,7 @@
adviceQueryParams.adviceType = value;
}
"
<<<<<<< HEAD
=======
clearable
>>>>>>> v1.3
>
<el-option
v-for="item in adviceTypeList"
@@ -710,11 +185,7 @@
<template #reference>
<el-input
:ref="'adviceRef' + scope.$index"
<<<<<<< HEAD
style="width: 50%"
=======
style="width: 62%"
>>>>>>> v1.3
v-model="scope.row.adviceName"
placeholder="请选择项目"
@input="handleChange"
@@ -791,16 +262,6 @@
{{ console.log(scope.row) }}
<span v-if="!scope.row.isEdit && scope.row.adviceType == 1" style="text-align: right">
{{
<<<<<<< HEAD
scope.row.rateCode_dictText
? scope.row.rateCode_dictText +
' ' +
scope.row.dispensePerDuration +
'天' +
' ' +
scope.row.methodCode_dictText
: ''
=======
[
scope.row.rateCode_dictText,
scope.row.dispensePerDuration ? scope.row.dispensePerDuration + '' : '',
@@ -808,7 +269,6 @@
]
.filter(Boolean)
.join(' ')
>>>>>>> v1.3
}}
</span>
</template>
@@ -848,10 +308,6 @@
:diagnosis="diagnosisInfo"
:patientInfo="patientInfo"
@userPrescriptionHistory="handleSaveHistory"
<<<<<<< HEAD
/> -->
<LeaveHospitalDialog ref="leaveHospitalDialogRef" />
=======
/>
<LeaveHospitalDialog
ref="leaveHospitalDialogRef"
@@ -861,7 +317,6 @@
:encounter-diagnosis-id="encounterDiagnosisId"
@success="handleLeaveHospitalSuccess"
/>
>>>>>>> v1.3
<TransferOrganizationDialog ref="transferOrganizationRef" />
</div>
<!-- <el-drawer v-model="openDrawer" size="100%">
@@ -902,12 +357,9 @@ import useUserStore from '@/store/modules/user';
import ApplicationFormBottomBtn from './applicationForm/applicationFormBottomBtn.vue';
import LeaveHospitalDialog from './applicationForm/leaveHospitalDialog.vue';
import TransferOrganizationDialog from './applicationForm/transferOrganizationDialog.vue';
<<<<<<< HEAD
=======
import NursingStatus from '@/views/inpatientDoctor/home/components/applicationShow/nursingStatus.vue';
import OrderForm from './OrderForm.vue';
import { computed, watch } from 'vue';
>>>>>>> v1.3
const emit = defineEmits(['selectDiagnosis']);
const total = ref(0);
const queryParams = ref({});
@@ -1937,18 +1389,6 @@ function handleSingOut() {
// 停嘱
function handleStopAdvice() {
<<<<<<< HEAD
let requestIdList = prescriptionList.value
.filter((item) => {
return item.check;
})
.map((item) => {
return {
requestId: item.requestId,
adviceType: item.adviceType,
};
});
=======
let selectRows = prescriptionRef.value.getSelectionRows();
console.log('selectRows======>', JSON.stringify(selectRows));
if ((selectRows || []).length <= 0) {
@@ -2018,7 +1458,6 @@ function handleStopAdvice() {
adviceType: item.adviceType,
};
});
>>>>>>> v1.3
// if (requestIdList.length == 0) {
// proxy.$modal.msgWarning('仅长期医嘱可停止');
// return;
@@ -2452,25 +1891,9 @@ function sortPrescriptionList() {
}
function handleLeaveHospital() {
<<<<<<< HEAD
proxy.$refs['leaveHospitalDialogRef'].openDialog();
}
function handleTransferOrg() {
proxy.$refs['transferOrganizationRef'].openDialog();
}
// 处理行chexkbox选中
function handleCheckBoxChange(value, index, row) {
// 选中将当前行索引记录下来,取消将当前行索引删除
if (value) {
groupIndexList.value.push(index);
} else {
groupIndexList.value.splice(groupIndexList.value.indexOf(index), 1);
=======
if (!patientInfo.value) {
proxy.$modal.msgWarning('请先选择患者');
return;
>>>>>>> v1.3
}
proxy.$refs['leaveHospitalDialogRef'].openDialog();
}

View File

@@ -5,10 +5,6 @@
-->
<template>
<div class="emr-use-container">
<<<<<<< HEAD
<div class="disBtn" :class="{'disLeftBtnNor':leftShow,'disLeftBtnAct':!leftShow}" @click="disNode"><img src="../../../../assets/icons/svg/foldup.svg"></div>
<div class="disBtn" :class="{'disRightBtnNor':rightShow,'disRightBtnAct':!rightShow}" @click="disNode_R"><img src="../../../../assets/icons/svg/foldup.svg"></div>
=======
<div
class="disBtn"
:class="{ disLeftBtnNor: leftShow, disLeftBtnAct: !leftShow }"
@@ -23,7 +19,6 @@
>
<img src="../../../../assets/icons/svg/foldup.svg" />
</div>
>>>>>>> v1.3
<transition name="el-zoom-in-left">
<div class="template-tree-container" v-if="leftShow">
<div class="search-box">
@@ -35,15 +30,6 @@
</div>
<el-scrollbar class="template-tree-scrollbar">
<el-tree
<<<<<<< HEAD
ref="templateTree"
:data="templateData"
:props="defaultProps"
auto-expand-parent
node-key="id"
@node-click="handleNodeClick"
class="template-tree"
=======
ref="templateTree"
:data="templateData"
:props="defaultProps"
@@ -51,7 +37,6 @@
node-key="id"
@node-click="handleNodeClick"
class="template-tree"
>>>>>>> v1.3
></el-tree>
</el-scrollbar>
</div>
@@ -91,31 +76,18 @@
<el-tabs v-model="quicklyactiveName" type="card">
<el-tab-pane label="历史" name="history">
<History
<<<<<<< HEAD
@historyClick="handleHistoryClick"
ref="historyRef"
v-model:definitionId="currentSelectTemplate.id"
=======
@historyClick="handleHistoryClick"
ref="historyRef"
v-model:definitionId="currentSelectTemplate.id"
:selectedRecordId="selectedHistoryRecordId"
>>>>>>> v1.3
/>
</el-tab-pane>
<el-tab-pane label="模版" name="model">
<Template
<<<<<<< HEAD
@templateClick="handleTemplateClick"
ref="templateRef"
v-model:definitionId="currentSelectTemplate.id"
@edit="templateEdit"
=======
@templateClick="handleTemplateClick"
ref="templateRef"
v-model:definitionId="currentSelectTemplate.id"
@edit="templateEdit"
>>>>>>> v1.3
/>
</el-tab-pane>
</el-tabs>
@@ -176,9 +148,6 @@ const emrComponentRef = ref(null);
const quicklyactiveName = ref('history');
const leftShow = ref(true);
const rightShow = ref(true);
<<<<<<< HEAD
=======
watch(patientInfo, () => {
historyRef.value?.queryList();
templateRef.value?.queryList();
@@ -187,7 +156,6 @@ const templateTree = ref(null);
// 当前选中的历史病历ID用于在History组件中高亮显示
const selectedHistoryRecordId = ref('');
>>>>>>> v1.3
// 树配置(模板树)
const defaultProps = {
@@ -790,17 +758,10 @@ defineExpose({ state });
const disNode = () => {
leftShow.value = !leftShow.value;
<<<<<<< HEAD
}
const disNode_R = () => {
rightShow.value = !rightShow.value;
}
=======
};
const disNode_R = () => {
rightShow.value = !rightShow.value;
};
>>>>>>> v1.3
</script>
<style lang="scss" scoped>
.emr-use-container {
@@ -827,11 +788,7 @@ const disNode_R = () => {
height: 60px;
z-index: 1111;
img {
<<<<<<< HEAD
transform: rotate(-90deg) ;
=======
transform: rotate(-90deg);
>>>>>>> v1.3
}
}
.disLeftBtnAct {

View File

@@ -3,18 +3,6 @@
* @Date: 2025-04-07 12:58:22
* @Description:
*/
<<<<<<< HEAD
import PatientList from './components/patientList.vue'
import PatientCard from './components/patientCard/index.vue'
import Advice from './components/order/index.vue'
import Diagnose from './components/diagnosis/diagnosis.vue'
import BloodTtransfusionAapplication from './components/applicationShow/bloodTtransfusionAapplication.vue'
import ExamineApplication from './components/applicationShow/examineApplication.vue'
import SurgeryApplication from './components/applicationShow/surgeryApplication.vue'
import TestApplication from './components/applicationShow/testApplication.vue'
import NursingStatus from './components/applicationShow/nursingStatus.vue'
export { PatientList, PatientCard, Advice,Diagnose, BloodTtransfusionAapplication, ExamineApplication, SurgeryApplication, TestApplication, NursingStatus }
=======
import Advice from './components/order/index.vue';
import Diagnose from './components/diagnosis/diagnosis.vue';
import BloodTtransfusionAapplication from './components/applicationShow/bloodTtransfusionAapplication.vue';
@@ -33,4 +21,3 @@ export {
NursingStatus,
ReportQuery,
};
>>>>>>> v1.3

View File

@@ -15,17 +15,7 @@
<el-tab-pane label="临床医嘱" name="prescription">
<Advice ref="adviceRef" />
</el-tab-pane>
<<<<<<< HEAD
<el-tab-pane label="诊断录入" name="diagnosis">
<Diagnose ref="diagnosisRef" :patientInfo="patientInfo" />
</el-tab-pane>
<el-tab-pane label="住院病历" name="inhospitalEmr">
<Emr ref="inhospitalEmrRef"/>
</el-tab-pane>
<el-tab-pane label="医技报告" name="fourth">Task</el-tab-pane>
=======
<!-- <el-tab-pane label="医技报告" name="fourth">Task</el-tab-pane> -->
>>>>>>> v1.3
<el-tab-pane label="检验申请" name="test">
<TestApplication ref="testApplicationRef" />
</el-tab-pane>
@@ -38,18 +28,12 @@
<el-tab-pane label="输血申请" name="blood">
<BloodTtransfusionAapplication ref="bloodTtransfusionAapplicationRef" />
</el-tab-pane>
<<<<<<< HEAD
<el-tab-pane label="护理状态" name="nursing">
<NursingStatus />
</el-tab-pane>
=======
<el-tab-pane label="报告查询" name="report">
<ReportQuery />
</el-tab-pane>
<!-- <el-tab-pane label="护理状态" name="nursing">
<NursingStatus />
</el-tab-pane> -->
>>>>>>> v1.3
</el-tabs>
</el-main>
</el-container>
@@ -57,15 +41,6 @@
</div>
</template>
<script setup>
<<<<<<< HEAD
import { getCurrentInstance, onBeforeMount, onMounted, reactive, ref } from 'vue';
// const { proxy } = getCurrentInstance()
// const emits = defineEmits([])
// const props = defineProps({})
import Emr from './emr/index.vue';
import inPatientBarDoctorFold from '@/components/patientBar/inPatientBarDoctorFold.vue';
=======
>>>>>>> v1.3
import {
getCurrentInstance,
onBeforeMount,
@@ -90,10 +65,7 @@ import {
SurgeryApplication,
TestApplication,
NursingStatus,
<<<<<<< HEAD
=======
ReportQuery,
>>>>>>> v1.3
} from './index.js';
const state = reactive({});
onBeforeMount(() => {});