2024-09-19 12:57:55 +08:00
|
|
|
<template>
|
|
|
|
|
<view>
|
|
|
|
|
<view class="search white">
|
|
|
|
|
<view class="title">{{isDel ? '请选择' : '已添加'}}</view>
|
|
|
|
|
<view class="box">
|
|
|
|
|
<view class="item" @click="handleSelect(item.id)" :class="{act: selectId.includes(item.id)}"
|
|
|
|
|
v-for="item in list" :key="item.id">
|
|
|
|
|
{{item.content}}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
2025-02-21 08:47:39 +08:00
|
|
|
<!-- <view class="title">默认</view>-->
|
|
|
|
|
<!-- <view class="box">-->
|
|
|
|
|
<!-- <view class="item" @click="handleSelect(item.id)" :class="{act: selectId.includes(item.id)}"-->
|
|
|
|
|
<!-- v-for="item in commonList" :key="item.id">-->
|
|
|
|
|
<!-- {{item.content}}-->
|
|
|
|
|
<!-- </view>-->
|
|
|
|
|
<!-- </view>-->
|
2024-09-19 12:57:55 +08:00
|
|
|
</view>
|
|
|
|
|
<view class="flex-row flex-jus-center" v-if="list.length == 0">
|
|
|
|
|
<d-empty text="暂无信息" mode="search"></d-empty>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<view v-if="!isDel" class="btnBox">
|
|
|
|
|
<view @click="isDel = true" class="btn btn1">删除医嘱</view>
|
|
|
|
|
<view @click="showAdd" class="btn btn2">添加医嘱</view>
|
|
|
|
|
</view>
|
2026-05-12 10:10:38 +08:00
|
|
|
<view v-else class="btnBox">
|
|
|
|
|
<view @click="isDel = false; selectId = []" class="btn btn1">暂不删除</view>
|
|
|
|
|
<view @click="templateDelete" class="btn btn2">删除医嘱</view>
|
|
|
|
|
</view>
|
2024-09-19 12:57:55 +08:00
|
|
|
<view class="modal" v-if="modalVisible">
|
|
|
|
|
<view class="mask"></view>
|
|
|
|
|
<view class="main">
|
|
|
|
|
<view class="name">添加医嘱</view>
|
|
|
|
|
<view class="input">
|
|
|
|
|
<textarea v-model="txt" placeholder="请填写医嘱内容" placeholder-class="textarea-placeholder" />
|
|
|
|
|
</view>
|
|
|
|
|
<view class="b">
|
|
|
|
|
<view @click="handleCancel" class="l">暂不添加</view>
|
|
|
|
|
<view @click="handleConfirm" class="r">确认添加</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import {
|
|
|
|
|
getDiagnoseCommonList,
|
|
|
|
|
addDiagnoseCommon,
|
|
|
|
|
deleteDiagnoseCommon
|
|
|
|
|
} from "@/api/all.js";
|
2025-02-21 08:47:39 +08:00
|
|
|
import {doctorOrderCommonList} from "@/api/doctorOrder";
|
2024-09-19 12:57:55 +08:00
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
selectId: [],
|
|
|
|
|
isDel: false,
|
|
|
|
|
modalVisible: false,
|
|
|
|
|
txt: '',
|
|
|
|
|
tabs: [],
|
|
|
|
|
current: 0,
|
|
|
|
|
keyword: "",
|
|
|
|
|
list: [],
|
2025-02-21 08:47:39 +08:00
|
|
|
commonList: [],
|
2024-09-19 12:57:55 +08:00
|
|
|
oldList: [],
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
onShow() {
|
2024-12-21 17:10:32 +08:00
|
|
|
this.templateLists();
|
2024-09-19 12:57:55 +08:00
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
handleSelect(id) {
|
|
|
|
|
if (!this.isDel) return
|
|
|
|
|
const index = this.selectId.findIndex(item => item == id)
|
|
|
|
|
if (index < 0) {
|
|
|
|
|
this.selectId.push(id)
|
|
|
|
|
} else {
|
|
|
|
|
this.selectId.splice(index, 1)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
handleConfirm() {
|
|
|
|
|
if (!this.txt) {
|
|
|
|
|
return uni.showToast({
|
|
|
|
|
title: '请添加医嘱内容',
|
|
|
|
|
icon: 'none',
|
|
|
|
|
mask: true
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
addDiagnoseCommon({
|
|
|
|
|
content: this.txt,
|
|
|
|
|
store_id: uni.getStorageSync('store_id') || 11001,
|
|
|
|
|
}).then(res => {
|
|
|
|
|
if (res.errcode == 0) {
|
|
|
|
|
this.modalVisible = false
|
|
|
|
|
this.txt = ''
|
|
|
|
|
this.templateLists()
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: '医嘱添加成功',
|
|
|
|
|
icon: 'none',
|
|
|
|
|
mask: true
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: res.msg,
|
|
|
|
|
icon: 'none',
|
|
|
|
|
mask: true
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleCancel() {
|
|
|
|
|
uni.showModal({
|
|
|
|
|
title: "提示",
|
|
|
|
|
// 提示文字
|
|
|
|
|
content: "确认吗?",
|
|
|
|
|
// 取消按钮的文字自定义
|
|
|
|
|
cancelText: "取消",
|
|
|
|
|
success: (res) => {
|
|
|
|
|
if (res.confirm) {
|
|
|
|
|
this.modalVisible = false
|
|
|
|
|
} else {
|
|
|
|
|
// 执行取消后的操作
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
showAdd() {
|
|
|
|
|
this.modalVisible = true
|
|
|
|
|
},
|
|
|
|
|
setDel() {
|
|
|
|
|
this.isDel = true
|
|
|
|
|
},
|
|
|
|
|
templateDelete() {
|
|
|
|
|
uni.showModal({
|
|
|
|
|
title: "提示",
|
|
|
|
|
// 提示文字
|
|
|
|
|
content: "确认要删除吗?",
|
|
|
|
|
// 取消按钮的文字自定义
|
|
|
|
|
cancelText: "取消",
|
|
|
|
|
|
|
|
|
|
success: (res) => {
|
|
|
|
|
if (res.confirm) {
|
|
|
|
|
// 执行确认后的操作
|
|
|
|
|
deleteDiagnoseCommon({
|
|
|
|
|
id: String(this.selectId),
|
|
|
|
|
store_id: uni.getStorageSync('store_id') || 11001,
|
|
|
|
|
})
|
|
|
|
|
.then((res) => {
|
|
|
|
|
if (res.errcode === 0) {
|
|
|
|
|
this.isDel = false
|
|
|
|
|
this.selectId = []
|
|
|
|
|
this.templateLists();
|
|
|
|
|
} else {
|
|
|
|
|
this.$toast(res.msg);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.finally(() => {
|
|
|
|
|
uni.hideLoading();
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
// 执行取消后的操作
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
templateLists() {
|
|
|
|
|
getDiagnoseCommonList({store_id: uni.getStorageSync('store_id') || 11001,})
|
|
|
|
|
.then((res) => {
|
|
|
|
|
if (res.errcode === 0) {
|
|
|
|
|
this.list = res.data;
|
|
|
|
|
} else {
|
|
|
|
|
this.$toast(res.msg);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.finally(() => {
|
|
|
|
|
uni.hideLoading();
|
|
|
|
|
this.loading2 = false;
|
|
|
|
|
});
|
2025-02-21 08:47:39 +08:00
|
|
|
doctorOrderCommonList({store_id: uni.getStorageSync('store_id') || 11001,})
|
|
|
|
|
.then((res) => {
|
|
|
|
|
if (res.code === 0) {
|
|
|
|
|
this.commonList = res.result;
|
|
|
|
|
} else {
|
|
|
|
|
this.$toast(res.msg);
|
|
|
|
|
}
|
|
|
|
|
})
|
2024-09-19 12:57:55 +08:00
|
|
|
},
|
|
|
|
|
|
|
|
|
|
chang(c) {
|
|
|
|
|
console.log(c);
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
<style>
|
|
|
|
|
page {
|
|
|
|
|
background-color: #f9fafb;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
<style scoped lang="scss">
|
|
|
|
|
.modal {
|
|
|
|
|
position: fixed;
|
|
|
|
|
z-index: 33;
|
|
|
|
|
left: 0;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
|
|
|
|
|
.mask {
|
|
|
|
|
position: absolute;
|
|
|
|
|
left: 0;
|
|
|
|
|
top: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
background: rgba(0, 0, 0, .6);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.main {
|
|
|
|
|
position: absolute;
|
|
|
|
|
left: 50%;
|
|
|
|
|
top: 50%;
|
|
|
|
|
width: 616rpx;
|
|
|
|
|
height: 506rpx;
|
|
|
|
|
transform: translate(-50%, -50%);
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
padding: 40rpx 26rpx 0;
|
|
|
|
|
background: #fff;
|
|
|
|
|
z-index: 3;
|
|
|
|
|
border-radius: 20rpx;
|
|
|
|
|
|
|
|
|
|
.name {
|
|
|
|
|
text-align: center;
|
|
|
|
|
margin-bottom: 30rpx;
|
|
|
|
|
color: #333;
|
|
|
|
|
font-size: 32rpx;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.input {
|
|
|
|
|
height: 244rpx;
|
|
|
|
|
border-radius: 20rpx;
|
|
|
|
|
border: 1rpx solid #D8D8D8;
|
|
|
|
|
margin-bottom: 40rpx;
|
|
|
|
|
padding-right: 20rpx;
|
|
|
|
|
|
|
|
|
|
textarea {
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 240rpx;
|
|
|
|
|
padding: 10rpx 22rpx;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.b {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
|
|
|
|
.l,
|
|
|
|
|
.r {
|
|
|
|
|
width: 196rpx;
|
|
|
|
|
height: 64rpx;
|
|
|
|
|
line-height: 64rpx;
|
|
|
|
|
text-align: center;
|
|
|
|
|
background: #6ACDBB;
|
|
|
|
|
color: #fff;
|
|
|
|
|
border-radius: 32rpx;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.l {
|
|
|
|
|
background: #F0FAF8;
|
|
|
|
|
color: #6ACDBB;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.search {
|
|
|
|
|
padding: 30rpx 44rpx 0;
|
|
|
|
|
margin-bottom: 252rpx;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.title {
|
|
|
|
|
color: #333;
|
|
|
|
|
font-size: 32rpx;
|
|
|
|
|
margin-bottom: 32rpx;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.box {
|
|
|
|
|
margin-left: -20rpx;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
|
|
|
|
|
.item {
|
|
|
|
|
margin-left: 20rpx;
|
|
|
|
|
margin-bottom: 30rpx;
|
|
|
|
|
padding: 0 30rpx;
|
|
|
|
|
height: 60rpx;
|
|
|
|
|
line-height: 60rpx;
|
|
|
|
|
border-radius: 8rpx;
|
|
|
|
|
border: 1rpx solid #D8D8D8;
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
color: #666;
|
|
|
|
|
|
|
|
|
|
&.act {
|
|
|
|
|
color: #fff;
|
|
|
|
|
background: #6ACDBB;
|
|
|
|
|
border: 1rpx solid #6ACDBB;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.btnBox {
|
|
|
|
|
font-size: 32rpx;
|
|
|
|
|
|
|
|
|
|
.btn {
|
|
|
|
|
position: fixed;
|
|
|
|
|
left: 40rpx;
|
|
|
|
|
right: 40rpx;
|
|
|
|
|
height: 88rpx;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
font-size: 32rpx;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
border: 1rpx solid #6ACDBB;
|
|
|
|
|
border-radius: 42rpx;
|
|
|
|
|
|
|
|
|
|
&.btn1 {
|
|
|
|
|
color: #6ACDBB;
|
|
|
|
|
bottom: 162rpx;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&.btn2 {
|
|
|
|
|
bottom: 40rpx;
|
|
|
|
|
color: #fff;
|
|
|
|
|
background: #6ACDBB;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.bottom {}
|
|
|
|
|
|
|
|
|
|
.set {
|
|
|
|
|
width: 124rpx;
|
|
|
|
|
height: 82rpx;
|
|
|
|
|
border-left: 1px solid #e8e9eb;
|
|
|
|
|
|
|
|
|
|
image {
|
|
|
|
|
width: 28rpx;
|
|
|
|
|
height: 28rpx;
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-02-21 08:47:39 +08:00
|
|
|
</style>
|