Compare commits

..

No commits in common. "25ddf183a13a94e252eda7eb69c57115b8bb8464" and "f898aa94d57f3f156db7c30be2db8a9cc5ba9878" have entirely different histories.

9 changed files with 165 additions and 183 deletions

View File

@ -137,26 +137,34 @@ $lighter-color: rgba(#4D6DE4, 0.5);
display: inline-block; display: inline-block;
width: 120px; width: 120px;
height: 42px; height: 42px;
line-height: 40px; line-height: 42px;
background: $btn-color; background: $btn-color;
border-radius: 6px; border-radius: 6px;
color: #FFF; color: #FFF;
font-size: 16px; font-size: 16px;
text-align: center; text-align: center;
margin-left: 24px; margin-left: 9px;
border:1px solid transparent;
&:hover{ &:hover{
background: $lighter-color; background: $lighter-color;
} }
} }
.default-close-btn{ .default-close-btn{
cursor: pointer;
display: inline-block;
width: 119px;
height: 42px;
line-height: 42px;
background: #fff; background: #fff;
border-radius: 6px;
color: #333333; color: #333333;
font-size: 16px;
text-align: center;
margin-left: 9px;
border:1px solid #D8D8D8; border:1px solid #D8D8D8;
&:hover{ &:hover{
border: 1px solid transparent;
background: $lighter-color; background: $lighter-color;
color: #fff; color: #fff;
border:none;
} }
} }

View File

@ -54,7 +54,7 @@
<template #reference> <template #reference>
<el-input v-model="usage" placeholder="使用方法" style="width: 100px"></el-input> <el-input v-model="usage" placeholder="使用方法" style="width: 100px"></el-input>
</template> </template>
<Usage :usageObj="usageObj" @clickItem="clickItem"></Usage> <Usage :usageObj="usageObj"></Usage>
</el-popover> </el-popover>
</template> </template>
</el-table-column> </el-table-column>
@ -259,9 +259,6 @@ const colosInfo = () => {
getTotalPrice() getTotalPrice()
emit('totalPriceChange') emit('totalPriceChange')
} }
const clickItem = (value: any) => {
usage.value = value
}
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
:deep(.el-table__cell) { :deep(.el-table__cell) {

View File

@ -7,59 +7,16 @@ const props = defineProps({
default: () => [] default: () => []
} }
}); });
const emit = defineEmits(['clickItem'])
const clickItem=(item:any)=>{
console.log(item)
emit("clickItem",item[0])
}
</script> </script>
<template> <template>
<div class="box"> <div v-for="(item, index) in Object.entries(props.usageObj)" :key="index">
<ul class="item-list"> <div class="item">
<div class="item" v-for="(item, index) in Object.entries(props.usageObj)" :key="index" @click="clickItem(item)">{{ item[1] }}</div> <div class="item-title">{{ item }}</div>
</ul> </div>
</div> </div>
</template> </template>
<style scoped lang="scss"> <style scoped lang="scss">
.box{
margin: 0;
padding: 0;
position:absolute;
background: #fff;
top: 0;
left: 0;
width: 482px;
height: auto;
border: 1px solid #ddd;
z-index: 999;
}
.item-list {
display: flex;
flex-wrap: wrap;
}
.item{
display: flex;
width: 160px;
height: 36px;
background: #fff;
color: #000;
border: 1px solid #ededed;
align-items: center;
justify-content: center;
&:hover{
color: #fff;
background: #4d6de4;
}
&.last-item {
margin-right: 0; /* 最后一个元素不加右边距 */
}
}
.active{
background: #4d6de4 !important;
color: #fff !important;
}
</style> </style>

View File

@ -451,7 +451,7 @@ import {post} from "@/utils/request.ts";
import Cate from "@/components/inventory/goods/Cate.vue"; import Cate from "@/components/inventory/goods/Cate.vue";
import {ElMessage, ElMessageBox} from "element-plus"; import {ElMessage, ElMessageBox} from "element-plus";
import Divider from "@/components/Divider.vue"; import Divider from "@/components/Divider.vue";
import UnitSelector from "@/components/inventory/goods/UnitSelector.vue"; import UnitSelector from "@/components/UnitSelector.vue";
import SocialInfo from "@/components/inventory/goods/SocialInfo.vue"; import SocialInfo from "@/components/inventory/goods/SocialInfo.vue";
import {API} from "@/assets/config/API.ts"; import {API} from "@/assets/config/API.ts";

View File

@ -20,7 +20,7 @@ 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">
<span class="default-btn default-close-btn" v-if="status" @click="deleteItem">取消接诊</span> <span class="default-close-btn" v-if="status" @click="deleteItem">取消接诊</span>
<span class="default-btn" v-if="status" @click="save">完成接诊</span> <span class="default-btn" v-if="status" @click="save">完成接诊</span>
<!-- <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>
@ -45,5 +45,11 @@ const editItem= () => {
.text { .text {
color: #FF282E color: #FF282E
} }
.btn-group{
display: flex;
span{
margin-left: 24px;
}
}
} }
</style> </style>

View File

@ -2,104 +2,124 @@
<Mask :is-show="isShow" width="800" :height="height" title="挂号" @close="close" <Mask :is-show="isShow" width="800" :height="height" title="挂号" @close="close"
:show-footer="true"> :show-footer="true">
<template #default> <template #default>
<div style="padding:24px;height: 100%"> <div style="padding:0 24px 24px;height: 100%;display: flex;flex-direction: column">
<el-scrollbar> <el-scrollbar>
<el-form <el-form
v-loading="loading" v-loading="loading"
:model="edit_data" :model="edit_data"
label-width="auto" label-width="auto"
:rules="rules" :rules="rules"
ref="form" ref="form"
style="width:100%;" style="flex: 1;width: 100%"
label-position="top" >
<el-descriptions
border
direction="vertical"
:column="4"
style="margin-top: 20px"
> >
<div style="display:flex;width:100%;"> <el-descriptions-item label="姓名" width="200">
<div class="left"> <el-form-item prop="name" style="margin-bottom: 2px">
<el-form-item prop="name" label="姓名"> <el-input v-model="edit_data.name" placeholder="请输入姓名" clearable
<el-input v-model="edit_data.name" placeholder="请输入姓名" clearable :disabled="edit_data.status==1||edit_data.status==3||edit_data.status==0"></el-input>
:disabled="edit_data.status==1||edit_data.status==3||edit_data.status==0"></el-input> </el-form-item>
</el-form-item> </el-descriptions-item>
<el-form-item prop="name" label="手机号"> <el-descriptions-item label="性别" width="200">
<el-input v-model="edit_data.name" placeholder="请输入姓名" clearable <el-form-item prop="gender">
:disabled="edit_data.status==1||edit_data.status==3||edit_data.status==0"></el-input> <el-radio-group v-model="edit_data.gender"
</el-form-item> :disabled="edit_data.status==1||edit_data.status==3||edit_data.status==0">
<el-form-item prop="certType" label="证件类型"> <el-radio :value="1"></el-radio>
<el-select v-model="edit_data.certType" placeholder="证件类型" <el-radio :value="2"></el-radio>
:disabled="edit_data.status==1||edit_data.status==3||edit_data.status==0"> </el-radio-group>
<el-option </el-form-item>
v-for="item in certTypeList" </el-descriptions-item>
:key="item.id" <el-descriptions-item label="年龄" width="200">
:label="item.name" <el-form-item prop="age">
:value="item.id" <el-input v-model.number="edit_data.age" placeholder="请输入年龄"
></el-option> :disabled="edit_data.status==1||edit_data.status==3||edit_data.status==0"></el-input>
</el-select> </el-form-item>
</el-form-item> </el-descriptions-item>
<el-form-item prop="type" label="费用类型"> <el-descriptions-item label="手机号" width="200">
<el-select v-model="edit_data.type" :disabled="edit_data.status==0||isShowCard"> <el-form-item prop="phone">
<el-option label="自费" :value="1"></el-option> <el-input v-model="edit_data.phone" placeholder="手机号"
<el-option label="医保" :value="2"></el-option> :disabled="edit_data.status==3||edit_data.status==0"></el-input>
</el-select> </el-form-item>
</el-form-item> </el-descriptions-item>
</div> <el-descriptions-item label="医生">
<div class="middle"> <el-form-item prop="organizationDoctorId">
<el-form-item prop="gender" label="性别"> <el-select
<el-radio-group v-model="edit_data.gender" v-model="edit_data.organizationDoctorId"
:disabled="edit_data.status==1||edit_data.status==3||edit_data.status==0"> placeholder="请选择医生"
<el-radio :value="1"></el-radio> @change="getSectionList"
<el-radio :value="2"></el-radio> :disabled="edit_data.status==3||edit_data.status==0"
</el-radio-group> >
</el-form-item> <el-option
<el-form-item prop="organizationDoctorId" label="医生"> v-for="item in doctorList"
<el-select :key="item.id"
v-model="edit_data.organizationDoctorId" :label="item.name"
placeholder="请选择医生" :value="item.id"
@change="getSectionList"
:disabled="edit_data.status==3||edit_data.status==0"
> >
<el-option </el-option>
v-for="item in doctorList" </el-select>
:key="item.id" </el-form-item>
:label="item.name" </el-descriptions-item>
:value="item.id" <el-descriptions-item label="科室">
> <el-form-item>
</el-option> <el-select
</el-select> v-model="edit_data.organizationSectionId"
</el-form-item> placeholder="选择科室"
<el-form-item prop="certNo" label="证件码"> :disabled="edit_data.status==3||edit_data.status==0"
<el-input v-model="edit_data.certNo" placeholder="请输入证件码" >
:disabled="edit_data.status==1||edit_data.status==3||edit_data.status==0"></el-input> <el-option
</el-form-item> v-for="item in sectionList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="证件类型">
<el-form-item prop="certType">
<el-select v-model="edit_data.certType" placeholder="证件类型"
:disabled="edit_data.status==1||edit_data.status==3||edit_data.status==0">
<el-option
v-for="item in certTypeList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="证件码">
<el-form-item prop="certNo">
<el-input v-model="edit_data.certNo" placeholder="请输入证件码"
:disabled="edit_data.status==1||edit_data.status==3||edit_data.status==0"></el-input>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="初/复诊">
<el-form-item prop="visitType">
<el-select v-model="edit_data.visitType" placeholder="就诊类型" :disabled="edit_data.status==0">
<el-option label="初诊" :value="0"></el-option>
<el-option label="复诊" :value="1"></el-option>
</el-select>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="费用类型">
<el-form-item prop="type">
<el-select v-model="edit_data.type" :disabled="edit_data.status==0||isShowCard">
<el-option label="自费" :value="1"></el-option>
<el-option label="医保" :value="2"></el-option>
</el-select>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item
:span="2"
label="时间">
</div>
<div class="right"> <div style=" display: flex;">
<el-form-item prop="age" label="年龄">
<el-input v-model.number="edit_data.age" placeholder="请输入年龄"
:disabled="edit_data.status==1||edit_data.status==3||edit_data.status==0"></el-input>
</el-form-item>
<el-form-item label="科室">
<el-select
v-model="edit_data.organizationSectionId"
placeholder="选择科室"
:disabled="edit_data.status==3||edit_data.status==0"
>
<el-option
v-for="item in sectionList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item prop="visitType" label="初/复诊">
<el-select v-model="edit_data.visitType" placeholder="就诊类型" :disabled="edit_data.status==0">
<el-option label="初诊" :value="0"></el-option>
<el-option label="复诊" :value="1"></el-option>
</el-select>
</el-form-item>
</div>
</div>
<el-form-item label="时间">
<div style=" display: flex;width: 100%">
<div style="flex: 1;min-width: 0" v-if="!isBtnShow&&dateName!='预约'">现在</div> <div style="flex: 1;min-width: 0" v-if="!isBtnShow&&dateName!='预约'">现在</div>
<div v-else style="flex:1;min-width:0;display: flex;align-items: center"> <div v-else style="flex:1;min-width:0;display: flex;align-items: center">
<el-date-picker <el-date-picker
@ -128,12 +148,16 @@
isBtnShow ? '挂号' : '预约' isBtnShow ? '挂号' : '预约'
}}</span> }}</span>
</div> </div>
</el-form-item> </el-descriptions-item>
<el-form-item label="备注"> <el-descriptions-item
<el-input v-model="edit_data.memo" placeholder="备注" :disabled="edit_data.status==0"></el-input> :span="4"
</el-form-item> label="备注">
</el-form> <el-form-item>
</el-scrollbar> <el-input v-model="edit_data.memo" placeholder="备注" :disabled="edit_data.status==0"></el-input>
</el-form-item>
</el-descriptions-item>
</el-descriptions>
</el-form>
<h5 v-if="!isShowCard" style="margin:24px 0;font-size: 16px">险种列表</h5> <h5 v-if="!isShowCard" style="margin:24px 0;font-size: 16px">险种列表</h5>
<el-table <el-table
:data="tableData" :data="tableData"
@ -157,6 +181,7 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-scrollbar>
</div> </div>
</template> </template>
<template #footer> <template #footer>
@ -180,9 +205,9 @@
退出医保 退出医保
</div> </div>
<div class="bottom-right"> <div class="bottom-right">
<span class="default-btn default-close-btn" @click="close">取消</span> <span class="close-btn" @click="close">取消</span>
<span class="default-btn" v-if="edit_data.status==1" @click="registrationCancel">退号</span> <span class="danger-btn" v-if="edit_data.status==1" @click="registrationCancel">退号</span>
<span class="default-btn" @click="save">保存</span> <span class="small-btn" @click="save">保存</span>
</div> </div>
</div> </div>
</template> </template>
@ -202,7 +227,7 @@ import Quick from "@/components/charge/RecordsLog/Quick.vue";
import {getCurrentTime, getToday} from "@/utils/dateUtils.ts"; import {getCurrentTime, getToday} from "@/utils/dateUtils.ts";
import {API} from "@/assets/config/API.ts"; import {API} from "@/assets/config/API.ts";
const height = ref(670) const height = ref(570)
const certTypeList = ref<any>([]) const certTypeList = ref<any>([])
const edit_data = ref<any>({ const edit_data = ref<any>({
timeList: [] timeList: []
@ -255,7 +280,7 @@ const close = () => {
isShowCard.value = true isShowCard.value = true
nextTick(() => { nextTick(() => {
cardDefaultRef.value?.close() cardDefaultRef.value?.close()
height.value = 670 height.value = 570
}) })
emit('close') emit('close')
} }
@ -385,7 +410,7 @@ const socialCardUpdate = (e: any) => {
height.value = 820 height.value = 820
multipleTable.value?.setCurrentRow(tableData.value[0]) multipleTable.value?.setCurrentRow(tableData.value[0])
} else { } else {
height.value = 670 height.value = 570
} }
}) })
loading.value = false loading.value = false
@ -402,7 +427,7 @@ const deleteCard = () => {
tableData.value = [] tableData.value = []
nextTick(() => { nextTick(() => {
cardDefaultRef.value?.close() cardDefaultRef.value?.close()
height.value = 670 height.value = 570
}) })
} }
}, },
@ -524,23 +549,12 @@ defineExpose({init})
} }
} }
:deep(.el-form-item) {
margin-bottom: 2px !important;
}
.disabled { .disabled {
cursor: not-allowed; cursor: not-allowed;
background: rgba(#4D6DE4, .5); background: rgba(#4D6DE4,.5);
}
.left{
flex: 1;
min-width: 0;
}
.middle{
flex: 1;
min-width: 0;
margin: 0 24px;
}
.right{
flex: 1;
min-width: 0;
} }
</style> </style>

View File

@ -74,7 +74,7 @@ import {post} from "@/utils/request.ts";
import {ElMessage} from "element-plus"; import {ElMessage} from "element-plus";
import Mask from "@/components/common/Mask.vue"; import Mask from "@/components/common/Mask.vue";
import ItemSearch from "@/components/settings/item/ItemSearch.vue"; import ItemSearch from "@/components/settings/item/ItemSearch.vue";
import UnitSelector from "@/components/inventory/goods/UnitSelector.vue"; import UnitSelector from "@/components/UnitSelector.vue";
import {itemUnitList} from "@/utils/unitList.ts" import {itemUnitList} from "@/utils/unitList.ts"
import {API} from "@/assets/config/API.ts"; import {API} from "@/assets/config/API.ts";

View File

@ -101,7 +101,7 @@ import ItemSearch from "@/components/settings/item/ItemSearch.vue";
const createSearchRef = ref<any>('') const createSearchRef = ref<any>('')
import {itemUnitList} from "@/utils/unitList.ts" import {itemUnitList} from "@/utils/unitList.ts"
import UnitSelector from "@/components/inventory/goods/UnitSelector.vue"; import UnitSelector from "@/components/UnitSelector.vue";
import {post} from "@/utils/request.ts"; import {post} from "@/utils/request.ts";
import {API} from "@/assets/config/API.ts"; import {API} from "@/assets/config/API.ts";