完善互斥和新主工作页面

main
yanzai 9 months ago
parent 065abec30d
commit 09808c33cd

@ -86,7 +86,8 @@
<el-option v-for="(item, index) in yuyueType" :key="index" :label="item.name" :value="item.id" />
</el-select> -->
<el-checkbox-group v-if="yuyueType" v-model="selectedItemInfo.reservation_method">
<el-checkbox v-for="(item, index) in yuyueType" :label="item.id" :value="item.id" :key="index">{{item.name}}</el-checkbox>
<el-checkbox v-for="(item, index) in yuyueType" :label="item.id" :value="item.id"
:key="index">{{item.name}}</el-checkbox>
</el-checkbox-group>
</div>
<div class="row"><span class="title">空腹</span><el-select :filterable="true" clearable
@ -99,7 +100,9 @@
<div class="row"><span class="title">检查时间</span><el-input v-model="selectedItemInfo.check_time"
placeholder="请输入此项检查的时长" style="width: 200px;" /></div>
<div class="row"><span class="title">等待时间</span><el-input v-model="selectedItemInfo.check_begin_time"
placeholder="开医嘱后,等待时间" style="width: 200px;" /><div style="margin-left: 4px;">医嘱开具后预约时间需在设定的等待期之后,单位分钟</div></div>
placeholder="开医嘱后,等待时间" style="width: 200px;" />
<div style="margin-left: 4px;">医嘱开具后预约时间需在设定的等待期之后,单位分钟</div>
</div>
<div class="row"><span class="title">检查须知</span><el-input v-model="selectedItemInfo.check_notice"
@ -126,19 +129,42 @@
</div>
</div> -->
<div style="display: flex;margin-top: 20px;">
<div style="width: 30%;border-right: 1px solid #ccc;padding:4px 20px;">
<div class="row" v-loading="HuChiLoading" style="border-bottom: 1px solid #ccc;padding-bottom: 12px;margin-bottom: 20px;">
<div v-loading="HuChiLoading"
style="border-bottom: 1px solid #ccc;padding-bottom: 12px;margin-bottom: 20px;">
<div style="display: flex;margin-bottom: 8px;">
<el-select clearable :filterable="true" v-model="HuChi_bigClass"
@change="GetItemClassList('Dialog')" placeholder="所有医嘱大类">
<el-option v-for="(item, index) in DialogBigClassList" :key="index"
:label="item.item_class_name" :value="item.id" />
</el-select>
<el-select :filterable="true" clearable v-model="HuChi_smallClass" placeholder="所有医嘱小类" @change="HuChi_SearchItem()"
style="margin-left: 10px;">
<el-option v-for="(item, index) in DialogSmallClassList" :key="index"
:label="item.item_class_name" :value="item.id" />
</el-select>
</div>
<div>
<el-input v-model="HuChi_InputItem" placeholder="项目搜索" style="width: 200px;" />
<el-button type="success" style="margin-left: 8px;" @click="HuChi_SearchItem()"></el-button>
</div>
</div>
<div style="padding-left: 40px;max-height: 400px;overflow-y:scroll;">
<el-checkbox-group v-model="HuChiCheckedItems" style="display: flex;flex-direction: column;">
<el-checkbox v-for="(item1,index1) in HuChiSelectItemList" :key="index1" :label="item1.item_code" >{{item1.item_name}}</el-checkbox>
<el-checkbox v-for="(item1,index1) in HuChiSelectItemList" :key="index1"
:label="item1.item_code">{{item1.item_name}}</el-checkbox>
</el-checkbox-group>
</div>
</div>
<div style="width: 100px;border-right: 1px solid #ccc;text-align: center;height:400px;line-height: 400px;">
<div
style="width: 100px;border-right: 1px solid #ccc;text-align: center;height:400px;line-height: 400px;">
<el-button type="primary" :icon="ArrowRight" circle @click="AddHuChiItem()" />
</div>
<div style="width: 60%;padding-left: 20px;max-height: 450px;overflow-y:scroll;">
@ -146,14 +172,18 @@
<table id="huchi_table" v-if="itemHuChiList.length>0">
<tr v-for="(item,index) in itemHuChiList" :key="index">
<td>{{item.code2_item_name}}</td>
<td ><el-input v-model="itemHuChiList[index].time" placeholder="时间,0为永久互斥" style="width: 150px;" /><span style="font-size: 12px;color:#bbb;"> </span></td>
<td><el-input v-model="itemHuChiList[index].time" placeholder="时间,0为永久互斥"
style="width: 150px;" /><span style="font-size: 12px;color:#bbb;"> 小时</span></td>
<td>
<span v-if="item.id" style="display: flex;">
<el-button type="danger" style="margin-left: 8px;" @click="HuChi_Del(item.id)"></el-button>
<el-button type="primary" style="margin-left: 8px;" @click="HuChi_Save(SelectedHuChiItemInfo.code,item.code2,itemHuChiList[index].time,item.id)"></el-button>
<el-button type="danger" style="margin-left: 8px;"
@click="HuChi_Del(item.id)">解除</el-button>
<el-button type="primary" style="margin-left: 8px;"
@click="HuChi_Save(SelectedHuChiItemInfo.code,item.code2,itemHuChiList[index].time,item.id)">更新</el-button>
</span>
<span v-else style="display: flex;">
<el-button type="success" style="margin-left: 8px;" @click="HuChi_Save(SelectedHuChiItemInfo.code,item.code2,itemHuChiList[index].time)"></el-button>
<el-button type="success" style="margin-left: 8px;"
@click="HuChi_Save(SelectedHuChiItemInfo.code,item.code2,itemHuChiList[index].time)">保存</el-button>
<el-button style="margin-left: 8px;" @click="HuChi_YiChu(item)"></el-button>
</span>
</td>
@ -171,10 +201,15 @@
<span style="font-weight: 900;">设置互斥时间单位小时0为永久互斥</span>
<div class="row" v-for="(item,index) in HuChiSelectItemList" :key="index">
<div style="margin-right: 12px;">{{SelectedHuChiItemInfo.name}} </div>
<el-icon><DArrowLeft /></el-icon><el-icon><DArrowRight /></el-icon>
<el-icon>
<DArrowLeft />
</el-icon><el-icon>
<DArrowRight />
</el-icon>
<div style="margin-left: 12px; width: 250px;">{{item.item_name}} </div>
<el-input v-model="HuChi_InputTimeList[index]" placeholder="时间,0为永久互斥" style="width: 150px;" />
<el-button type="danger" style="margin-left: 8px;" @click="HuChi_Save(SelectedHuChiItemInfo.code,item.item_code,HuChi_InputTimeList[index])"></el-button>
<el-button type="danger" style="margin-left: 8px;"
@click="HuChi_Save(SelectedHuChiItemInfo.code,item.item_code,HuChi_InputTimeList[index])">添加</el-button>
</div>
</div>
</el-dialog>
@ -182,7 +217,6 @@
</template>
<script setup>
import {
ref,
onMounted
@ -199,7 +233,8 @@
GetHuChiList
} from '@/api/api.js'
import {
ElMessage,ElMessageBox
ElMessage,
ElMessageBox
} from 'element-plus'
import {
ArrowRight
@ -225,15 +260,28 @@
//list
let BigClassList = ref([]);
let SmallClassList = ref([]);
const GetItemClassList = () => {
let DialogBigClassList = ref([]);
let DialogSmallClassList = ref([]);
const GetItemClassList = (type='') => {
let searchData={}
searchData= { ...searchInfo.value }
if(type=='Dialog'){
searchData.bigClass=HuChi_bigClass.value
}
loading.value = true
GetCheckItemClassList({
searchInfo: searchInfo.value
searchInfo: searchData
}).then(res => {
loading.value = false
if (res.status) {
if(type=='Dialog'){
DialogBigClassList.value = res.data.bigClass
DialogSmallClassList.value = res.data.smallClass
}else{
BigClassList.value = res.data.bigClass
SmallClassList.value = res.data.smallClass
}
GetItemList()
} else {
ElMessage.error(res.msg)
@ -365,6 +413,8 @@
}
let HuChiDialogVisible = ref(false);
let HuChi_InputItem = ref('');
let HuChi_smallClass=ref(null);
let HuChi_bigClass=ref(null)
let HuChiSelectItemList = ref(null)
let HuChiSelectDialogVisible = ref(false);
let HuChi_InputTimeList = ref([]); //
@ -380,14 +430,19 @@
SelectedHuChiItemInfo.value.code = row.item_code
HuChiSelectItemList.value = [];
HuChi_InputItem.value = '';
GetItemClassList('Dialog')
HuChiList()
}
const HuChi_SearchItem = () => {
if(HuChi_InputItem.value=='' || HuChi_InputItem.value==null) return
HuChiLoading.value = true
HuChi_InputTimeList.value = [];
GetCheckItemList({
searchInfo: {name:HuChi_InputItem.value},
searchInfo: {
name: HuChi_InputItem.value,
bigClass: HuChi_bigClass.value,
smallClass: HuChi_smallClass.value
},
page: 1,
pageSize: 100
}).then(res => {
@ -425,7 +480,10 @@
HuChiSelectItemList.value.forEach(item => {
if (HuChiCheckedItems.value.includes(item.item_code)) {
itemHuChiList.value.push({code2:item.item_code,code2_item_name:item.item_name}); // ididremovedArr
itemHuChiList.value.push({
code2: item.item_code,
code2_item_name: item.item_name
}); // ididremovedArr
} else {
newArr.push(item); // newArr
}
@ -440,7 +498,10 @@
const HuChi_YiChu = (y_item) => {
itemHuChiList.value = itemHuChiList.value.filter(item => item.code2 != y_item.code2);
if (!HuChiSelectItemList.value.find(item => item.item_code == y_item.code2)) {
HuChiSelectItemList.value.push({item_code:y_item.code2,item_name:y_item.code2_item_name});
HuChiSelectItemList.value.push({
item_code: y_item.code2,
item_name: y_item.code2_item_name
});
}
}
//
@ -548,23 +609,27 @@
width: 100px;
text-align: left;
}
.col {
border: 1px solid #ddd;
padding: 4px;
width: 400px;
}
#huchi_table {
width: 100%;border: 1px solid #ccc;
width: 100%;
border: 1px solid #ccc;
border-collapse: collapse;
}
#huchi_table tr {
border: 1px solid #ccc;
}
#huchi_table td {
border: 1px solid #ccc;
padding: 4px 8px;
}
</style>

@ -11,11 +11,27 @@
type="daterange" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间"
value-format="YYYY-MM-DD" />
</el-form-item>
<el-form-item>
<el-select :filterable="true" clearable v-model="searchInfo.list_status" placeholder="状态"
style="margin-left: 8px;width: 150px;">
<el-option label="申请中" value="0" />
<el-option label="已预约" value="1" />
<el-option label="已报道" value="2" />
<el-option label="已结束" value="3" />
</el-select>
</el-form-item>
<el-form-item>
<el-input v-model="searchInfo.reg_num" placeholder="登记号" style="width: 200px;margin-left: 8px;" />
</el-form-item>
<el-form-item>
<el-input v-model="searchInfo.user_name" placeholder="患者姓名"
style="width: 200px;margin-left: 8px;" />
</el-form-item>
<!-- <el-form-item>
<el-input v-model="searchInfo.name" placeholder="请输入类型名称" style="margin-left: 10px;" />
</el-form-item> -->
<el-button type="primary" @click="GetList()" style="margin-left: 10px;">查询</el-button>
<el-button type="success" @click="Add()" style="margin-left: 10px;">添加</el-button>
<!-- <el-button type="success" @click="Add()" style="margin-left: 10px;">添加</el-button> -->
</el-row>
</div>
</div>

Loading…
Cancel
Save