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

# Conflicts:
#	src/views/outpatient/index.vue
This commit is contained in:
ChenQiuYu 2025-05-09 11:26:53 +08:00
commit c4e690f6ec
12 changed files with 136 additions and 29 deletions

View File

@ -21,4 +21,10 @@ export enum apiConfig{
"OrganizationSectionAllList"="organization/section/allList",//获取所有科室列表 "OrganizationSectionAllList"="organization/section/allList",//获取所有科室列表
"OrganizationSectionListByMemberId"="organization/section/listByMemberId",//获取当前成员所属科室列表 "OrganizationSectionListByMemberId"="organization/section/listByMemberId",//获取当前成员所属科室列表
"OrganizationMemberListBySectionId"="organization/member/listBySectionId",//获取当前科室的所有医生列表 "OrganizationMemberListBySectionId"="organization/member/listBySectionId",//获取当前科室的所有医生列表
/**
*
*/
"ChargeListChargeLog"="charge/listChargeLog"//查询收费记录
} }

View File

@ -129,9 +129,9 @@ const initStatusList = () => {
statusList.value[2].num = res.completeDiaCount statusList.value[2].num = res.completeDiaCount
}) })
} }
const clickLi = (item: any) => { const clickLi = (item: any,showBox:any = true) => {
curItem.value = item curItem.value = item
if (item.status == 1) { if (item.status == 1 && showBox) {
ElMessageBox.confirm(`您将要接诊${item.name}`, "提示", { ElMessageBox.confirm(`您将要接诊${item.name}`, "提示", {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
@ -145,15 +145,18 @@ const clickLi = (item: any) => {
curStatus.value = 2 curStatus.value = 2
curItem.value = res curItem.value = res
initStatusList() initStatusList()
emit('clickItem', curItem.value)
}) })
} }
}, },
}) })
} }else {
emit('clickItem', curItem.value) emit('clickItem', curItem.value)
} }
}
const changeCurItemOrStatus = (item:any, status:any) => { const changeCurItemOrStatus = (item:any, status:any) => {
curItem.value = item clickLi(item,false)
if (curStatus != null){ if (curStatus != null){
curStatus.value = status curStatus.value = status
} }

View File

@ -110,7 +110,7 @@ onUnmounted(() => {
emit('changeLoading',false) emit('changeLoading',false)
}) })
const close = () => { const close = () => {
socialCard.value.data = null socialCard.value = null
} }
defineExpose({close}) defineExpose({close})
</script> </script>

View File

@ -232,17 +232,18 @@ const close = () => {
} }
const form = ref() const form = ref()
const save = () => { const save = () => {
debugger
let data = { let data = {
...edit_data.value, ...edit_data.value,
psnNo: socialCard.value.data?.baseinfo.psn_no, psnNo: socialCard.value?.data?.baseinfo.psn_no,
insutype: socialCard.value.data?.insuinfo[0].insutype insutype: socialCard.value?.data?.insuinfo[0].insutype
} }
form.value.validate((v: any) => { form.value.validate((v: any) => {
if (v) { if (v) {
if (edit_data.value.id) { if (edit_data.value.id) {
post('registration/edit', { post('registration/edit', {
data: data, mdtrtCertNo: socialCard.value.mdtrtCertNo, data: data, mdtrtCertNo: socialCard.value?.mdtrtCertNo,
mdtrtCertType: socialCard.value.mdtrtCertType mdtrtCertType: socialCard.value?.mdtrtCertType
}).then(() => { }).then(() => {
ElMessage.success('修改成功') ElMessage.success('修改成功')
close() close()
@ -251,8 +252,8 @@ const save = () => {
console.log(socialCard.value) console.log(socialCard.value)
post('registration/add', { post('registration/add', {
data: data, data: data,
mdtrtCertNo: socialCard.value.mdtrtCertNo, mdtrtCertNo: socialCard.value?.mdtrtCertNo,
mdtrtCertType: socialCard.value.mdtrtCertType mdtrtCertType: socialCard.value?.mdtrtCertType
}).then(() => { }).then(() => {
ElMessage.success('挂号成功') ElMessage.success('挂号成功')
close() close()

View File

@ -110,7 +110,7 @@ const formatDate = (isoStr:any) => {
</template> </template>
<style scoped lang="scss"> <style scoped lang="scss">
@use "@/assets/base.scss"; @use "@/assets/scss/base.scss";
.container-wrapper { .container-wrapper {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -128,7 +128,7 @@ const formatDate = (isoStr:any) => {
height: 60px; height: 60px;
display: flex; display: flex;
align-items: center; align-items: center;
background: base.$background-color-panel; background: base.$background-color-base;
} }
} }
</style> </style>

View File

@ -197,7 +197,7 @@ const formatDate = (isoStr: any) => {
<style scoped lang="scss"> <style scoped lang="scss">
@use "@/assets/base.scss"; @use "@/assets/scss/base.scss";
.container { .container {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -218,7 +218,7 @@ const formatDate = (isoStr: any) => {
height: 60px; height: 60px;
display: flex; display: flex;
align-items: center; align-items: center;
background: base.$background-color-panel; background: base.$background-color-base;
} }
} }

View File

@ -163,7 +163,7 @@ const formatDate = (isoStr:any) => {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@use "@/assets/base.scss"; @use "@/assets/scss/base.scss";
.container { .container {
height: 100%; height: 100%;
display: flex; display: flex;
@ -180,7 +180,7 @@ const formatDate = (isoStr:any) => {
height: 60px; height: 60px;
display: flex; display: flex;
align-items: center; align-items: center;
background: base.$background-color-panel; background: base.$background-color-base;
} }
} }

View File

@ -92,7 +92,7 @@ let change_search = ()=>{
</template> </template>
<style scoped lang="scss"> <style scoped lang="scss">
@use "@/assets/base.scss"; @use "@/assets/scss/base.scss";
.container { .container {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -108,7 +108,7 @@ let change_search = ()=>{
height: 60px; height: 60px;
display: flex; display: flex;
align-items: center; align-items: center;
background: base.$background-color-panel; background: base.$background-color-base;
} }
} }
</style> </style>

View File

@ -133,16 +133,33 @@ const router = createRouter({
}, },
{ {
path: '/social', path: '/social',
component: () => import('../views/Layout.vue'), component: () => import('../views/LayoutSocial.vue'),
children: [ children: [
{ {
path: "", path: "",
redirect: "/social/index", redirect: "/social/directory",
}, },
{ {
path: "index", path: "directory",
component: () => import('../views/social/directory.vue'), component: () => import('@/views/social/directory.vue'),
} },
{
path: "update",
component: () => import('@/views/social/update.vue'),
},
{
path: "inventoryUp",
component: () => import('@/views/social/inventoryUp.vue'),
},
{
path: "costRecord",
component: () => import('@/views/social/costRecord.vue'),
},
{
path: "accountRecord",
component: () => import('@/views/social/accountRecords.vue'),
},
] ]
}, },
{ {

View File

@ -0,0 +1,79 @@
<template>
<div class="layout-container">
<Header class="header" />
<div class="childMenu">
<router-link :to="item.path" class="child-item" v-for="(item,index) in childMenuList" :key="index">
{{ item.name }}
</router-link>
</div>
<div class="space"></div>
<main class="layout-main">
<router-view/>
</main>
<div class="space"></div>
<Footer class="footer" />
</div>
</template>
<style scoped lang="scss">
.childMenu {
width: 100%;
height: 60px;
background: #fff;
display: flex;
align-items: center;
.child-item {
display: inline-block;
color: #151515;
outline: none;
text-decoration: none;
font-size: 18px;
margin-left: 10px;
margin-right: 10px;
height: 35px;
position: relative;
}
.router-link-active:after {
content: '';
display: block;
width: 100%;
height: 2px;
background-color: #151515; // 线
position: absolute;
bottom: -5px; // 线
left: 0;
}
}
</style>
<script setup lang="ts">
import "@/assets/scss/layout.scss"
import Header from "@/components/common/Header.vue";
import Footer from "@/components/common/Footer.vue";
import {ref} from "vue";
const childMenuList = ref([
{
name: '医保目录',
path: '/social/directory',
},
{
name: '目录更新',
path: '/social/update',
},
{
name: '进销存上报',
path: '/social/inventoryUp',
},
{
name: '收费记录',
path: '/social/costRecord',
},
{
name: '对账',
path: '/social/accountRecord',
}
])
</script>

View File

@ -95,14 +95,14 @@ const save = () => {
const data = { const data = {
registrationId: registerId.value, registrationId: registerId.value,
patientId: patientId.value, patientId: patientId.value,
itemList: itemDetail.value, itemList: formData.value.itemDetail,
goodsList: goodsList.value, goodsList: formData.value.goodsDetail,
diagnosisMedicalRecord: medicalRecord, diagnosisMedicalRecord: medicalRecord,
} }
post('medical/record/save', {data: data}).then(() => { post('medical/record/save', {data: data}).then((res:any) => {
ElMessage.success("保存成功") ElMessage.success("保存成功")
medicalQueueRef.value?.changeCurItemOrStatus(null,3); medicalQueueRef.value?.changeCurItemOrStatus(null,2);
}) })

View File

@ -40,6 +40,7 @@
import {onMounted, ref} from "vue"; import {onMounted, ref} from "vue";
import {post} from "@/utils/request.ts"; import {post} from "@/utils/request.ts";
import {getToday, formatDateArray} from "@/utils/dateUtils.ts"; import {getToday, formatDateArray} from "@/utils/dateUtils.ts";
import {apiConfig} from "@/assets/config/apiConfig.ts";
const tableData = ref([]) const tableData = ref([])
const date = ref() const date = ref()
@ -50,7 +51,7 @@ const dateChangeHandler = () => {
const getTableData = () => { const getTableData = () => {
post("retail/reconciliation/getChargeList", {beginTime: date.value[0], endTime: date.value[1]}).then((res: any) => { post(apiConfig.ChargeListChargeLog, {beginTime: date.value[0], endTime: date.value[1]}).then((res: any) => {
tableData.value = res tableData.value = res
}) })
} }