Merge branch 'main' of ssh://git.jizhiweb.cn:2222/clinic-v2/web

This commit is contained in:
LiJianZhao 2025-05-19 16:13:40 +08:00
commit 2ed0b0e7ee
20 changed files with 71 additions and 68 deletions

View File

@ -74,10 +74,19 @@ const getInfoFor1101 = (params: any) => {
}
onMounted(async () => {
wsStore.setMessageCallback(reciceMessage)
wsStore.setErrorCallback(errorCallBack)
});
onUnmounted(() => {
wsStore.removeAllMessageCallback()
wsStore.removeAllErrorCallback()
})
const errorCallBack = () => {
ElMessage({
message: '请连接设备',
type: 'warning',
});
isReading.value = false;
}
</script>
<template>

View File

@ -293,7 +293,7 @@ const selected = ref(false)
}
.item-time {
width: 40px;
width: 80px;
}
.item-status{
width: 40px;

View File

@ -118,6 +118,9 @@ defineExpose({init, clear})
min-width: 0;
height: 20px;
line-height: 20px;
white-space: nowrap; /* 防止文本换行 */
overflow: hidden; /* 隐藏溢出的文本 */
text-overflow: ellipsis; /* 显示省略号 */
}
.avatar-info-num {
margin-left: 28px;

View File

@ -12,7 +12,7 @@
</div>
</template>
<div>
<Detail :detail="item"></Detail>
<Detail :detail="item" :key="item.id"></Detail>
</div>
</el-collapse-item>
</el-collapse>
@ -31,11 +31,10 @@ const list = ref<any>([])
const init = (patientId: any) => {
const query = {
patientId: patientId,
pageSize: 10
pageSize: 20
}
post('charge/listDetail', {query}).then((res: any) => {
list.value = res.list
console.log(list, 'list')
})
}
const clearList = () => {

View File

@ -55,7 +55,7 @@
</div>
</template>
<script setup lang="ts">
import {ref, defineProps, onMounted} from 'vue'
import {ref, defineProps, onMounted, watch} from 'vue'
const {detail} = defineProps(['detail']);
const detailObj = ref<any>(detail)
@ -70,6 +70,7 @@ onMounted(() => {
}, 0);
sumPrice.value = pharmaceuticalTotalAmount + serviceTotalAmount;
})
</script>
<style scoped lang="scss">
.disease-detail {
@ -130,6 +131,7 @@ onMounted(() => {
display: flex;
justify-content: space-between;
margin-bottom: 8px;
.name {
white-space: nowrap; /* 防止文本换行 */
overflow: hidden; /* 隐藏溢出的文本 */
@ -143,6 +145,7 @@ onMounted(() => {
.price-left {
margin-right: 38px;
}
.sumPrice {
font-weight: bold;
font-size: 16px;

View File

@ -71,7 +71,7 @@ const socialCard = ref<any>({
});
const loading = ref(false);
const show = ref(false)
const printReceipt = ref(true);
const printReceipt = ref(false);
const payType = ref(null);
const retailOrder = ref<any>(null);
const close = () => {

View File

@ -46,15 +46,19 @@ const imageUrl = ref<any>()
height: 208px;
.info-content {
width: 100%;
display: flex;
padding-left: 24px;
.image {
width: 88px;
height: 88px;
margin: 0 24px;
margin-right:24px;
}
.app_info-content-text {
flex: 1;
min-width: 0;
font-weight: 500;
font-size: 16px;
color: #333333;

View File

@ -10,7 +10,7 @@ const proxyMessage = defineModel<any>()
<div class="service-content">
<img class="image" src="/static/images/home/qr-code.png" alt="">
<div class="service-text">
<div style="margin-bottom: 20px">服务名称{{ proxyMessage.name }}</div>
<div class="message-name" style="margin-bottom: 20px">服务名称{{ proxyMessage.name }}</div>
<div>服务热线{{ proxyMessage.phone }}</div>
</div>
</div>
@ -19,20 +19,22 @@ const proxyMessage = defineModel<any>()
<style scoped lang="scss">
.service {
width: 100%;
height: 170px;
margin: 24px 0;
padding-bottom: 24px;
.service-content {
padding: 0 24px 24px;
display: flex;
.image {
width: 88px;
height: 88px;
margin: 0 24px;
margin-right:24px;
}
.service-text {
flex: 1;
min-width: 0;
font-weight: 500;
font-size: 16px;
color: #333333;
@ -40,6 +42,11 @@ const proxyMessage = defineModel<any>()
display: flex;
flex-direction: column;
justify-content: center;
.message-name{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
}
}

View File

@ -36,7 +36,7 @@
:current-page="pageNum"
:page-size="pageSize"
:total="total"
@change="changePage"
@current-change="changePage"
/>
</div>
</template>
@ -64,9 +64,8 @@ const close = () => {
const pageNum = ref(1);
const pageSize = ref(20);
const total = ref(0);
const changePage = (pageNum: any) => {
pageNum.value = pageNum
console.log(pageNum.value)
const changePage = (value: any) => {
pageNum.value = value
init()
}
</script>

View File

@ -40,7 +40,7 @@
:current-page="pageNum"
:page-size="pageSize"
:total="total"
@change="changePage"
@current-change="changePage"
/>
</div>
</template>
@ -67,10 +67,10 @@ const close = () => {
tableData.value = []
};
const pageNum = ref(1);
const pageSize = ref(1);
const pageSize = ref(20);
const total = ref(0);
const changePage = (pageNum: any) => {
pageNum.value = pageNum
const changePage = (value: any) => {
pageNum.value = value
init()
}
</script>

View File

@ -38,7 +38,6 @@ const isZeroInventory = (item: any) => {
<div class="image"/>
<div class="item-content">
<div class="item-name">{{ item.name }}</div>
<div class="item-name-font">剩余库存值</div>
</div>
<div class="item-right">
<div class="wholeNumber">{{ item.inventoryWholeNumber }}

View File

@ -61,8 +61,13 @@ const systemMessage = defineModel<SystemMessage[]>({ default: () => [] });
justify-content: space-between;
&-title {
flex: 1;
min-width: 0;
font-size: 18px;
color: #333333;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}

View File

@ -38,13 +38,7 @@ const isExpire = (item: any) => {
:class="isExpire(item) ? 'item__danger' : 'item__warn'">
<div class="image"/>
<div class="item-content">
<el-tooltip
effect="dark"
:content="item.name"
placement="bottom-start"
>
<div class="item-name">{{ item.name }}</div>
</el-tooltip>
<div class="item-name-font">
<span>{{ item.whole_number }}{{ item.packaging_unit }}</span>
<span v-if="item.fragment_number>0">{{
@ -146,6 +140,7 @@ const isExpire = (item: any) => {
.item-right {
width: 120px;
display: flex;
.item-right-num {
font-size: 28px;
font-weight: bold;

View File

@ -12,7 +12,7 @@
</div>
</template>
<div>
<DiseaseDetails :detail="item" @copy="copy" @copyItem="copyItem" @copyGoods="copyGoods"></DiseaseDetails>
<DiseaseDetails :detail="item" :key="item.id" @copy="copy" @copyItem="copyItem" @copyGoods="copyGoods"></DiseaseDetails>
</div>
</el-collapse-item>
</el-collapse>

View File

@ -309,7 +309,7 @@ watch(() => selectedDate.value, (newValue, oldValue) => {
}
.item-time {
width: 40px;
width: 80px;
}
.item-type {

View File

@ -15,8 +15,8 @@
</div>
</template>
</el-table-column>
<el-table-column prop="phone" label="手机号" width="180"></el-table-column>
<el-table-column prop="status" label="状态" width="180">
<el-table-column prop="phone" label="手机号" width="180" show-overflow-tooltip></el-table-column>
<el-table-column prop="status" label="状态" width="180" show-overflow-tooltip>
<template #default="scope">
<el-tag
:type="scope.row.status === 1 ? 'warning' : scope.row.status === 2 ? 'success' : scope.row.status === 3 ? 'info' : 'danger'"
@ -27,27 +27,27 @@
</el-tag>
</template>
</el-table-column>
<el-table-column prop="organizationSectionId" label="科室">
<el-table-column prop="organizationSectionId" label="科室" show-overflow-tooltip>
<template #default="scope">
{{ sectionList.find((item:any)=>item.id===scope.row.organizationSectionId)?.name || '-' }}
</template>
</el-table-column>
<el-table-column prop="organizationDoctorId" label="医生">
<el-table-column prop="organizationDoctorId" label="医生" show-overflow-tooltip>
<template #default="scope">
{{ roleList.find((item: any) => item.id === scope.row.organizationDoctorId)?.name || '-' }}
</template>
</el-table-column>
<el-table-column prop="visitType" label="初/复诊">
<el-table-column prop="visitType" label="初/复诊" show-overflow-tooltip>
<template #default="scope">
{{ visitType[scope.row.visitType] || '-' }}
</template>
</el-table-column>
<el-table-column prop="createDatetime" label="挂号日期" width="180">
<el-table-column prop="createDatetime" label="挂号日期" width="180" show-overflow-tooltip>
<template #default="scope">
{{ formatDate(scope.row.createDatetime) || '-' }}
</template>
</el-table-column>
<el-table-column prop="memo" label="备注"></el-table-column>
<el-table-column prop="memo" label="备注" show-overflow-tooltip></el-table-column>
</el-table>
</div>
</template>

View File

@ -1,15 +1 @@
import { ref } from 'vue'
import { defineStore } from 'pinia'
export const useLogoStore = defineStore('logo', () => {
const logoUrl = ref<string>("")
function setLogoUrl(url: string) {
logoUrl.value = url
}
function getLogoUrl() {
return logoUrl.value
}
// 返回需要暴露的方法和变量
return { logoUrl, setLogoUrl, getLogoUrl }
})

View File

@ -246,10 +246,8 @@ const orderCompleted = (printReceipt: any) => {
type MedTypeKey = keyof typeof medTypeJson;
const wsStore = useWsStore()
const printReceiptDo = async () => {
let chargeOrder:any = await post("charge/getOrderByDiagnosisCode", {
diagnosisCode: formData.value.code,
status: formData.value.status
})
if (!chargeOrder) {
ElMessage.error("该订单不存在")
@ -269,7 +267,6 @@ const printReceiptDo = async () => {
if (res.chargeSocialPayLog) {
res.chargeSocialPayLog.medTypeStr = medTypeJson[res.chargeSocialPayLog.medType as MedTypeKey];
}
console.log(res)
wsStore.sendMessage({
type: "PrintReceipt",
config: null,
@ -317,8 +314,6 @@ const getOrderTotalPrice = () => {
})
formData.value.preTotalPrice = Math.round(totalPrice * 100) / 100
formData.value.totalPrice = Math.round(totalPrice * 100) / 100
}
@ -357,7 +352,6 @@ const refund = async () => {
}
let chargeOrder:any = await post("charge/getOrderByDiagnosisCode", {
diagnosisCode: formData.value.code,
status: formData.value.status
})
if (!chargeOrder) {
ElMessage.error("该订单不存在")

View File

@ -100,8 +100,6 @@ const save = () => {
post('medical/record/save', {data: data}).then((res: any) => {
ElMessage.success("保存成功")
medicalQueueRef.value?.changeCurItemOrStatus(null, 2);
})
}
const totalAmount = ref(0)
@ -109,6 +107,7 @@ const medicalHistoryRef = ref()
const patientCardRef = ref()
const patientRegistration = ref<any>({})//
const clickItem = (item: any) => {
initFormData()
if (!item) return
curRegister.value = item
registerId.value = item.id
@ -126,6 +125,7 @@ const clickItem = (item: any) => {
formData.value.itemDetail = res.itemDetail
formData.value.diagType = Number(formData.value.diagType)
patientRegistration.value = res.patientRegistration
getOrderTotalPrice()
})
}
@ -162,18 +162,16 @@ const getOrderTotalPrice = () => {
formData.value.itemDetail?.forEach((item: any) => {
totalPrice += item.selectedPrice * item.selectedNum
})
console.log(totalPrice, 'totalPrice')
formData.value.goodsDetail?.forEach((item: any) => {
totalPrice += item.selectedPrice * item.selectedNum
})
console.log(totalPrice, 'totalPrice')
formData.value.preTotalPrice = Math.round((totalPrice * 100) / 100)
formData.value.totalPrice = totalPrice
console.log(formData.value.totalPrice, 'formData.value.totalPrice')
}
const caseRef = ref<any>("")
const copyForm = (item: any) => {
formData.value = item.diagnosisMedicalRecord
formData.value.diagType = Number(item.diagnosisMedicalRecord.diagType)
const diagnosisList = JSON.parse(item.diagnosisMedicalRecord.diagnosisDetail)
const nList = item.diagnosisMedicalRecord.diagnosisSummary.split(',')
nextTick(() => {
@ -181,10 +179,12 @@ const copyForm = (item: any) => {
})
}
const copyItemList = (item: any) => {
itemDetail.value = item.itemDetail
formData.value.itemDetail = item.itemDetail
getOrderTotalPrice()
}
const copyGoodsList = (item: any) => {
goodsList.value = item.goodsDetail
formData.value.goodsDetail = item.goodsDetail
getOrderTotalPrice()
}
const seeDockerInfo = ref<any>()

View File

@ -132,8 +132,8 @@ const getPatientList = () => {
const total = ref(0)
const size = ref(20)
const page = ref(1)
const changePage = (page: any) => {
page.value = page
const changePage = (value: any) => {
page.value = value
getPatientList()
}
const id = ref<any>('')