Merge branch 'main' of ssh://git.jizhiweb.cn:2222/clinic-v2/web
This commit is contained in:
commit
eb2454f5c4
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<Panel title="患者信息">
|
<Panel title="患者信息">
|
||||||
<div v-if="!seeDockerInfo?.patientInfo" style="display: flex;align-items: center;justify-content: center;height: 120px">请选择患者......</div>
|
<div v-if="!seeDockerInfo?.patientInfo"
|
||||||
|
style="display: flex;align-items: center;justify-content: center;height: 120px">请选择患者......
|
||||||
|
</div>
|
||||||
<div v-else style="padding: 0 24px">
|
<div v-else style="padding: 0 24px">
|
||||||
<div class="avatar">
|
<div class="avatar">
|
||||||
<img class="avatar-image"
|
<img class="avatar-image"
|
||||||
|
|
@ -26,8 +26,11 @@
|
||||||
class="detail-doctor">{{ seeDockerInfo.dockerName }}-{{ seeDockerInfo?.sectionName }}</span>
|
class="detail-doctor">{{ seeDockerInfo.dockerName }}-{{ seeDockerInfo?.sectionName }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="detail-middle">
|
<div class="detail-middle">
|
||||||
<div>费用类别: <span class="detail-doctor">{{seeDockerInfo.registerType==2?'医保':'自费'}}</span></div>
|
<div>费用类别: <span class="detail-doctor">{{ seeDockerInfo.registerType == 2 ? '医保' : '自费' }}</span>
|
||||||
<div>医保卡剩余金额: <span class="detail-balance">{{ seeDockerInfo.patientInfo.socialBalance?seeDockerInfo.patientInfo.socialBalance+"元":"-" }}</span></div>
|
</div>
|
||||||
|
<div>医保卡剩余金额: <span class="detail-balance">{{
|
||||||
|
seeDockerInfo.patientInfo.socialBalance ? seeDockerInfo.patientInfo.socialBalance + "元" : "-"
|
||||||
|
}}</span></div>
|
||||||
</div>
|
</div>
|
||||||
<div>上次就诊时间: <span class="detail-doctor">{{
|
<div>上次就诊时间: <span class="detail-doctor">{{
|
||||||
formatDate(seeDockerInfo?.lastSeeDoctorTime) || '-'
|
formatDate(seeDockerInfo?.lastSeeDoctorTime) || '-'
|
||||||
|
|
@ -42,6 +45,7 @@ import {formatDate} from "@/utils/dateUtils.ts"
|
||||||
import Panel from "@/components/common/Panel.vue";
|
import Panel from "@/components/common/Panel.vue";
|
||||||
import {onMounted, ref} from "vue";
|
import {onMounted, ref} from "vue";
|
||||||
import {post} from "@/utils/request.ts";
|
import {post} from "@/utils/request.ts";
|
||||||
|
|
||||||
const seeDockerInfo = ref<any>();
|
const seeDockerInfo = ref<any>();
|
||||||
const getSeeDockerInfo = (newValue: any) => {
|
const getSeeDockerInfo = (newValue: any) => {
|
||||||
if (!newValue) return;
|
if (!newValue) return;
|
||||||
|
|
@ -71,7 +75,8 @@ defineExpose({ init,clear})
|
||||||
}
|
}
|
||||||
|
|
||||||
.avatar-info-wrapper {
|
.avatar-info-wrapper {
|
||||||
width: 100%;
|
flex: 1;
|
||||||
|
min-width: 0;
|
||||||
height: 60px;
|
height: 60px;
|
||||||
padding: 6px 0;
|
padding: 6px 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -84,14 +89,19 @@ defineExpose({ init,clear})
|
||||||
|
|
||||||
.avatar-info {
|
.avatar-info {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
span {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
.avatar-info-name {
|
.avatar-info-name {
|
||||||
|
flex: 1;
|
||||||
|
min-width: 0;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
margin-right: 10px;
|
white-space: nowrap; /* 防止文本换行 */
|
||||||
|
overflow: hidden; /* 隐藏溢出的文本 */
|
||||||
|
text-overflow: ellipsis; /* 显示省略号 */
|
||||||
}
|
}
|
||||||
|
|
||||||
.avatar-info-age {
|
.avatar-info-age {
|
||||||
|
|
@ -103,23 +113,20 @@ defineExpose({ init,clear})
|
||||||
.avatar-info-phone-num {
|
.avatar-info-phone-num {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
|
||||||
|
|
||||||
.avatar-info-num {
|
|
||||||
margin-left: 28px;
|
|
||||||
|
|
||||||
.avatar-info-phone {
|
.avatar-info-phone {
|
||||||
|
flex: 1;
|
||||||
|
min-width: 0;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
}
|
}
|
||||||
|
.avatar-info-num {
|
||||||
|
margin-left: 28px;
|
||||||
.caret-num {
|
.caret-num {
|
||||||
color: #4D6DE4;
|
color: #4D6DE4;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,13 +32,7 @@ const imageUrl = ref<any>()
|
||||||
<div class="info-content">
|
<div class="info-content">
|
||||||
<img class="image" :src="imageUrl? imageUrl:userMessage.logo" alt="app">
|
<img class="image" :src="imageUrl? imageUrl:userMessage.logo" alt="app">
|
||||||
<div class="app_info-content-text">
|
<div class="app_info-content-text">
|
||||||
<el-tooltip
|
|
||||||
effect="dark"
|
|
||||||
:content="userMessage.name"
|
|
||||||
placement="bottom-start"
|
|
||||||
>
|
|
||||||
<div class="app_info-title">{{ userMessage.name }}</div>
|
<div class="app_info-title">{{ userMessage.name }}</div>
|
||||||
</el-tooltip>
|
|
||||||
<div>软件版本:{{ userMessage.version }}</div>
|
<div>软件版本:{{ userMessage.version }}</div>
|
||||||
<div style="margin: 10px 0">授权到期:{{ formatDate(decryptedText.expiryDate) }}</div>
|
<div style="margin: 10px 0">授权到期:{{ formatDate(decryptedText.expiryDate) }}</div>
|
||||||
<div>版本类型:{{ decryptedText.rule == 1 ? "禁用医保" : decryptedText.rule == 2 ? "全部开放" : "暂无" }}</div>
|
<div>版本类型:{{ decryptedText.rule == 1 ? "禁用医保" : decryptedText.rule == 2 ? "全部开放" : "暂无" }}</div>
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
<Mask :width="1100" :height="600" :is-show="show" title="过期商品详情" @close="close" :show-footer="true">
|
<Mask :width="1100" :height="600" :is-show="show" title="过期商品详情" @close="close" :show-footer="true">
|
||||||
<template #default>
|
<template #default>
|
||||||
<div style="height: 100%;padding: 24px">
|
<div style="height: 100%;padding: 24px">
|
||||||
<el-table :data="tableData" style="width: 100%" class="table">
|
<el-table border :data="tableData" style="width: 100%;height: 100%" class="table" :header-cell-style="{ backgroundColor: '#F1F5FB' }">
|
||||||
<el-table-column label="名称" prop="name" show-overflow-tooltip></el-table-column>
|
<el-table-column label="名称" prop="name" show-overflow-tooltip></el-table-column>
|
||||||
<el-table-column label="剩余天数" show-overflow-tooltip>
|
<el-table-column label="剩余天数" show-overflow-tooltip>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
|
@ -33,10 +33,10 @@
|
||||||
<el-pagination
|
<el-pagination
|
||||||
background
|
background
|
||||||
layout="prev, pager, next"
|
layout="prev, pager, next"
|
||||||
:page-count="pageNum"
|
:current-page="pageNum"
|
||||||
:page-size="pageSize"
|
:page-size="pageSize"
|
||||||
:total="total"
|
:total="total"
|
||||||
@current-change="changePage"
|
@change="changePage"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -66,6 +66,7 @@ const pageSize = ref(20);
|
||||||
const total = ref(0);
|
const total = ref(0);
|
||||||
const changePage = (pageNum: any) => {
|
const changePage = (pageNum: any) => {
|
||||||
pageNum.value = pageNum
|
pageNum.value = pageNum
|
||||||
|
console.log(pageNum.value)
|
||||||
init()
|
init()
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
<Mask :width="1100" :height="600" :is-show="show" title="库存预警详情" @close="close" :show-footer="true">
|
<Mask :width="1100" :height="600" :is-show="show" title="库存预警详情" @close="close" :show-footer="true">
|
||||||
<template #default>
|
<template #default>
|
||||||
<div style="height: 100%;padding: 24px">
|
<div style="height: 100%;padding: 24px">
|
||||||
<el-table border :data="tableData" style="width: 100%;height: 100%" class="table">
|
<el-table border :data="tableData" style="width: 100%;height: 100%" class="table" :header-cell-style="{ backgroundColor: '#F1F5FB' }">
|
||||||
<el-table-column label="名称" prop="name" show-overflow-tooltip></el-table-column>
|
<el-table-column label="名称" prop="name" show-overflow-tooltip></el-table-column>
|
||||||
<el-table-column label="剩余库存">
|
<el-table-column label="剩余库存">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
|
@ -37,10 +37,10 @@
|
||||||
<el-pagination
|
<el-pagination
|
||||||
background
|
background
|
||||||
layout="prev, pager, next"
|
layout="prev, pager, next"
|
||||||
:page-count="pageNum"
|
:current-page="pageNum"
|
||||||
:page-size="pageSize"
|
:page-size="pageSize"
|
||||||
:total="total"
|
:total="total"
|
||||||
@current-change="changePage"
|
@change="changePage"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -67,7 +67,7 @@ const close = () => {
|
||||||
tableData.value = []
|
tableData.value = []
|
||||||
};
|
};
|
||||||
const pageNum = ref(1);
|
const pageNum = ref(1);
|
||||||
const pageSize = ref(20);
|
const pageSize = ref(1);
|
||||||
const total = ref(0);
|
const total = ref(0);
|
||||||
const changePage = (pageNum: any) => {
|
const changePage = (pageNum: any) => {
|
||||||
pageNum.value = pageNum
|
pageNum.value = pageNum
|
||||||
|
|
|
||||||
|
|
@ -33,16 +33,11 @@ const isZeroInventory = (item: any) => {
|
||||||
</template>
|
</template>
|
||||||
<div style="padding: 0 24px 24px">
|
<div style="padding: 0 24px 24px">
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="item" style="margin-right: 8px" v-for="item in inventoryWarnList" :class="isZeroInventory(item) ? 'item__danger' : 'item__warn'">
|
<div class="item" style="margin-right: 8px" v-for="item in inventoryWarnList"
|
||||||
|
:class="isZeroInventory(item) ? 'item__danger' : 'item__warn'">
|
||||||
<div class="image"/>
|
<div class="image"/>
|
||||||
<div class="item-content">
|
<div class="item-content">
|
||||||
<el-tooltip
|
|
||||||
effect="dark"
|
|
||||||
:content="item.name"
|
|
||||||
placement="bottom-start"
|
|
||||||
>
|
|
||||||
<div class="item-name">{{ item.name }}</div>
|
<div class="item-name">{{ item.name }}</div>
|
||||||
</el-tooltip>
|
|
||||||
<div class="item-name-font">剩余库存值</div>
|
<div class="item-name-font">剩余库存值</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item-right">
|
<div class="item-right">
|
||||||
|
|
@ -77,21 +72,25 @@ const isZeroInventory = (item: any) => {
|
||||||
background-image: url("/static/images/home/1-danger.png");
|
background-image: url("/static/images/home/1-danger.png");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.item-right {
|
.item-right {
|
||||||
color: #FF282E;
|
color: #FF282E;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.item__warn {
|
.item__warn {
|
||||||
.image {
|
.image {
|
||||||
background-image: url("/static/images/home/1-warn.png");
|
background-image: url("/static/images/home/1-warn.png");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.item-right {
|
.item-right {
|
||||||
color: #F69C51;
|
color: #F69C51;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
float: left;
|
float: left;
|
||||||
width: 48%;
|
width: 48%;
|
||||||
|
|
|
||||||
|
|
@ -115,6 +115,13 @@ const reduceIntegral = () => {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
|
|
||||||
|
.right {
|
||||||
|
flex: 1;
|
||||||
|
min-width: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
margin-left: 16px;
|
||||||
.name {
|
.name {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
|
|
@ -122,14 +129,11 @@ const reduceIntegral = () => {
|
||||||
line-height: 33px;
|
line-height: 33px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
|
||||||
.right {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
margin-left: 16px;
|
|
||||||
|
|
||||||
.text {
|
.text {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-table class="body_list" :data="tableData" style="width: 100%;height: 100%"
|
<div class="body_list">
|
||||||
|
<el-table :data="tableData" style="height: 100%"
|
||||||
:header-cell-style="{ backgroundColor: '#F1F5FB'}">
|
:header-cell-style="{ backgroundColor: '#F1F5FB'}">
|
||||||
<el-table-column prop="createTime" label="创建时间" show-overflow-tooltip>
|
<el-table-column prop="createTime" label="创建时间" show-overflow-tooltip>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
|
@ -36,6 +37,7 @@
|
||||||
<el-table-column prop="remark" label="备注" show-overflow-tooltip/>
|
<el-table-column prop="remark" label="备注" show-overflow-tooltip/>
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
|
|
@ -104,7 +106,6 @@ defineExpose({init})
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.content-flowing {
|
.content-flowing {
|
||||||
width: 100%;
|
|
||||||
padding-top: 24px;
|
padding-top: 24px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -118,6 +119,13 @@ defineExpose({init})
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
padding: 0 24px;
|
padding: 0 24px;
|
||||||
|
|
||||||
|
.right {
|
||||||
|
flex: 1;
|
||||||
|
min-width: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
margin-left: 16px;
|
||||||
.name {
|
.name {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
|
|
@ -125,14 +133,10 @@ defineExpose({init})
|
||||||
line-height: 33px;
|
line-height: 33px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
|
||||||
.right {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
margin-left: 16px;
|
|
||||||
|
|
||||||
.text {
|
.text {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -159,8 +163,9 @@ defineExpose({init})
|
||||||
}
|
}
|
||||||
|
|
||||||
.body_list {
|
.body_list {
|
||||||
width: 100%;
|
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
width: 100%;
|
||||||
|
min-height: 0;
|
||||||
background: #F9FAFC;
|
background: #F9FAFC;
|
||||||
padding: 24px 24px 0;
|
padding: 24px 24px 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -105,6 +105,13 @@ const grant = async () => {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
|
|
||||||
|
.right {
|
||||||
|
flex: 1;
|
||||||
|
min-width: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
margin-left: 16px;
|
||||||
.name {
|
.name {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
|
|
@ -112,14 +119,11 @@ const grant = async () => {
|
||||||
line-height: 33px;
|
line-height: 33px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
|
||||||
.right {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
margin-left: 16px;
|
|
||||||
|
|
||||||
.text {
|
.text {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@
|
||||||
v-model="ruleForm.exp"
|
v-model="ruleForm.exp"
|
||||||
placeholder="等级"
|
placeholder="等级"
|
||||||
size="default"
|
size="default"
|
||||||
|
:disabled="ruleForm.id"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,7 @@ const copyItem = (item: any) => {
|
||||||
emit('copyItem', item)
|
emit('copyItem', item)
|
||||||
}
|
}
|
||||||
const copyGoods = (item: any) => {
|
const copyGoods = (item: any) => {
|
||||||
|
console.log(item,'item')
|
||||||
emit('copyGoods', item)
|
emit('copyGoods', item)
|
||||||
}
|
}
|
||||||
defineExpose({init,clearList})
|
defineExpose({init,clearList})
|
||||||
|
|
|
||||||
|
|
@ -111,7 +111,7 @@
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="费用类型">
|
<el-descriptions-item label="费用类型">
|
||||||
<el-form-item prop="type">
|
<el-form-item prop="type">
|
||||||
<el-select v-model="edit_data.type">
|
<el-select v-model="edit_data.type" :disabled="edit_data.status==0">
|
||||||
<el-option label="普通" :value="1"></el-option>
|
<el-option label="普通" :value="1"></el-option>
|
||||||
<el-option label="医保" :value="2"></el-option>
|
<el-option label="医保" :value="2"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="售价">
|
<el-descriptions-item label="售价">
|
||||||
<el-form-item prop="unitPrice">
|
<el-form-item prop="unitPrice">
|
||||||
<el-input v-model.number="form.unitPrice">
|
<el-input v-model="form.unitPrice">
|
||||||
<template #prefix>¥</template>
|
<template #prefix>¥</template>
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -190,7 +190,16 @@ const formRules = {
|
||||||
],
|
],
|
||||||
unitPrice: [
|
unitPrice: [
|
||||||
{required: true, message: '请输入售价', trigger: 'blur'},
|
{required: true, message: '请输入售价', trigger: 'blur'},
|
||||||
{type: 'number', message: '单位必须为数字值'}
|
{
|
||||||
|
validator: (rule: any, value: number, callback: any) => {
|
||||||
|
if (!/^\d+(\.\d{1,2})?$/.test(value.toString())) {
|
||||||
|
callback(new Error('售价最多保留两位小数'));
|
||||||
|
} else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
trigger: 'blur'
|
||||||
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,13 +19,16 @@
|
||||||
<div class="total">共{{ totalCount || 0 }}条</div>
|
<div class="total">共{{ totalCount || 0 }}条</div>
|
||||||
<ul class="content">
|
<ul class="content">
|
||||||
<el-scrollbar style="height: 100%">
|
<el-scrollbar style="height: 100%">
|
||||||
<li v-for="(item,i) in list" :key="item.id" :class="index==i?'active':''" @click="btn(item,i)">
|
<li class="list-item" v-for="(item,i) in list" :key="item.id" :class="index==i?'active':''"
|
||||||
|
@click="btn(item,i)">
|
||||||
|
<span class="item-avatar">
|
||||||
<img class="image"
|
<img class="image"
|
||||||
:src="'/static/images/member/' + (item.sex === 1 ? 'man' : 'women') + '.png'"
|
:src="'/static/images/member/' + (item.sex === 1 ? 'man' : 'women') + '.png'"
|
||||||
alt=""/>
|
alt=""/>
|
||||||
<div class="name">{{ item.name || '-' }}</div>
|
</span>
|
||||||
<span class="level">{{ item.levelName || "-" }}</span>
|
<span class="item-name">{{ item.name || '-' }}</span>
|
||||||
<span class="time">{{ formatListTime(item.lastVisitTime) }}</span>
|
<span class="item-level">{{ item.levelName || "-" }}</span>
|
||||||
|
<span class="item-time">{{ formatListTime(item.lastVisitTime) }}</span>
|
||||||
</li>
|
</li>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
@ -42,7 +45,7 @@
|
||||||
alt="">
|
alt="">
|
||||||
<div class="detail-top-left-text">
|
<div class="detail-top-left-text">
|
||||||
<div class="detail-top-left-text-name">
|
<div class="detail-top-left-text-name">
|
||||||
<span style="margin-right: 16px">{{ listItem.name || '-' }}</span>
|
<span class="name" style="margin-right: 16px">{{ listItem.name || '-' }}</span>
|
||||||
<el-tag type="success">{{ listItem.levelName || '-' }}</el-tag>
|
<el-tag type="success">{{ listItem.levelName || '-' }}</el-tag>
|
||||||
</div>
|
</div>
|
||||||
<div class="detail-top-left-text-phone">
|
<div class="detail-top-left-text-phone">
|
||||||
|
|
@ -100,7 +103,7 @@
|
||||||
@cell-click="openDetail">
|
@cell-click="openDetail">
|
||||||
<el-table-column label="单号" prop="code" show-overflow-tooltip>
|
<el-table-column label="单号" prop="code" show-overflow-tooltip>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="创建时间" prop="createDatetime">
|
<el-table-column label="创建时间" prop="createDatetime" show-overflow-tooltip>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ formatDate(scope.row.createDatetime) }}
|
{{ formatDate(scope.row.createDatetime) }}
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -110,17 +113,17 @@
|
||||||
<!-- {{ scope.row.preTotalPrice }}元-->
|
<!-- {{ scope.row.preTotalPrice }}元-->
|
||||||
<!-- </template>-->
|
<!-- </template>-->
|
||||||
<!-- </el-table-column>-->
|
<!-- </el-table-column>-->
|
||||||
<el-table-column label="实收" prop="totalPrice" width="80">
|
<el-table-column label="实收" prop="totalPrice" width="100" show-overflow-tooltip>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ scope.row.totalPrice }}元
|
{{ scope.row.totalPrice }}元
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="支付方式" width="100">
|
<el-table-column label="支付方式" width="100" show-overflow-tooltip>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ scope.row.payType ? getPayTypeStr(scope.row.payType) : "" }}
|
{{ scope.row.payType ? getPayTypeStr(scope.row.payType) : "" }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="状态" width="100">
|
<el-table-column label="状态" width="100" show-overflow-tooltip>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-tag v-if="scope.row.status==0 || scope.row.status==2 " type="info">
|
<el-tag v-if="scope.row.status==0 || scope.row.status==2 " type="info">
|
||||||
{{ getStatusStr(scope.row.status) }}
|
{{ getStatusStr(scope.row.status) }}
|
||||||
|
|
@ -129,7 +132,7 @@
|
||||||
<el-tag v-if="scope.row.status==3" type="danger">{{ getStatusStr(scope.row.status) }}</el-tag>
|
<el-tag v-if="scope.row.status==3" type="danger">{{ getStatusStr(scope.row.status) }}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="支付时间" prop="payTime">
|
<el-table-column label="支付时间" prop="payTime" show-overflow-tooltip>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ formatDate(scope.row.payTime) }}
|
{{ formatDate(scope.row.payTime) }}
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -338,6 +341,7 @@ type StatusKey = 0 | 1 | 2 | 3;
|
||||||
type PayTypeKey = 1 | 2 | 3 | 4 | 5;
|
type PayTypeKey = 1 | 2 | 3 | 4 | 5;
|
||||||
//修改时间格式化
|
//修改时间格式化
|
||||||
const formatDate = (isoStr: any) => {
|
const formatDate = (isoStr: any) => {
|
||||||
|
if(!isoStr)return ''
|
||||||
const date = new Date(isoStr);
|
const date = new Date(isoStr);
|
||||||
return `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')}`;
|
return `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')}`;
|
||||||
}
|
}
|
||||||
|
|
@ -449,56 +453,48 @@ const openFlowingWater=()=>{
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
border: 1px solid #EAEAEC;
|
border: 1px solid #EAEAEC;
|
||||||
|
|
||||||
li {
|
.list-item {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
|
||||||
height: 50px;
|
height: 50px;
|
||||||
line-height: 50px;
|
line-height: 50px;
|
||||||
padding: 0 24px;
|
padding: 0 24px;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
span {
|
||||||
&:first-child {
|
text-align: center;
|
||||||
border-top-left-radius: 8px;
|
height: 100%;
|
||||||
border-top-right-radius: 8px;
|
display: block;
|
||||||
}
|
}
|
||||||
|
.item-avatar {
|
||||||
&:last-child {
|
width: 20px;
|
||||||
border-bottom-left-radius: 8px;
|
height: 100%;
|
||||||
border-bottom-right-radius: 8px;
|
margin-right: 10px;
|
||||||
|
.image {
|
||||||
|
margin-top: 15px;
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.item-name{
|
||||||
|
flex: 1;
|
||||||
|
min-width: 0;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
.item-level{
|
||||||
|
width: 50px;
|
||||||
|
}
|
||||||
|
.item-time{
|
||||||
|
width: 50px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #7a8794;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: rgba(#4D6DE4, 0.5);
|
background: rgba(#4D6DE4, 0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
.image {
|
|
||||||
width: 20px;
|
|
||||||
height: 20px;
|
|
||||||
margin-right: 5px
|
|
||||||
}
|
|
||||||
|
|
||||||
.name {
|
|
||||||
flex: 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.level {
|
|
||||||
flex: 2;
|
|
||||||
margin-right: 20px;
|
|
||||||
white-space: nowrap;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
}
|
|
||||||
|
|
||||||
.time {
|
|
||||||
flex: 2;
|
|
||||||
font-size: 12px;
|
|
||||||
color: #7a8794;
|
|
||||||
white-space: nowrap;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.active {
|
.active {
|
||||||
|
|
@ -535,10 +531,11 @@ const openFlowingWater=()=>{
|
||||||
.detail-top {
|
.detail-top {
|
||||||
height: 60px;
|
height: 60px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.detail-top-left {
|
.detail-top-left {
|
||||||
|
flex: 1;
|
||||||
|
min-width: 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
.image {
|
.image {
|
||||||
|
|
@ -548,15 +545,25 @@ const openFlowingWater=()=>{
|
||||||
}
|
}
|
||||||
|
|
||||||
.detail-top-left-text {
|
.detail-top-left-text {
|
||||||
|
flex: 1;
|
||||||
|
min-width: 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
margin-right: 24px;
|
||||||
.detail-top-left-text-name {
|
.detail-top-left-text-name {
|
||||||
|
flex: 1;
|
||||||
|
min-width: 0;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
display: flex;
|
||||||
|
.name{
|
||||||
|
white-space: nowrap; /* 防止文本换行 */
|
||||||
|
overflow: hidden; /* 隐藏溢出的文本 */
|
||||||
|
text-overflow: ellipsis; /* 显示省略号 */
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.detail-top-left-text-phone {
|
.detail-top-left-text-phone {
|
||||||
|
|
@ -566,34 +573,16 @@ const openFlowingWater=()=>{
|
||||||
color: rgba(34, 42, 57, 0.8);
|
color: rgba(34, 42, 57, 0.8);
|
||||||
|
|
||||||
.age {
|
.age {
|
||||||
margin: 0 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.detail-top-right {
|
.detail-top-right {
|
||||||
|
width: 552px;
|
||||||
display: flex;
|
display: flex;
|
||||||
height: 42px;
|
height: 42px;
|
||||||
|
|
||||||
.btn {
|
|
||||||
flex: 1;
|
|
||||||
background: #FFFFFF;
|
|
||||||
border-radius: 6px;
|
|
||||||
border: 1px solid #4D6DE4;
|
|
||||||
padding: 10px 12px;
|
|
||||||
font-weight: 500;
|
|
||||||
font-size: 16px;
|
|
||||||
color: #4D6DE4;
|
|
||||||
font-style: normal;
|
|
||||||
margin-left: 24px;
|
|
||||||
cursor: pointer;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: #FFFFFF;
|
|
||||||
background: #4D6DE4;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -146,6 +146,7 @@ const changeTab = (e: any) => {
|
||||||
patientRegistration.value = {}
|
patientRegistration.value = {}
|
||||||
itemId.value = null
|
itemId.value = null
|
||||||
isShowFrom.value = false
|
isShowFrom.value = false
|
||||||
|
curRegister.value.status = e
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
medicalHistoryRef.value?.clearList();
|
medicalHistoryRef.value?.clearList();
|
||||||
})
|
})
|
||||||
|
|
@ -161,11 +162,14 @@ const getOrderTotalPrice = () => {
|
||||||
formData.value.itemDetail?.forEach((item: any) => {
|
formData.value.itemDetail?.forEach((item: any) => {
|
||||||
totalPrice += item.selectedPrice * item.selectedNum
|
totalPrice += item.selectedPrice * item.selectedNum
|
||||||
})
|
})
|
||||||
|
console.log(totalPrice, 'totalPrice')
|
||||||
formData.value.goodsDetail?.forEach((item: any) => {
|
formData.value.goodsDetail?.forEach((item: any) => {
|
||||||
totalPrice += item.selectedPrice * item.selectedNum
|
totalPrice += item.selectedPrice * item.selectedNum
|
||||||
})
|
})
|
||||||
|
console.log(totalPrice, 'totalPrice')
|
||||||
formData.value.preTotalPrice = Math.round((totalPrice * 100) / 100)
|
formData.value.preTotalPrice = Math.round((totalPrice * 100) / 100)
|
||||||
formData.value.totalPrice = Math.round((totalPrice * 100) / 100)
|
formData.value.totalPrice = totalPrice
|
||||||
|
console.log(formData.value.totalPrice, 'formData.value.totalPrice')
|
||||||
}
|
}
|
||||||
const caseRef = ref<any>("")
|
const caseRef = ref<any>("")
|
||||||
const copyForm = (item: any) => {
|
const copyForm = (item: any) => {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue