Compare commits

...

2 Commits

Author SHA1 Message Date
LiJianZhao 056428efce Merge branch 'main' of ssh://git.jizhiweb.cn:2222/clinic-v2/web 2025-05-08 15:17:42 +08:00
LiJianZhao d6474e2629 dev 2025-05-08 15:17:34 +08:00
6 changed files with 35 additions and 47 deletions

View File

@ -9,7 +9,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="number" label="数量"> <el-table-column prop="number" label="数量">
<template #default="scope"> <template #default="scope">
<div v-if="disabled||props.status==0"> <div v-if="props.status">
<el-input-number v-model="scope.row.selectedNum" min="0" @change="handleNumChange" <el-input-number v-model="scope.row.selectedNum" min="0" @change="handleNumChange"
size="small"></el-input-number> size="small"></el-input-number>
<el-dropdown> <el-dropdown>
@ -35,7 +35,7 @@
{{ scope.row.selectedNum * scope.row.selectedPrice }} {{ scope.row.selectedNum * scope.row.selectedPrice }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" v-if="disabled||props.status==0"> <el-table-column label="操作" v-if="props.status">
<template #default="scope"> <template #default="scope">
<el-button type="danger" link @click="delGoods(scope.row)">X</el-button> <el-button type="danger" link @click="delGoods(scope.row)">X</el-button>
</template> </template>
@ -44,11 +44,12 @@
<div class="bottom"> <div class="bottom">
<div class="search"> <div class="search">
<SearchInput <SearchInput
:disabled="!disabled"
:request-api="goodsSearchApi" :request-api="goodsSearchApi"
:show-config="goodsShowConfig" :show-config="goodsShowConfig"
:placeholder="'请输入药名或者拼音码'" :placeholder="'请输入药名或者拼音码'"
@selectedCallBack="goodsSelect"></SearchInput> @selectedCallBack="goodsSelect"
v-if="status"
></SearchInput>
</div> </div>
<span>合计{{ getTotalPrice() }}</span> <span>合计{{ getTotalPrice() }}</span>
</div> </div>
@ -61,7 +62,7 @@ import Panel from "@/components/common/Panel.vue";
const props = defineProps({ const props = defineProps({
status: { status: {
type: Number, type: Boolean,
default: 0 default: 0
} }
}) })

View File

@ -9,7 +9,7 @@
</el-table-column> </el-table-column>
<el-table-column label="数量"> <el-table-column label="数量">
<template #default="scope"> <template #default="scope">
<el-input-number v-if="disabled||props.status==0" v-model="scope.row.selectedNum" min="0" <el-input-number v-if="props.status" v-model="scope.row.selectedNum" min="0"
@change="handleNumChange" size="small"></el-input-number> @change="handleNumChange" size="small"></el-input-number>
<span v-else>{{ scope.row.selectedNum }}</span> <span v-else>{{ scope.row.selectedNum }}</span>
{{ scope.row.selectedUnit }} {{ scope.row.selectedUnit }}
@ -20,7 +20,7 @@
{{ scope.row.selectedNum * scope.row.selectedPrice }} {{ scope.row.selectedNum * scope.row.selectedPrice }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" v-if="disabled||props.status==0"> <el-table-column label="操作" v-if="props.status">
<template #default="scope"> <template #default="scope">
<el-button type="danger" link @click="delService(scope.row)">X</el-button> <el-button type="danger" link @click="delService(scope.row)">X</el-button>
</template> </template>
@ -32,8 +32,7 @@
:placeholder="'请输入药服务项目或拼音码'" :placeholder="'请输入药服务项目或拼音码'"
:request-api="serviceSearchApi" :request-api="serviceSearchApi"
:show-config="serviceShowConfig" :show-config="serviceShowConfig"
:disabled="!disabled" @selectedCallBack="serviceSelect" v-if="status"></SearchInput>
@selectedCallBack="serviceSelect"></SearchInput>
</div> </div>
<span>合计{{ getTotalPrice() || 0 }}</span> <span>合计{{ getTotalPrice() || 0 }}</span>
</div> </div>
@ -46,7 +45,7 @@ import Panel from "@/components/common/Panel.vue";
const props = defineProps({ const props = defineProps({
status: { status: {
type: Number, type: Boolean,
default: 0 default: 0
} }
}) })
@ -92,16 +91,8 @@ const getTotalPrice = () => {
return totalPrice; return totalPrice;
} }
const disabled = ref<any>(false)
watchEffect(() => {
if (props.status == 2 || props.status == 0) {
disabled.value = true
} else {
disabled.value = false
}
}
)
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
:deep(.el-table__cell) { :deep(.el-table__cell) {

View File

@ -15,12 +15,12 @@
<div class="container"> <div class="container">
<el-form :model="formDate" label-width="auto" ref="formRef"> <el-form :model="formDate" label-width="auto" ref="formRef">
<el-form-item label="主诉"> <el-form-item label="主诉">
<PopoverInput :disabled="disabled" v-model="formDate.mainAppeal" :list="mainAppealList" @focus="focus"/> <PopoverInput :disabled="props.disabled" v-model="formDate.mainAppeal" :list="mainAppealList" @focus="focus"/>
</el-form-item> </el-form-item>
<el-form-item label="诊断"> <el-form-item label="诊断">
<DiagnosisSearchInput <DiagnosisSearchInput
ref="diagnosisSearchRef" ref="diagnosisSearchRef"
:disabled="disabled" :disabled="props.disabled"
:request-api="diagnosisSearchApi" :request-api="diagnosisSearchApi"
:show-config="diagnosisShowConfig" :show-config="diagnosisShowConfig"
@selectedCallBack="diagnosisSelect" @selectedCallBack="diagnosisSelect"
@ -29,31 +29,31 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="现病史" v-if="!props.isShowFrom"> <el-form-item label="现病史" v-if="!props.isShowFrom">
<PopoverInput :disabled="disabled" v-model="formDate.nowMedicalHistory" :list="nowMedicalHistoryList"/> <PopoverInput :disabled="props.disabled" v-model="formDate.nowMedicalHistory" :list="nowMedicalHistoryList"/>
</el-form-item> </el-form-item>
<el-form-item label="既往史" v-if="!props.isShowFrom"> <el-form-item label="既往史" v-if="!props.isShowFrom">
<PopoverInput :disabled="disabled" v-model="formDate.beforeMedicalHistory" :list="beforeMedicalHistoryList"/> <PopoverInput :disabled="props.disabled" v-model="formDate.beforeMedicalHistory" :list="beforeMedicalHistoryList"/>
</el-form-item> </el-form-item>
<el-form-item label="过敏史" v-if="!props.isShowFrom"> <el-form-item label="过敏史" v-if="!props.isShowFrom">
<PopoverInput :disabled="disabled" v-model="formDate.allergyHistory" :list="allergyHistoryList"/> <PopoverInput :disabled="props.disabled" v-model="formDate.allergyHistory" :list="allergyHistoryList"/>
</el-form-item> </el-form-item>
<el-form-item label="体格检查" v-if="!props.isShowFrom"> <el-form-item label="体格检查" v-if="!props.isShowFrom">
<PhysiqueExamInuput :disabled="disabled" v-model="formDate.exam" :list="physiqueExamList"/> <PhysiqueExamInuput :disabled="props.disabled" v-model="formDate.exam" :list="physiqueExamList"/>
</el-form-item> </el-form-item>
<el-form-item label="望闻问切" v-if="modelType==1&&!props.isShowFrom"> <el-form-item label="望闻问切" v-if="modelType==1&&!props.isShowFrom">
<PopoverInput :disabled="disabled" v-model="formDate.chinaAdjunctCheck" :list="chinaAdjunctCheckList"/> <PopoverInput :disabled="props.disabled" v-model="formDate.chinaAdjunctCheck" :list="chinaAdjunctCheckList"/>
</el-form-item> </el-form-item>
<el-form-item label="治法" v-if="modelType==1&&!props.isShowFrom"> <el-form-item label="治法" v-if="modelType==1&&!props.isShowFrom">
<el-input v-model="formDate.chinaDeal" :disabled="disabled"></el-input> <el-input v-model="formDate.chinaDeal" :disabled="props.disabled"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="口腔检查" v-if="modelType==2&&!props.isShowFrom"> <el-form-item label="口腔检查" v-if="modelType==2&&!props.isShowFrom">
<el-input :disabled="disabled" v-model="formDate.mouthCheck"></el-input> <el-input :disabled="props.disabled" v-model="formDate.mouthCheck"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="辅助检查" v-if="(modelType==2 || modelType ==0)&&!props.isShowFrom"> <el-form-item label="辅助检查" v-if="(modelType==2 || modelType ==0)&&!props.isShowFrom">
<el-input :disabled="disabled" v-model="formDate.adjunctCheck"></el-input> <el-input :disabled="props.disabled" v-model="formDate.adjunctCheck"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="处置" v-if="(modelType==0 || modelType ==2)&&!props.isShowFrom"> <el-form-item label="处置" v-if="(modelType==0 || modelType ==2)&&!props.isShowFrom">
<el-input :disabled="disabled" v-model="formDate.deal"></el-input> <el-input :disabled="props.disabled" v-model="formDate.deal"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@ -75,8 +75,8 @@ import DiagnosisSearchInput from "@/components/outpatient/DiagnosisSearchInput.v
import PhysiqueExamInuput from "@/components/outpatient/PhysiqueExamInuput.vue"; import PhysiqueExamInuput from "@/components/outpatient/PhysiqueExamInuput.vue";
const props = defineProps({ const props = defineProps({
status: { disabled: {
type: Number, type: Boolean,
default: 0 default: 0
}, },
isShowFrom:{ isShowFrom:{
@ -84,11 +84,6 @@ const props = defineProps({
default: false default: false
} }
}) })
const disabled = computed(() => {
if(props.status === 1){
return true
}
})
const formDate = defineModel<any>(); const formDate = defineModel<any>();
const modelType = ref(0) const modelType = ref(0)

View File

@ -105,6 +105,10 @@ const clickLi = (item: any) => {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
callback: (action: any) => { callback: (action: any) => {
if (action == "cancel"){
curItem.value = null
return
}
if (action == "confirm") { if (action == "confirm") {
post('registration/changeStatus', {id: item.id, status: 2}).then((res: any) => { post('registration/changeStatus', {id: item.id, status: 2}).then((res: any) => {
curStatus.value = 2 curStatus.value = 2
@ -118,9 +122,7 @@ const clickLi = (item: any) => {
emit('clickItem', curItem.value) emit('clickItem', curItem.value)
} }
const changeCurItemOrStatus = (item:any, status:any) => { const changeCurItemOrStatus = (item:any, status:any) => {
if (item !=null){
curItem.value = item curItem.value = item
}
if (curStatus != null){ if (curStatus != null){
curStatus.value = status curStatus.value = status
} }
@ -231,7 +233,6 @@ watch(() => curStatus.value, () => {
flex: 1; flex: 1;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center;
.avatar { .avatar {
width: 26px; width: 26px;

View File

@ -20,8 +20,8 @@ const editItem= () => {
<div class="footer"> <div class="footer">
<div>总金额<span class="text icon"></span><span class="text">{{ totalAmount || '0' }}</span></div> <div>总金额<span class="text icon"></span><span class="text">{{ totalAmount || '0' }}</span></div>
<div class="btn-group"> <div class="btn-group">
<el-button v-if="status == 2" @click="deleteItem">取消接诊</el-button> <el-button v-if="status" @click="deleteItem">取消接诊</el-button>
<el-button v-if="status == 2" type="primary" @click="save">完成接诊</el-button> <el-button v-if="status" type="primary" @click="save">完成接诊</el-button>
<!-- <el-button v-if="status == 3" type="primary" @click="editItem">修改</el-button>--> <!-- <el-button v-if="status == 3" type="primary" @click="editItem">修改</el-button>-->
</div> </div>
</div> </div>

View File

@ -7,17 +7,17 @@
<el-scrollbar> <el-scrollbar>
<div class="case"> <div class="case">
<CaseDetail v-if="patientRegistration.status==3" v-model="formData" ></CaseDetail> <CaseDetail v-if="patientRegistration.status==3" v-model="formData" ></CaseDetail>
<Case ref="caseRef" v-else v-model="formData" :isShowFrom="isShowFrom" @focus="focus"></Case> <Case ref="caseRef" v-else v-model="formData" :disabled="curRegister?.status !=2" :isShowFrom="isShowFrom" @focus="focus"></Case>
</div> </div>
<div class="service-items"> <div class="service-items">
<ServiceDetail v-model="formData.itemDetail" @focus="focus" @totalPriceChange="getOrderTotalPrice"></ServiceDetail> <ServiceDetail v-model="formData.itemDetail" @focus="focus" @totalPriceChange="getOrderTotalPrice" :status="curRegister?.status ==2"></ServiceDetail>
</div> </div>
<div class="pharmaceutical-consumables"> <div class="pharmaceutical-consumables">
<GoodsDetail v-model="formData.goodsDetail" @focus="focus" @totalPriceChange="getOrderTotalPrice"></GoodsDetail> <GoodsDetail v-model="formData.goodsDetail" @focus="focus" @totalPriceChange="getOrderTotalPrice" :status="curRegister?.status ==2"></GoodsDetail>
</div> </div>
</el-scrollbar> </el-scrollbar>
<div class="bottom"> <div class="bottom">
<Settlement v-model="totalAmount" @cancelReception="cancelReception" @save="save" :status="curRegister?.status" <Settlement v-model="totalAmount" @cancelReception="cancelReception" @save="save" :status="curRegister?.status ==2"
@edit="edit"></Settlement> @edit="edit"></Settlement>
</div> </div>
@ -102,7 +102,7 @@ const save = () => {
} }
post('medical/record/save', {data: data}).then(() => { post('medical/record/save', {data: data}).then(() => {
ElMessage.success("保存成功") ElMessage.success("保存成功")
medicalQueueRef.value?.changeCurItemOrStatus(null,1); medicalQueueRef.value?.changeCurItemOrStatus(null,3);
}) })