Compare commits

..

No commits in common. "75d5734566b80d24018dd39226cdb29d81eaa89a" and "a601da3426736e040dc5f46abb87ddac2149eefe" have entirely different histories.

6 changed files with 53 additions and 82 deletions

View File

@ -1,24 +1,22 @@
<template> <template>
<el-table :data="data.goodsDetail" max-height="150" style="width: 100%"> <el-table :data="data.goodsDetail" max-height="150" style="width: 100%">
<el-table-column prop="name" label="名称" show-overflow-tooltip></el-table-column> <el-table-column prop="name" label="名称" show-overflow-tooltip ></el-table-column>
<el-table-column prop="selectedPrice" label="单价"> <el-table-column prop="selectedPrice" label="单价" >
<template #default="scope"> <template #default="scope">
{{ scope.row.selectedPrice }} {{scope.row.selectedPrice}}
</template> </template>
</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="data.status == 0"> <div v-if="data.status == 0">
<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>
<span style="line-height: 30px;margin-left: 10px">{{ scope.row.selectedUnit }}</span> <span style="line-height: 30px;margin-left: 10px">{{ scope.row.selectedUnit }}</span>
<template #dropdown> <template #dropdown>
<el-dropdown-menu v-if="scope.row.trdnFlag == 1"> <el-dropdown-menu v-if="scope.row.trdnFlag == 1">
<el-dropdown-item @click="selectUnit(scope.row,scope.row.packagingUnit)">{{ scope.row.packagingUnit }} <el-dropdown-item @click="selectUnit(scope.row,scope.row.packagingUnit)">{{ scope.row.packagingUnit }}
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item @click="selectUnit(scope.row,scope.row.minPackagingUnit)"> <el-dropdown-item @click="selectUnit(scope.row,scope.row.minPackagingUnit)">{{ scope.row.minPackagingUnit }}
{{ scope.row.minPackagingUnit }}
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</template> </template>
@ -30,22 +28,19 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="小计"> <el-table-column label="小计" >
<template #default="scope"> <template #default="scope">
{{ 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="data.status == 0"> <el-table-column label="操作" v-if="data.status == 0" >
<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>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="bottom"> <SearchInput v-if="data.status == 0" :request-api="goodsSearchApi" :show-config="goodsShowConfig" @selectedCallBack="goodsSelect"></SearchInput>
<SearchInput v-if="data.status == 0" :request-api="goodsSearchApi" :show-config="goodsShowConfig" <span>合计{{getTotalPrice()}}</span>
@selectedCallBack="goodsSelect"></SearchInput>
<span>合计{{ getTotalPrice() }}</span>
</div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import SearchInput from "@/components/SearchInput.vue"; import SearchInput from "@/components/SearchInput.vue";
@ -87,30 +82,26 @@ const selectUnit = (item: any, unit: any) => {
item.selectedUnit = unit; item.selectedUnit = unit;
if (unit == item.packagingUnit) { if (unit == item.packagingUnit) {
item.selectedPrice = item.unitPrice item.selectedPrice = item.unitPrice
} else if (unit == item.minPackagingUnit) { }else if (unit == item.minPackagingUnit) {
item.selectedPrice = item.disassemblyPrice item.selectedPrice = item.disassemblyPrice
} }
emit('totalPriceChange') emit('totalPriceChange')
} }
const emit = defineEmits(["totalPriceChange"]) const emit = defineEmits(["totalPriceChange"])
const handleNumChange = () => { const handleNumChange = ()=>{
emit('totalPriceChange') emit('totalPriceChange')
} }
const getTotalPrice = () => { const getTotalPrice =()=>{
let totalPrice = 0; let totalPrice = 0;
data.value.goodsDetail?.forEach((item: any) => { data.value.goodsDetail?.forEach((item:any)=>{
totalPrice += item.selectedNum * item.selectedPrice totalPrice += item.selectedNum*item.selectedPrice
}) })
return totalPrice; return totalPrice;
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
:deep(.el-table__cell) { :deep(.el-table__cell){
padding: 0 4px; padding: 0 4px;
} }
.bottom {
text-align: right;
}
</style> </style>

View File

@ -136,9 +136,11 @@ import {onMounted, ref} from "vue";
import {post} from "@/utils/request.ts"; import {post} from "@/utils/request.ts";
const seeDockerInfo = ref<any>(); const seeDockerInfo = ref<any>();
const getSeeDockerInfo = (newValue:any) => { const getSeeDockerInfo = (newValue:any) => {
debugger
if (!newValue)return; if (!newValue)return;
post('medical/record/getSeeDockerInfo', {regisId: newValue}).then((res: any) => { post('medical/record/getSeeDockerInfo', {regisId: newValue}).then((res: any) => {
seeDockerInfo.value = res seeDockerInfo.value = res
debugger
}) })
} }
const init =(regisId:any)=>{ const init =(regisId:any)=>{

View File

@ -25,12 +25,9 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="bottom"> <SearchInput v-if="data.status == 0" :request-api="serviceSearchApi" :show-config="serviceShowConfig"
<SearchInput v-if="data.status == 0" :request-api="serviceSearchApi" :show-config="serviceShowConfig" @selectedCallBack="serviceSelect"></SearchInput>
@selectedCallBack="serviceSelect"></SearchInput> <span>合计{{getTotalPrice()}}</span>
<span>合计{{getTotalPrice()}}</span>
</div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import SearchInput from "@/components/SearchInput.vue"; import SearchInput from "@/components/SearchInput.vue";
@ -78,7 +75,4 @@ const getTotalPrice =()=>{
:deep(.el-table__cell){ :deep(.el-table__cell){
padding: 0 4px; padding: 0 4px;
} }
.bottom{
text-align: right;
}
</style> </style>

View File

@ -1,5 +1,5 @@
<template> <template>
<el-input v-model="keyword" :style="{width:props.width+'px',height: 100+'%'}" @input="changeInput" :disabled="disabled" @click="changeInput" <el-input v-model="keyword" style="width:100%;height: 100%" @input="changeInput" :disabled="disabled" @click="changeInput"
placeholder="诊断选择" ref="inputRef" @focus="focus"></el-input> placeholder="诊断选择" ref="inputRef" @focus="focus"></el-input>
<el-popover placement="bottom-start" trigger="click" :width="props.width" ref="popoverRef" @before-enter="beforeShow" :virtual-ref="inputRef" @hide ="afterShow"> <el-popover placement="bottom-start" trigger="click" :width="props.width" ref="popoverRef" @before-enter="beforeShow" :virtual-ref="inputRef" @hide ="afterShow">

View File

@ -31,7 +31,7 @@
</Panel> </Panel>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import {nextTick, onMounted, ref, watch} from "vue"; import {onMounted, ref, watch} from "vue";
import Panel from "@/components/common/Panel.vue"; import Panel from "@/components/common/Panel.vue";
import {post} from "@/utils/request.ts"; import {post} from "@/utils/request.ts";
import {formatListTime} from "@/utils/dateUtils.ts"; import {formatListTime} from "@/utils/dateUtils.ts";
@ -48,15 +48,13 @@ const search = ref('')
const curItem = ref<any>('') const curItem = ref<any>('')
const emit = defineEmits(['getId', 'changeDetail', 'getStatus']) const emit = defineEmits(['getId', 'changeDetail', 'getStatus'])
const tab = (item: any) => { const tab = (item: any) => {
nextTick(()=>{ emit('getStatus', item.value)
emit('getStatus', item.value) init()
init() if (item.value == 3) {
if (item.value == 3) { emit('changeDetail', true)
emit('changeDetail', true) } else {
} else { emit('changeDetail', false)
emit('changeDetail', false) }
}
})
} }
const list = ref<any>([]) const list = ref<any>([])

View File

@ -7,36 +7,28 @@
<el-scrollbar> <el-scrollbar>
<div> <div>
<Panel title="医疗诊断"> <Panel title="医疗诊断">
<template #tools>
<el-cascader
v-model="formData.doctorId"
:options="sectionDoctorOption"
:props="props"
@change="handleChange"
clearable
/>
</template>
<template #default> <template #default>
<div class="diagnosis-content"> <div style="height:64px;padding:0 24px 24px">
<div class="diagnosis"> <DiagnosisSearchInput
诊断 v-model="diagnosisKeyword"
<DiagnosisSearchInput :request-api="diagnosisSearchApi"
v-model="diagnosisKeyword" :show-config="diagnosisShowConfig"
:request-api="diagnosisSearchApi" @selectedCallBack="diagnosisSelect"
:show-config="diagnosisShowConfig" ref="diagnosisSearchRef"
:width="600" :show-header="false"
@selectedCallBack="diagnosisSelect" :disabled="statusDisabled==1"
ref="diagnosisSearchRef"
:show-header="false"
:disabled="statusDisabled==1"
>
</DiagnosisSearchInput>
</div>
<div class="doctor">
医生
<el-cascader
v-model="formData.doctorId"
:options="sectionDoctorOption"
:props="props"
@change="handleChange"
clearable
size="large"
/>
</div>
>
</DiagnosisSearchInput>
</div> </div>
</template> </template>
</Panel> </Panel>
@ -243,12 +235,6 @@ const generateOptions = () => {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;
.diagnosis-content{
height:64px;
padding:0 24px 24px;
display: flex;
justify-content: left;
}
.case { .case {
background: #FFFFFF; background: #FFFFFF;