dev
This commit is contained in:
parent
7402bffd1f
commit
48c69fa2a0
|
|
@ -92,4 +92,3 @@ body {
|
||||||
.clear-margin {
|
.clear-margin {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,51 +13,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<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-descriptions-->
|
|
||||||
<!-- :column="1"-->
|
|
||||||
<!-- border-->
|
|
||||||
<!-- >-->
|
|
||||||
<!-- <el-descriptions-item label="主诉">-->
|
|
||||||
<!-- <PopoverInput v-model="formDate.mainAppeal" :list="tempList"/>-->
|
|
||||||
<!-- </el-descriptions-item>-->
|
|
||||||
<!-- <el-descriptions-item label="诊断">-->
|
|
||||||
<!-- <DiagnosisSearchInput-->
|
|
||||||
<!-- :request-api="diagnosisSearchApi"-->
|
|
||||||
<!-- :show-config="diagnosisShowConfig"-->
|
|
||||||
<!-- @selectedCallBack="diagnosisSelect"-->
|
|
||||||
<!-- :show-header="false">-->
|
|
||||||
<!-- </DiagnosisSearchInput>-->
|
|
||||||
<!-- </el-descriptions-item>-->
|
|
||||||
<!-- <el-descriptions-item label="现病史">-->
|
|
||||||
<!-- <PopoverInput v-model="formDate.nowMedicalHistory" :list="tempList"/>-->
|
|
||||||
<!-- </el-descriptions-item>-->
|
|
||||||
<!-- <el-descriptions-item label="既往史">-->
|
|
||||||
<!-- <PopoverInput v-model="formDate.beforeMedicalHistory" :list="tempList"/>-->
|
|
||||||
<!-- </el-descriptions-item>-->
|
|
||||||
<!-- <el-descriptions-item label="过敏史">-->
|
|
||||||
<!-- <PopoverInput v-model="formDate.allergyHistory" :list="tempList"/>-->
|
|
||||||
<!-- </el-descriptions-item>-->
|
|
||||||
<!-- <el-descriptions-item label="体格检查">-->
|
|
||||||
<!-- <PopoverInput v-model="formDate.exam" :list="tempList"/>-->
|
|
||||||
<!-- </el-descriptions-item>-->
|
|
||||||
<!-- <el-descriptions-item label="望闻问切" v-if="modelType==1">-->
|
|
||||||
<!-- <PopoverInput v-model="formDate.chinaAdjunctCheck" :list="tempList"/>-->
|
|
||||||
<!-- </el-descriptions-item>-->
|
|
||||||
<!-- <el-descriptions-item label="法制" v-if="modelType==1">-->
|
|
||||||
<!-- <PopoverInput v-model="formDate.chinaDeal" :list="tempList"/>-->
|
|
||||||
<!-- </el-descriptions-item>-->
|
|
||||||
<!-- <el-descriptions-item label="口腔检查" v-if="modelType==2">-->
|
|
||||||
<!-- <el-input v-model="formDate.mouthCheck"></el-input>-->
|
|
||||||
<!-- </el-descriptions-item>-->
|
|
||||||
<!-- <el-descriptions-item label="辅助检查" v-if="modelType==2 || modelType ==0">-->
|
|
||||||
<!-- <PopoverInput v-model="formDate.adjunctCheck" :list="tempList"/>-->
|
|
||||||
<!-- </el-descriptions-item>-->
|
|
||||||
<!-- <el-descriptions-item label="处置" v-if="modelType==0 || modelType ==2">-->
|
|
||||||
<!-- <PopoverInput v-model="formDate.deal" :list="tempList"/>-->
|
|
||||||
<!-- </el-descriptions-item>-->
|
|
||||||
<!-- </el-descriptions>-->
|
|
||||||
<el-form-item label="主诉">
|
<el-form-item label="主诉">
|
||||||
<PopoverInput v-model="formDate.mainAppeal" :list="tempList"/>
|
<PopoverInput v-model="formDate.mainAppeal" :list="tempList"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -144,6 +100,6 @@ const diagnosisSelect = (list: any) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
margin-left: 20px;
|
margin: 24px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
@ -9,10 +9,10 @@
|
||||||
<el-tooltip
|
<el-tooltip
|
||||||
class="box-item"
|
class="box-item"
|
||||||
effect="dark"
|
effect="dark"
|
||||||
:content="item.diagnosisSummary"
|
:content="item.diagnosisMedicalRecord.diagnosisSummary"
|
||||||
placement="bottom-start"
|
placement="bottom-start"
|
||||||
>
|
>
|
||||||
<span class="disease-name">{{ item.diagnosisSummary }}</span>
|
<span class="disease-name">{{ item.diagnosisMedicalRecord.diagnosisSummary }}</span>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<!-- <span class="doctor">{{ item.patientId }}</span>-->
|
<!-- <span class="doctor">{{ item.patientId }}</span>-->
|
||||||
<!-- <span class="time">{{ item.createDatetime }}</span>-->
|
<!-- <span class="time">{{ item.createDatetime }}</span>-->
|
||||||
|
|
|
||||||
|
|
@ -131,7 +131,6 @@ watch(() => props.status, () => {
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.tabs {
|
.tabs {
|
||||||
height: 27px;
|
height: 27px;
|
||||||
width: 100%;
|
|
||||||
border-bottom: 1px solid #EAEAEC;
|
border-bottom: 1px solid #EAEAEC;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: #999999;
|
color: #999999;
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
</template>
|
</template>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
</span>
|
</span>
|
||||||
<span class="price">¥{{ item.selectedPrice * item.selectedPrice || '0' }}元</span>
|
<span class="price">¥{{item.selectedPrice || '0' }}元</span>
|
||||||
<span class="delete">
|
<span class="delete">
|
||||||
<el-button type="text" @click="deleteItem(item.id)">
|
<el-button type="text" @click="deleteItem(item.id)">
|
||||||
<el-icon><CircleClose/></el-icon>
|
<el-icon><CircleClose/></el-icon>
|
||||||
|
|
@ -41,7 +41,7 @@
|
||||||
</SearchInput>
|
</SearchInput>
|
||||||
</div>
|
</div>
|
||||||
<span style="margin-right: 24px">
|
<span style="margin-right: 24px">
|
||||||
¥{{ list.reduce((acc, cur) => acc + cur.minPackagingUnit * cur.unitPrice, 0) }}元
|
¥{{ sumPrice}}元
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -51,6 +51,7 @@
|
||||||
import Panel from "@/components/common/Panel.vue";
|
import Panel from "@/components/common/Panel.vue";
|
||||||
import SearchInput from "@/components/SearchInput.vue";
|
import SearchInput from "@/components/SearchInput.vue";
|
||||||
import {CircleClose} from "@element-plus/icons-vue";
|
import {CircleClose} from "@element-plus/icons-vue";
|
||||||
|
import {watch,ref} from "vue";
|
||||||
|
|
||||||
|
|
||||||
const itemSearchApi = "goods/goods/search";
|
const itemSearchApi = "goods/goods/search";
|
||||||
|
|
@ -90,6 +91,12 @@ const selectUnit = (item: any, unit: any) => {
|
||||||
item.selectedPrice = item.disassemblyPrice
|
item.selectedPrice = item.disassemblyPrice
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const sumPrice = ref(0)
|
||||||
|
watch(()=>list.value, (newList) => {
|
||||||
|
sumPrice.value = newList.reduce((total, item) => {
|
||||||
|
return total + (item.selectNum || 0) * (item.selectedPrice || 0);
|
||||||
|
}, 0);
|
||||||
|
}, {deep: true})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import Panel from '../common/Panel.vue';
|
import Panel from '../common/Panel.vue';
|
||||||
import {defineEmits, defineModel} from 'vue'
|
import {defineEmits, defineModel,defineProps} from 'vue'
|
||||||
|
const {status}=defineProps(['status'])
|
||||||
const emit = defineEmits(['save','deleteItem']);
|
const emit = defineEmits(['save','deleteItem']);
|
||||||
const save = () => {
|
const save = () => {
|
||||||
emit('save');
|
emit('save');
|
||||||
|
|
@ -18,8 +18,9 @@ const totalAmount = defineModel<any>()
|
||||||
<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 @click="deleteItem">取消接诊</el-button>
|
<el-button v-if="status == 2" @click="deleteItem">取消接诊</el-button>
|
||||||
<el-button type="primary" @click="save">完成接诊</el-button>
|
<el-button v-if="status == 2" type="primary" @click="save">完成接诊</el-button>
|
||||||
|
<el-button v-if="status == 3" type="primary">修改</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Panel>
|
</Panel>
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,9 @@
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="单位">
|
<el-descriptions-item label="单位">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model="form.unit"/>
|
<el-input v-model.number="form.unit" min="0">
|
||||||
|
<template #append>次</template>
|
||||||
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="医保码">
|
<el-descriptions-item label="医保码">
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
<PharmaceuticalConsumables v-else v-model="goodsList"></PharmaceuticalConsumables>
|
<PharmaceuticalConsumables v-else v-model="goodsList"></PharmaceuticalConsumables>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<Settlement v-model="totalAmount" @deleteItem="deleteItem" @save="save"></Settlement>
|
<Settlement v-if="status!=1" v-model="totalAmount" @deleteItem="deleteItem" @save="save" :status="status"></Settlement>
|
||||||
</div>
|
</div>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -85,10 +85,11 @@ const save = () => {
|
||||||
const totalAmount = ref(0)
|
const totalAmount = ref(0)
|
||||||
const medicalInformationRef = ref()
|
const medicalInformationRef = ref()
|
||||||
const medicalHistoryRef = ref()
|
const medicalHistoryRef = ref()
|
||||||
const patientRegistration= ref<any>({})
|
const patientRegistration = ref<any>({})
|
||||||
const getId = (item: any) => {
|
const getId = (item: any) => {
|
||||||
registerId.value = item.id
|
registerId.value = item.id
|
||||||
patientId.value = item.patientInfoId
|
patientId.value = item.patientInfoId
|
||||||
|
status.value = item.status
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
medicalHistoryRef.value?.init(patientId.value);
|
medicalHistoryRef.value?.init(patientId.value);
|
||||||
})
|
})
|
||||||
|
|
@ -105,7 +106,7 @@ const getId = (item: any) => {
|
||||||
formData.value = res.diagnosisMedicalRecord
|
formData.value = res.diagnosisMedicalRecord
|
||||||
goodsList.value = res.goodsDetail
|
goodsList.value = res.goodsDetail
|
||||||
itemList.value = res.itemDetail
|
itemList.value = res.itemDetail
|
||||||
patientRegistration.value=res.patientRegistration
|
patientRegistration.value = res.patientRegistration
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -119,15 +120,16 @@ const getStatus = (e: any) => {
|
||||||
status.value = e
|
status.value = e
|
||||||
}
|
}
|
||||||
// 使用 watch 监听 goodsList 和 itemList 的变化
|
// 使用 watch 监听 goodsList 和 itemList 的变化
|
||||||
watch([goodsList, itemList], ([newGoodsList, newItemList]) => {
|
watch([()=>goodsList.value, itemList], ([newGoodsList, newItemList]) => {
|
||||||
const pharmaceuticalTotalAmount = newItemList.reduce((pre: any, cur: any) => {
|
const pharmaceuticalTotalAmount = newItemList.reduce((pre: any, cur: any) => {
|
||||||
return pre + cur.unitPrice
|
return pre + cur.unitPrice
|
||||||
}, 0);
|
}, 0);
|
||||||
|
|
||||||
const serviceTotalAmount = newGoodsList.reduce((pre: any, cur: any) => {
|
const serviceTotalAmount = newGoodsList.reduce((pre: any, cur: any) => {
|
||||||
return pre + cur.selectedNum * cur.selectedPrice
|
|
||||||
|
return pre + cur.selectNum * cur.selectedPrice
|
||||||
}, 0);
|
}, 0);
|
||||||
totalAmount.value = pharmaceuticalTotalAmount + serviceTotalAmount;
|
totalAmount.value = pharmaceuticalTotalAmount + serviceTotalAmount;
|
||||||
|
console.log(serviceTotalAmount)
|
||||||
}, {deep: true});
|
}, {deep: true});
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
@ -139,7 +141,6 @@ watch([goodsList, itemList], ([newGoodsList, newItemList]) => {
|
||||||
.left {
|
.left {
|
||||||
width: 320px;
|
width: 320px;
|
||||||
margin-right: 24px;
|
margin-right: 24px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.middle {
|
.middle {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue