Compare commits
No commits in common. "72d91f981f3b73f5ebb6dd1ea784d09d2314ba14" and "3a8c371e9c6367f2f5761b305ff98a56694cfde0" have entirely different histories.
72d91f981f
...
3a8c371e9c
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<el-input v-model="input" :style="{'width': props.width+'px'}" clearable :disabled="disabled" ref="inputRef" @click="showPopo" @focus="focus"></el-input>
|
<el-input v-model="input" :style="{'width': props.width+'px'}" clearable :disabled="disabled" ref="inputRef" @click="showPopo"></el-input>
|
||||||
<el-popover placement="bottom-start" trigger="click" :width="props.width" :virtual-ref="inputRef" ref="popoverRef">
|
<el-popover placement="bottom-start" trigger="click" :width="props.width" :virtual-ref="inputRef" ref="popoverRef">
|
||||||
<div class="code-popo" v-if="props.list.length > 0">
|
<div class="code-popo" v-if="props.list.length > 0">
|
||||||
<div class="code-item" v-for="item in props.list">
|
<div class="code-item" v-for="item in props.list">
|
||||||
|
|
@ -50,10 +50,6 @@ const inputStr = (str: string,item:ListItem) => {
|
||||||
|
|
||||||
}
|
}
|
||||||
const inputRef = ref();
|
const inputRef = ref();
|
||||||
const emit=defineEmits(["focus"])
|
|
||||||
const focus = () => {
|
|
||||||
emit("focus", false)
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.code-popo {
|
.code-popo {
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,24 @@
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<el-input
|
<el-input
|
||||||
ref="inputRef"
|
ref="inputRef"
|
||||||
style="width: 100%;height: 100%"
|
style="width: 100%;height: 100%"
|
||||||
v-model="keyword"
|
v-model="keyword"
|
||||||
:prefix-icon="Plus"
|
:prefix-icon="Plus"
|
||||||
:placeholder="props.placeholder"
|
:placeholder="props.placeholder"
|
||||||
:style="{'width': props.width+'px'}"
|
:style="{'width': props.width+'px'}"
|
||||||
clearable
|
clearable
|
||||||
@input="changeInput"
|
@input="changeInput"
|
||||||
class="no-border-input"
|
class="no-border-input"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
@focus="focus"
|
|
||||||
|
|
||||||
>
|
>
|
||||||
</el-input>
|
</el-input>
|
||||||
|
|
||||||
<el-popover placement="bottom-start" trigger="click" :width="props.width" ref="popoverRef" :virtual-ref="inputRef"
|
<el-popover placement="bottom-start" trigger="click" :width="props.width" ref="popoverRef" :virtual-ref="inputRef" :trigger-keys="[]">
|
||||||
:trigger-keys="[]">
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<el-table
|
<el-table
|
||||||
:data="searchList" style="width: 100%"
|
:data="searchList" style="width: 100%"
|
||||||
@row-click="clickRow"
|
@row-click="clickRow"
|
||||||
:show-header="props.showHeader"
|
:show-header="props.showHeader"
|
||||||
max-height="200px"
|
max-height="200px"
|
||||||
|
|
@ -36,13 +35,12 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">import {ref, unref} from "vue";
|
<script setup lang="ts">import {ref, unref} from "vue";
|
||||||
import {post} from "@/utils/request.ts";
|
import { post } from "@/utils/request.ts";
|
||||||
import {Plus} from "@element-plus/icons-vue";
|
import { Plus } from "@element-plus/icons-vue";
|
||||||
|
|
||||||
const keyword = ref("");
|
const keyword = ref("");
|
||||||
const popoverRef = ref();
|
const popoverRef = ref();
|
||||||
const inputRef = ref();
|
const inputRef = ref();
|
||||||
|
|
||||||
interface showConfig {
|
interface showConfig {
|
||||||
prop: string;
|
prop: string;
|
||||||
label: string;
|
label: string;
|
||||||
|
|
@ -82,18 +80,18 @@ const changeInput = (inputStr: string) => {
|
||||||
if (!props.requestApi || props.requestApi === "") {
|
if (!props.requestApi || props.requestApi === "") {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
post(props.requestApi, {keyword: keyword.value}).then((res: any) => {
|
post(props.requestApi, { keyword: keyword.value }).then((res: any) => {
|
||||||
searchList.value = res;
|
searchList.value = res;
|
||||||
});
|
});
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const emit = defineEmits(['selectedCallBack','focus']);
|
const emit = defineEmits(['selectedCallBack']);
|
||||||
|
|
||||||
const clickRow = (row: any) => {
|
const clickRow = (row: any) => {
|
||||||
emit('selectedCallBack', row);
|
emit('selectedCallBack', row);
|
||||||
popoverRef.value.hide();
|
popoverRef.value.hide();
|
||||||
keyword.value = ""
|
keyword.value=""
|
||||||
};
|
};
|
||||||
|
|
||||||
const beforeShow = () => {
|
const beforeShow = () => {
|
||||||
|
|
@ -102,9 +100,7 @@ const beforeShow = () => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const focus=()=>{
|
|
||||||
emit('focus',true)
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
@ -118,8 +114,7 @@ const focus=()=>{
|
||||||
border: none !important;
|
border: none !important;
|
||||||
box-shadow: none !important;
|
box-shadow: none !important;
|
||||||
}
|
}
|
||||||
|
&:hover{
|
||||||
&:hover {
|
|
||||||
border: 1px solid #409eff !important;
|
border: 1px solid #409eff !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
<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="disabled" v-model="formDate.mainAppeal" :list="mainAppealList"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="诊断">
|
<el-form-item label="诊断">
|
||||||
<DiagnosisSearchInput
|
<DiagnosisSearchInput
|
||||||
|
|
@ -24,36 +24,34 @@
|
||||||
:request-api="diagnosisSearchApi"
|
:request-api="diagnosisSearchApi"
|
||||||
:show-config="diagnosisShowConfig"
|
:show-config="diagnosisShowConfig"
|
||||||
@selectedCallBack="diagnosisSelect"
|
@selectedCallBack="diagnosisSelect"
|
||||||
:show-header="false"
|
:show-header="false">
|
||||||
@focus="focus"
|
|
||||||
>
|
|
||||||
</DiagnosisSearchInput>
|
</DiagnosisSearchInput>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="现病史" v-if="!props.isShowFrom">
|
<el-form-item label="现病史">
|
||||||
<PopoverInput :disabled="disabled" v-model="formDate.nowMedicalHistory" :list="nowMedicalHistoryList"/>
|
<PopoverInput :disabled="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="既往史">
|
||||||
<PopoverInput :disabled="disabled" v-model="formDate.beforeMedicalHistory" :list="beforeMedicalHistoryList"/>
|
<PopoverInput :disabled="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="过敏史">
|
||||||
<PopoverInput :disabled="disabled" v-model="formDate.allergyHistory" :list="allergyHistoryList"/>
|
<PopoverInput :disabled="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="体格检查">
|
||||||
<PhysiqueExamInuput :disabled="disabled" v-model="formDate.exam" :list="physiqueExamList"/>
|
<PhysiqueExamInuput :disabled="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">
|
||||||
<PopoverInput :disabled="disabled" v-model="formDate.chinaAdjunctCheck" :list="chinaAdjunctCheckList"/>
|
<PopoverInput :disabled="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">
|
||||||
<el-input v-model="formDate.chinaDeal" :disabled="disabled"></el-input>
|
<el-input v-model="formDate.chinaDeal" :disabled="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">
|
||||||
<el-input :disabled="disabled" v-model="formDate.mouthCheck"></el-input>
|
<el-input :disabled="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">
|
||||||
<el-input :disabled="disabled" v-model="formDate.adjunctCheck"></el-input>
|
<el-input :disabled="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">
|
||||||
<el-input :disabled="disabled" v-model="formDate.deal"></el-input>
|
<el-input :disabled="disabled" v-model="formDate.deal"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
@ -62,7 +60,7 @@
|
||||||
</Panel>
|
</Panel>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {computed, nextTick, ref,defineEmits} from "vue";
|
import {computed, nextTick, ref} from "vue";
|
||||||
import {
|
import {
|
||||||
mainAppealList,
|
mainAppealList,
|
||||||
nowMedicalHistoryList,
|
nowMedicalHistoryList,
|
||||||
|
|
@ -79,10 +77,6 @@ const props = defineProps({
|
||||||
status: {
|
status: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 0
|
default: 0
|
||||||
},
|
|
||||||
isShowFrom:{
|
|
||||||
type: Boolean,
|
|
||||||
default: false
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const disabled = computed(() => {
|
const disabled = computed(() => {
|
||||||
|
|
@ -120,10 +114,6 @@ const initDiagnosisSearch = (list:any,nList:any)=>{
|
||||||
diagnosisSearchRef.value?.init(list,nList);
|
diagnosisSearchRef.value?.init(list,nList);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const emit = defineEmits(['focus'])
|
|
||||||
const focus = (e:any)=>{
|
|
||||||
emit('focus',e)
|
|
||||||
}
|
|
||||||
defineExpose({initDiagnosisSearch})
|
defineExpose({initDiagnosisSearch})
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<el-input v-model="keyword" style="width:100%;height: 100%" @input="changeInput" :disabled="disabled"
|
<el-input v-model="keyword" style="width:100%;height: 100%" @input="changeInput" :disabled="disabled"
|
||||||
placeholder="诊断选择" ref="inputRef" @focus="focus"></el-input>
|
placeholder="诊断选择" ref="inputRef"></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">
|
||||||
|
|
||||||
|
|
@ -78,7 +78,7 @@ const changeInput = (inputStr: string) => {
|
||||||
searchList.value = res;
|
searchList.value = res;
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const emit = defineEmits(['selectedCallBack','focus'])
|
const emit = defineEmits(['selectedCallBack'])
|
||||||
const clickRow = (row: any) => {
|
const clickRow = (row: any) => {
|
||||||
selectList.value.push(row)
|
selectList.value.push(row)
|
||||||
nameList.value.push(row.name)
|
nameList.value.push(row.name)
|
||||||
|
|
@ -112,10 +112,6 @@ const init = (list: any, nList: any) => {
|
||||||
nameList.value = nList;
|
nameList.value = nList;
|
||||||
keyword.value = nameList.value.join(",") + ","
|
keyword.value = nameList.value.join(",") + ","
|
||||||
}
|
}
|
||||||
|
|
||||||
const focus = ()=>{
|
|
||||||
emit("focus",false)
|
|
||||||
}
|
|
||||||
defineExpose({init})
|
defineExpose({init})
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
|
||||||
|
|
@ -241,7 +241,7 @@ watch(() => props.status, () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: rgba(#4D6DE4, 0.5);
|
background: rgba(#4D6DE4, 0.1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.item_name {
|
.item_name {
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,9 @@
|
||||||
<ul>
|
<ul>
|
||||||
<li class="item" v-for="(item, index) in list" :key="index">
|
<li class="item" v-for="(item, index) in list" :key="index">
|
||||||
<div class="index">{{ index + 1 }}</div>
|
<div class="index">{{ index + 1 }}</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<el-popover
|
<el-popover
|
||||||
placement="top-start"
|
placement="top-start"
|
||||||
|
|
@ -56,7 +59,6 @@
|
||||||
@selectedCallBack="itemSelect"
|
@selectedCallBack="itemSelect"
|
||||||
:placeholder="'请输入药材名称'"
|
:placeholder="'请输入药材名称'"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
@focus="focus"
|
|
||||||
>
|
>
|
||||||
</SearchInput>
|
</SearchInput>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -122,10 +124,6 @@ const selectUnit = (item: any, unit: any) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const sumPrice = ref(0)
|
const sumPrice = ref(0)
|
||||||
const emit = defineEmits(['focus'])
|
|
||||||
const focus=(e:any)=>{
|
|
||||||
emit('focus',e)
|
|
||||||
}
|
|
||||||
watch(()=>list.value, (newList) => {
|
watch(()=>list.value, (newList) => {
|
||||||
sumPrice.value = newList.reduce((total, item) => {
|
sumPrice.value = newList.reduce((total, item) => {
|
||||||
return total + (item.selectedNum || 0) * (item.selectedPrice || 0);
|
return total + (item.selectedNum || 0) * (item.selectedPrice || 0);
|
||||||
|
|
|
||||||
|
|
@ -5,22 +5,7 @@
|
||||||
<ul>
|
<ul>
|
||||||
<li class="item" v-for="(item, index) in list" :key="index">
|
<li class="item" v-for="(item, index) in list" :key="index">
|
||||||
<div class="index">{{ index + 1 }}</div>
|
<div class="index">{{ index + 1 }}</div>
|
||||||
<div class="name">
|
<div class="name">{{ item.itemName }}</div>
|
||||||
<el-popover width="485">
|
|
||||||
<template #reference>
|
|
||||||
{{ item.itemName }}
|
|
||||||
</template>
|
|
||||||
<div class="detail">
|
|
||||||
<div style="display: flex;justify-content: space-between">
|
|
||||||
<div>{{ item.itemName }}</div>
|
|
||||||
<div>¥{{ item.unitPrice }}/{{ item.unit }}</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div> {{item.itemSocialCode}}</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</el-popover>
|
|
||||||
</div>
|
|
||||||
<div class="price">¥{{ item.unitPrice }}</div>
|
<div class="price">¥{{ item.unitPrice }}</div>
|
||||||
<div class="unit">
|
<div class="unit">
|
||||||
<div style="display: flex; align-items: center;">
|
<div style="display: flex; align-items: center;">
|
||||||
|
|
@ -48,7 +33,6 @@
|
||||||
:placeholder="'请输入项目名称'"
|
:placeholder="'请输入项目名称'"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
style="height: 100%"
|
style="height: 100%"
|
||||||
@focus="focus"
|
|
||||||
>
|
>
|
||||||
</SearchInput>
|
</SearchInput>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -59,7 +43,7 @@
|
||||||
</Panel>
|
</Panel>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {defineModel, computed,defineEmits} from "vue";
|
import {defineModel, computed} from "vue";
|
||||||
import Panel from "@/components/common/Panel.vue";
|
import Panel from "@/components/common/Panel.vue";
|
||||||
import {Close} from '@element-plus/icons-vue'
|
import {Close} from '@element-plus/icons-vue'
|
||||||
import SearchInput from "@/components/SearchInput.vue";
|
import SearchInput from "@/components/SearchInput.vue";
|
||||||
|
|
@ -99,10 +83,7 @@ const list = defineModel<any[]>({default: () => []});
|
||||||
const deleteItem = (id: any) => {
|
const deleteItem = (id: any) => {
|
||||||
list.value = list.value.filter((item) => item.id !== id);
|
list.value = list.value.filter((item) => item.id !== id);
|
||||||
};
|
};
|
||||||
const emit = defineEmits(['focus'])
|
|
||||||
const focus=(e:any)=>{
|
|
||||||
emit('focus',e)
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
@ -135,7 +116,6 @@ const focus=(e:any)=>{
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.code {
|
.code {
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,6 @@ const wsStore = useWsStore();
|
||||||
const isReading = ref(false)
|
const isReading = ref(false)
|
||||||
const socialCard: any = defineModel();
|
const socialCard: any = defineModel();
|
||||||
const ReadSocialCard = async (readType: string) => {
|
const ReadSocialCard = async (readType: string) => {
|
||||||
emit("changeLoading",true)
|
|
||||||
socialCard.value.lastUse = "CardDefault"
|
socialCard.value.lastUse = "CardDefault"
|
||||||
isReading.value = true;
|
isReading.value = true;
|
||||||
let config_db: any = await post('common/config/getall');
|
let config_db: any = await post('common/config/getall');
|
||||||
|
|
@ -41,7 +40,6 @@ const ReadSocialCard = async (readType: string) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const reciceMessage = (response: Response) => {
|
const reciceMessage = (response: Response) => {
|
||||||
emit('changeLoading',false)
|
|
||||||
if (socialCard.value.lastUse != "CardDefault") {
|
if (socialCard.value.lastUse != "CardDefault") {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -68,37 +66,24 @@ const reciceMessage = (response: Response) => {
|
||||||
cardSn: response.Data.card_sn ? response.Data.card_sn : "",
|
cardSn: response.Data.card_sn ? response.Data.card_sn : "",
|
||||||
}
|
}
|
||||||
getInfoFor1101(params)
|
getInfoFor1101(params)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
const loading = ref(false)
|
||||||
const emit = defineEmits(['socialCardUpdate', 'close','changeLoading'])
|
const emit = defineEmits(['socialCardUpdate', 'close'])
|
||||||
const getInfoFor1101 = (params: any) => {
|
const getInfoFor1101 = (params: any) => {
|
||||||
emit('changeLoading',true)
|
loading.value = true
|
||||||
ElMessage({
|
post("social/person/getCustomSocialInfo", {data: params}).then((res: any) => {
|
||||||
message: "正在读取中,请稍后......",
|
|
||||||
duration: 500,
|
|
||||||
type: 'info',
|
|
||||||
});
|
|
||||||
post("social/person/getCustomSocialInfo", {data: params},{catch_error: true}).then((res: any) => {
|
|
||||||
emit('changeLoading',false)
|
|
||||||
socialCard.value.data = res;
|
socialCard.value.data = res;
|
||||||
socialCard.value.mdtrtCertType = params.mdtrtCertType;
|
socialCard.value.mdtrtCertType = params.mdtrtCertType;
|
||||||
socialCard.value.mdtrtCertNo = params.mdtrtCertNo;
|
socialCard.value.mdtrtCertNo = params.mdtrtCertNo;
|
||||||
ElMessage({
|
ElMessage({
|
||||||
message: "读取成功",
|
message: "读取成功",
|
||||||
type: 'success',
|
type: 'success',
|
||||||
duration: 1000,
|
|
||||||
});
|
});
|
||||||
emit('socialCardUpdate', socialCard.value)
|
emit('socialCardUpdate', socialCard.value)
|
||||||
|
loading.value = false
|
||||||
}).catch(()=>{
|
}).finally(() => {
|
||||||
isReading.value = false;
|
isReading.value = false;
|
||||||
emit('changeLoading',false)
|
loading.value = false
|
||||||
ElMessage({
|
|
||||||
message: "读取失败",
|
|
||||||
duration: 1000,
|
|
||||||
type: 'error',
|
|
||||||
});
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -107,18 +92,28 @@ onMounted(async () => {
|
||||||
});
|
});
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
wsStore.removeAllMessageCallback()
|
wsStore.removeAllMessageCallback()
|
||||||
emit('changeLoading',false)
|
|
||||||
})
|
})
|
||||||
const close = () => {
|
const close = () => {
|
||||||
socialCard.value.data = null
|
ElMessageBox.confirm("退出识别", "提示", {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
callback: (action: any) => {
|
||||||
|
if (action == "confirm") {
|
||||||
|
socialCard.value.data = null
|
||||||
|
emit('close')
|
||||||
|
}
|
||||||
|
if (action == "cancel") {
|
||||||
|
emit('socialCardUpdate', socialCard.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
});
|
||||||
}
|
}
|
||||||
defineExpose({close})
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="card-default">
|
<div class="card-default">
|
||||||
<div
|
<div v-loading="loading" class="empty">
|
||||||
class="empty">
|
|
||||||
<div class="btn-wrapper">
|
<div class="btn-wrapper">
|
||||||
<div class="btn" @click="ReadSocialCard('03')" @keydown.enter.prevent tabindex="-1">医保卡</div>
|
<div class="btn" @click="ReadSocialCard('03')" @keydown.enter.prevent tabindex="-1">医保卡</div>
|
||||||
<div class="btn" @click="ReadSocialCard('01')" @keydown.enter.prevent tabindex="-1">电子凭证</div>
|
<div class="btn" @click="ReadSocialCard('01')" @keydown.enter.prevent tabindex="-1">电子凭证</div>
|
||||||
|
|
@ -135,7 +130,6 @@ defineExpose({close})
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 46px;
|
height: 46px;
|
||||||
|
|
@ -147,20 +141,16 @@ defineExpose({close})
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
cursor: pointer;
|
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: #4D6DE4;
|
background: #4D6DE4;
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
:last-child {
|
:last-child {
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
border-radius: 0 0 8px 8px;
|
border-radius:0 0 8px 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
:first-child {
|
:first-child {
|
||||||
border-radius: 8px 8px 0 0;
|
border-radius:8px 8px 0 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<div style="padding:0 24px 24px">
|
<div style="padding:0 24px 24px">
|
||||||
<el-form
|
<el-form
|
||||||
v-loading="loading"
|
|
||||||
:model="edit_data"
|
:model="edit_data"
|
||||||
label-width="auto"
|
label-width="auto"
|
||||||
:rules="rules"
|
:rules="rules"
|
||||||
|
|
@ -17,6 +16,19 @@
|
||||||
:column="4"
|
:column="4"
|
||||||
style="margin-top: 20px"
|
style="margin-top: 20px"
|
||||||
>
|
>
|
||||||
|
<!-- <el-descriptions-item label="结算方式">-->
|
||||||
|
<!-- <el-form-item prop="gender">-->
|
||||||
|
<!-- <el-radio-group v-model="edit_data.type">-->
|
||||||
|
<!-- <el-radio value="1">医保</el-radio>-->
|
||||||
|
<!-- <el-radio value="2">自费</el-radio>-->
|
||||||
|
<!-- </el-radio-group>-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- </el-descriptions-item>-->
|
||||||
|
<el-descriptions-item label="姓名">
|
||||||
|
<el-form-item prop="name">
|
||||||
|
<el-input v-model="edit_data.name" placeholder="请输入姓名" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="性别">
|
<el-descriptions-item label="性别">
|
||||||
<el-form-item prop="gender">
|
<el-form-item prop="gender">
|
||||||
<el-radio-group v-model="edit_data.gender">
|
<el-radio-group v-model="edit_data.gender">
|
||||||
|
|
@ -25,12 +37,6 @@
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="姓名">
|
|
||||||
<el-form-item prop="name">
|
|
||||||
<el-input v-model="edit_data.name" placeholder="请输入姓名" clearable></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-descriptions-item>
|
|
||||||
|
|
||||||
<el-descriptions-item label="年龄">
|
<el-descriptions-item label="年龄">
|
||||||
<el-form-item prop="age">
|
<el-form-item prop="age">
|
||||||
<el-input v-model.number="edit_data.age" placeholder="请输入年龄"></el-input>
|
<el-input v-model.number="edit_data.age" placeholder="请输入年龄"></el-input>
|
||||||
|
|
@ -146,8 +152,8 @@
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<template #dropdown>
|
<template #dropdown>
|
||||||
<CardDefault ref="cardDefaultRef" v-model="socialCard" @socialCardUpdate="socialCardUpdate"
|
<CardDefault v-model="socialCard" @socialCardUpdate="socialCardUpdate"
|
||||||
@close="deleteCard" @changeLoading="changeLoading"/>
|
@close="deleteCard"/>
|
||||||
</template>
|
</template>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
<div class="closeBtn" v-else @click="deleteCard" style="outline: none;">
|
<div class="closeBtn" v-else @click="deleteCard" style="outline: none;">
|
||||||
|
|
@ -165,7 +171,7 @@
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {nextTick, onMounted, ref} from 'vue'
|
import {onMounted, ref} from 'vue'
|
||||||
import {post} from '@/utils/request.ts'
|
import {post} from '@/utils/request.ts'
|
||||||
import CardDefault from '@/components/registration/CardDefault.vue'
|
import CardDefault from '@/components/registration/CardDefault.vue'
|
||||||
import {ElMessage, ElMessageBox} from "element-plus";
|
import {ElMessage, ElMessageBox} from "element-plus";
|
||||||
|
|
@ -306,9 +312,8 @@ const socialCardUpdate = (e: any) => {
|
||||||
tableData.value = e.data.insuinfo
|
tableData.value = e.data.insuinfo
|
||||||
edit_data.value.organizationDoctorId = props.doctorId
|
edit_data.value.organizationDoctorId = props.doctorId
|
||||||
}
|
}
|
||||||
loading.value = false
|
|
||||||
}
|
}
|
||||||
const cardDefaultRef = ref<any>("")
|
|
||||||
const deleteCard = () => {
|
const deleteCard = () => {
|
||||||
ElMessageBox.confirm("退出识别", "提示", {
|
ElMessageBox.confirm("退出识别", "提示", {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
|
|
@ -317,9 +322,6 @@ const deleteCard = () => {
|
||||||
if (action == "confirm") {
|
if (action == "confirm") {
|
||||||
isShowCard.value = true
|
isShowCard.value = true
|
||||||
edit_data.value = {}
|
edit_data.value = {}
|
||||||
nextTick(() => {
|
|
||||||
cardDefaultRef.value?.close()
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
@ -338,10 +340,6 @@ const list = () => {
|
||||||
sectionList.value = res
|
sectionList.value = res
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const loading = ref(false)
|
|
||||||
const changeLoading = (e: any) => {
|
|
||||||
loading.value = e
|
|
||||||
}
|
|
||||||
defineExpose({init})
|
defineExpose({init})
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
|
||||||
|
|
@ -5,14 +5,13 @@
|
||||||
@row-click="rowClick"
|
@row-click="rowClick"
|
||||||
style="height: 100%"
|
style="height: 100%"
|
||||||
>
|
>
|
||||||
<el-table-column prop="name" label="姓名" width="180">
|
<el-table-column prop="name" label="姓名" width="180"></el-table-column>
|
||||||
|
<el-table-column prop="gender" label="性别" width="180">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<div style="display: flex;align-items: center;">
|
<img style="width: 25px;height: 25px"
|
||||||
<img style="width: 25px;height: 25px;margin-right: 10px"
|
:src="scope.row.gender === 1 ? '/public/static/images/member/man.png' :scope.row.gender === 2 ? '/public/static/images/member/women.png':'无'"
|
||||||
:src="scope.row.gender === 1 ? '/public/static/images/member/man.png' :scope.row.gender === 2 ? '/public/static/images/member/women.png':'无'"
|
alt="" srcset="">
|
||||||
alt="" srcset="">
|
|
||||||
<span> {{ scope.row.name }}</span>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="phone" label="手机号" width="180"></el-table-column>
|
<el-table-column prop="phone" label="手机号" width="180"></el-table-column>
|
||||||
|
|
|
||||||
|
|
@ -7,23 +7,22 @@
|
||||||
<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" :status="status" :isShowFrom="isShowFrom" @focus="focus"></Case>
|
<Case ref="caseRef" v-else v-model="formData" :status="status"></Case>
|
||||||
</div>
|
</div>
|
||||||
<div class="service-items">
|
<div class="service-items">
|
||||||
<ServiceItemsDetail v-if="patientRegistration.status==3" v-model="itemList"></ServiceItemsDetail>
|
<ServiceItemsDetail v-if="patientRegistration.status==3" v-model="itemList"></ServiceItemsDetail>
|
||||||
<ServiceItems v-else v-model="itemList" :status="status" @focus="focus"></ServiceItems>
|
<ServiceItems v-else v-model="itemList" :status="status"></ServiceItems>
|
||||||
</div>
|
</div>
|
||||||
<div class="pharmaceutical-consumables">
|
<div class="pharmaceutical-consumables">
|
||||||
<PharmaceuticalConsumablesDetail v-if="patientRegistration.status==3"
|
<PharmaceuticalConsumablesDetail v-if="patientRegistration.status==3"
|
||||||
v-model="goodsList" ></PharmaceuticalConsumablesDetail>
|
v-model="goodsList" ></PharmaceuticalConsumablesDetail>
|
||||||
<PharmaceuticalConsumables v-else v-model="goodsList" :status="status" @focus="focus"></PharmaceuticalConsumables>
|
<PharmaceuticalConsumables v-else v-model="goodsList" :status="status"></PharmaceuticalConsumables>
|
||||||
</div>
|
</div>
|
||||||
</el-scrollbar>
|
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<Settlement v-model="totalAmount" @deleteItem="deleteItem" @save="save" :status="status"
|
<Settlement v-if="status!=1" v-model="totalAmount" @deleteItem="deleteItem" @save="save" :status="status"
|
||||||
@edit="edit"></Settlement>
|
@edit="edit"></Settlement>
|
||||||
</div>
|
</div>
|
||||||
|
</el-scrollbar>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div class="top">
|
<div class="top">
|
||||||
|
|
@ -183,10 +182,6 @@ const getSeeDockerInfo = (newValue:any) => {
|
||||||
seeDockerInfo.value = res
|
seeDockerInfo.value = res
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const isShowFrom= ref<any>(false)
|
|
||||||
const focus=(e:any)=>{
|
|
||||||
isShowFrom.value=e
|
|
||||||
}
|
|
||||||
watch(() => registerId.value, (newValue) => {
|
watch(() => registerId.value, (newValue) => {
|
||||||
if (!newValue) {
|
if (!newValue) {
|
||||||
seeDockerInfo.value = {}
|
seeDockerInfo.value = {}
|
||||||
|
|
|
||||||
|
|
@ -153,7 +153,6 @@ const openDialog = () => {
|
||||||
ItemEditRef.value?.init()
|
ItemEditRef.value?.init()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const loading= ref(true)
|
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.container-wrapper {
|
.container-wrapper {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue