修改患者档案
BIN
frontend/src/renderer/src/assets/new/bi.png
Normal file
|
After Width: | Height: | Size: 492 B |
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="14px" height="14px" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="matrix(1 0 0 1 -301 -488 )">
|
||||
<path d="M 1.28597284696696 2.56561085477938 L 1.28597284696696 11.4343891452206 L 5.08687783547794 11.4343891452206 L 5.08687783547794 12.7013574586397 L 0 12.7013574586397 L 0 1.29864254136032 L 5.08687783547794 1.29864254136032 L 5.08687783547794 2.56561085477938 L 1.28597284696696 2.56561085477938 Z M 8.25429863511033 12.7013574586397 L 8.25429863511033 11.4343891452206 L 9.52126696461403 11.4343891452206 L 9.52126696461403 12.7013574586397 L 8.25429863511033 12.7013574586397 Z M 10.1547511374081 12.7013574586397 L 10.1547511374081 11.4343891452206 L 11.4217194508273 11.4343891452206 L 11.4217194508273 12.7013574586397 L 10.1547511374081 12.7013574586397 Z M 13.322171953125 12.7013574586397 L 12.0552036236213 12.7013574586397 L 12.0552036236213 11.4343891452206 L 13.322171953125 11.4343891452206 L 13.322171953125 12.7013574586397 Z M 13.322171953125 8.2669683295037 L 12.0552036236213 8.2669683295037 L 12.0552036236213 7 L 13.322171953125 7 L 13.322171953125 8.2669683295037 Z M 13.322171953125 10.1674208157169 L 12.0552036236213 10.1674208157169 L 12.0552036236213 8.90045248621323 L 13.322171953125 8.90045248621323 L 13.322171953125 10.1674208157169 Z M 13.322171953125 6.36651584329047 L 12.0552036236213 6.36651584329047 L 12.0552036236213 5.09954751378677 L 13.322171953125 5.09954751378677 L 13.322171953125 6.36651584329047 Z M 13.322171953125 4.4660633409926 L 12.0552036236213 4.4660633409926 L 12.0552036236213 3.19909502757355 L 13.322171953125 3.19909502757355 L 13.322171953125 4.4660633409926 Z M 13.322171953125 2.56561085477938 L 12.0552036236213 2.56561085477938 L 12.0552036236213 1.29864254136032 L 13.322171953125 1.29864254136032 L 13.322171953125 2.56561085477938 Z M 11.4217194508273 1.29864254136032 L 11.4217194508273 2.56561085477938 L 10.1547511374081 2.56561085477938 L 10.1547511374081 1.29864254136032 L 11.4217194508273 1.29864254136032 Z M 9.52126696461403 1.29864254136032 L 9.52126696461403 2.56561085477938 L 8.25429863511033 2.56561085477938 L 8.25429863511033 1.29864254136032 L 9.52126696461403 1.29864254136032 Z M 6.35384614889711 13.9683257881434 L 6.35384614889711 0.0316742118566253 L 7.6208144784008 0.0316742118566253 L 7.6208144784008 13.9683257881434 L 6.35384614889711 13.9683257881434 Z " fill-rule="nonzero" fill="#787878" stroke="none" transform="matrix(1 0 0 1 301 488 )" />
|
||||
</g>
|
||||
</svg>
|
||||
BIN
frontend/src/renderer/src/assets/new/bi2.png
Normal file
|
After Width: | Height: | Size: 407 B |
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="14px" height="14px" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="matrix(1 0 0 1 -301 -488 )">
|
||||
<path d="M 1.28597284696696 2.56561085477938 L 1.28597284696696 11.4343891452206 L 5.08687783547794 11.4343891452206 L 5.08687783547794 12.7013574586397 L 0 12.7013574586397 L 0 1.29864254136032 L 5.08687783547794 1.29864254136032 L 5.08687783547794 2.56561085477938 L 1.28597284696696 2.56561085477938 Z M 8.25429863511033 12.7013574586397 L 8.25429863511033 11.4343891452206 L 9.52126696461403 11.4343891452206 L 9.52126696461403 12.7013574586397 L 8.25429863511033 12.7013574586397 Z M 10.1547511374081 12.7013574586397 L 10.1547511374081 11.4343891452206 L 11.4217194508273 11.4343891452206 L 11.4217194508273 12.7013574586397 L 10.1547511374081 12.7013574586397 Z M 13.322171953125 12.7013574586397 L 12.0552036236213 12.7013574586397 L 12.0552036236213 11.4343891452206 L 13.322171953125 11.4343891452206 L 13.322171953125 12.7013574586397 Z M 13.322171953125 8.2669683295037 L 12.0552036236213 8.2669683295037 L 12.0552036236213 7 L 13.322171953125 7 L 13.322171953125 8.2669683295037 Z M 13.322171953125 10.1674208157169 L 12.0552036236213 10.1674208157169 L 12.0552036236213 8.90045248621323 L 13.322171953125 8.90045248621323 L 13.322171953125 10.1674208157169 Z M 13.322171953125 6.36651584329047 L 12.0552036236213 6.36651584329047 L 12.0552036236213 5.09954751378677 L 13.322171953125 5.09954751378677 L 13.322171953125 6.36651584329047 Z M 13.322171953125 4.4660633409926 L 12.0552036236213 4.4660633409926 L 12.0552036236213 3.19909502757355 L 13.322171953125 3.19909502757355 L 13.322171953125 4.4660633409926 Z M 13.322171953125 2.56561085477938 L 12.0552036236213 2.56561085477938 L 12.0552036236213 1.29864254136032 L 13.322171953125 1.29864254136032 L 13.322171953125 2.56561085477938 Z M 11.4217194508273 1.29864254136032 L 11.4217194508273 2.56561085477938 L 10.1547511374081 2.56561085477938 L 10.1547511374081 1.29864254136032 L 11.4217194508273 1.29864254136032 Z M 9.52126696461403 1.29864254136032 L 9.52126696461403 2.56561085477938 L 8.25429863511033 2.56561085477938 L 8.25429863511033 1.29864254136032 L 9.52126696461403 1.29864254136032 Z M 6.35384614889711 13.9683257881434 L 6.35384614889711 0.0316742118566253 L 7.6208144784008 0.0316742118566253 L 7.6208144784008 13.9683257881434 L 6.35384614889711 13.9683257881434 Z " fill-rule="nonzero" fill="#ffffff" stroke="none" transform="matrix(1 0 0 1 301 488 )" />
|
||||
</g>
|
||||
</svg>
|
||||
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="14px" height="14px" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="matrix(1 0 0 1 -408 -488 )">
|
||||
<path d="M 13.9522983870968 3.23185483870968 C 13.9522983870968 2.90415322580645 13.6881048387097 2.63911290322581 13.3604032258065 2.63911290322581 L 9.86153225806447 2.63911290322581 L 9.86153225806447 1.82959677419355 C 9.86153225806447 0.847338709677416 9.06217741935484 0.0479838709677409 8.07991935483869 0.0479838709677409 L 5.70302419354834 0.0479838709677409 C 4.7207661290322 0.0479838709677409 3.92141129032257 0.847338709677416 3.92141129032257 1.82959677419355 L 3.92141129032257 2.63911290322581 L 0.644395161290277 2.63911290322581 C 0.316693548387093 2.63911290322581 0.0516532258063762 2.90415322580645 0.0516532258063762 3.23185483870968 C 0.0516532258063762 3.55955645161291 0.316693548387093 3.82459677419355 0.644395161290277 3.82459677419355 L 1.6147983870967 3.82459677419355 L 1.6147983870967 11.0060887096774 C 1.6147983870967 12.3406048387097 2.70036290322582 13.4253225806452 4.0340322580646 13.4253225806452 L 9.76076612903216 13.4253225806452 C 11.0952822580646 13.4253225806452 12.1800000000001 12.3397580645161 12.1800000000001 11.0060887096774 L 12.1800000000001 3.82459677419355 L 13.3595564516129 3.82459677419355 C 13.6872580645161 3.82459677419355 13.9522983870968 3.55955645161291 13.9522983870968 3.23185483870968 Z M 5.10689516129037 2.63911290322581 L 5.10689516129037 1.82959677419355 C 5.10689516129037 1.50104838709677 5.37447580645153 1.23346774193548 5.70302419354834 1.23346774193548 L 8.08076612903233 1.23346774193548 C 8.40931451612892 1.23346774193548 8.6768951612903 1.50104838709677 8.6768951612903 1.82959677419355 L 8.6768951612903 2.63911290322581 L 5.10689516129037 2.63911290322581 Z M 10.9953629032259 11.0052419354839 C 10.9953629032259 11.6860483870968 10.4415725806452 12.2389919354839 9.7616129032258 12.2389919354839 L 4.034879032258 12.2389919354839 C 3.35407258064515 12.2389919354839 2.80112903225813 11.6852016129032 2.80112903225813 11.0052419354839 L 2.80112903225813 3.82459677419355 L 10.9962096774193 3.82459677419355 L 10.9962096774193 11.0052419354839 Z M 5.89778225806458 6.22604838709677 C 5.89778225806458 5.89834677419356 5.63274193548386 5.63330645161291 5.30504032258068 5.63330645161291 C 4.9773387096775 5.63330645161291 4.71229838709678 5.89834677419356 4.71229838709678 6.22604838709678 L 4.71229838709678 9.85193548387096 C 4.71229838709678 10.1796370967742 4.9773387096775 10.4446774193548 5.30504032258068 10.4446774193548 C 5.63274193548386 10.4446774193548 5.89778225806458 10.1796370967742 5.89778225806458 9.85193548387096 L 5.89778225806458 6.22604838709677 Z M 9.01560483870958 6.22604838709677 C 9.01560483870958 5.89834677419356 8.74971774193546 5.63330645161291 8.42286290322591 5.63330645161291 C 8.09516129032249 5.63330645161291 7.830120967742 5.89834677419356 7.830120967742 6.22604838709678 L 7.830120967742 9.85193548387096 C 7.830120967742 10.1796370967742 8.09516129032249 10.4446774193548 8.42286290322591 10.4446774193548 C 8.75056451612909 10.4446774193548 9.01560483870958 10.1796370967742 9.01560483870958 9.85193548387096 L 9.01560483870958 6.22604838709677 Z " fill-rule="nonzero" fill="#787878" stroke="none" transform="matrix(1 0 0 1 408 488 )" />
|
||||
</g>
|
||||
</svg>
|
||||
BIN
frontend/src/renderer/src/assets/new/del2.png
Normal file
|
After Width: | Height: | Size: 370 B |
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="14px" height="14px" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="matrix(1 0 0 1 -408 -488 )">
|
||||
<path d="M 13.9522983870968 3.23185483870968 C 13.9522983870968 2.90415322580645 13.6881048387097 2.63911290322581 13.3604032258065 2.63911290322581 L 9.86153225806447 2.63911290322581 L 9.86153225806447 1.82959677419355 C 9.86153225806447 0.847338709677416 9.06217741935484 0.0479838709677409 8.07991935483869 0.0479838709677409 L 5.70302419354834 0.0479838709677409 C 4.7207661290322 0.0479838709677409 3.92141129032257 0.847338709677416 3.92141129032257 1.82959677419355 L 3.92141129032257 2.63911290322581 L 0.644395161290277 2.63911290322581 C 0.316693548387093 2.63911290322581 0.0516532258063762 2.90415322580645 0.0516532258063762 3.23185483870968 C 0.0516532258063762 3.55955645161291 0.316693548387093 3.82459677419355 0.644395161290277 3.82459677419355 L 1.6147983870967 3.82459677419355 L 1.6147983870967 11.0060887096774 C 1.6147983870967 12.3406048387097 2.70036290322582 13.4253225806452 4.0340322580646 13.4253225806452 L 9.76076612903216 13.4253225806452 C 11.0952822580646 13.4253225806452 12.1800000000001 12.3397580645161 12.1800000000001 11.0060887096774 L 12.1800000000001 3.82459677419355 L 13.3595564516129 3.82459677419355 C 13.6872580645161 3.82459677419355 13.9522983870968 3.55955645161291 13.9522983870968 3.23185483870968 Z M 5.10689516129037 2.63911290322581 L 5.10689516129037 1.82959677419355 C 5.10689516129037 1.50104838709677 5.37447580645153 1.23346774193548 5.70302419354834 1.23346774193548 L 8.08076612903233 1.23346774193548 C 8.40931451612892 1.23346774193548 8.6768951612903 1.50104838709677 8.6768951612903 1.82959677419355 L 8.6768951612903 2.63911290322581 L 5.10689516129037 2.63911290322581 Z M 10.9953629032259 11.0052419354839 C 10.9953629032259 11.6860483870968 10.4415725806452 12.2389919354839 9.7616129032258 12.2389919354839 L 4.034879032258 12.2389919354839 C 3.35407258064515 12.2389919354839 2.80112903225813 11.6852016129032 2.80112903225813 11.0052419354839 L 2.80112903225813 3.82459677419355 L 10.9962096774193 3.82459677419355 L 10.9962096774193 11.0052419354839 Z M 5.89778225806458 6.22604838709677 C 5.89778225806458 5.89834677419356 5.63274193548386 5.63330645161291 5.30504032258068 5.63330645161291 C 4.9773387096775 5.63330645161291 4.71229838709678 5.89834677419356 4.71229838709678 6.22604838709678 L 4.71229838709678 9.85193548387096 C 4.71229838709678 10.1796370967742 4.9773387096775 10.4446774193548 5.30504032258068 10.4446774193548 C 5.63274193548386 10.4446774193548 5.89778225806458 10.1796370967742 5.89778225806458 9.85193548387096 L 5.89778225806458 6.22604838709677 Z M 9.01560483870958 6.22604838709677 C 9.01560483870958 5.89834677419356 8.74971774193546 5.63330645161291 8.42286290322591 5.63330645161291 C 8.09516129032249 5.63330645161291 7.830120967742 5.89834677419356 7.830120967742 6.22604838709678 L 7.830120967742 9.85193548387096 C 7.830120967742 10.1796370967742 8.09516129032249 10.4446774193548 8.42286290322591 10.4446774193548 C 8.75056451612909 10.4446774193548 9.01560483870958 10.1796370967742 9.01560483870958 9.85193548387096 L 9.01560483870958 6.22604838709677 Z " fill-rule="nonzero" fill="#ffffff" stroke="none" transform="matrix(1 0 0 1 408 488 )" />
|
||||
</g>
|
||||
</svg>
|
||||
BIN
frontend/src/renderer/src/assets/new/del3.png
Normal file
|
After Width: | Height: | Size: 409 B |
BIN
frontend/src/renderer/src/assets/new/leftjiantou.png
Normal file
|
After Width: | Height: | Size: 342 B |
BIN
frontend/src/renderer/src/assets/new/leftjiantou2.png
Normal file
|
After Width: | Height: | Size: 502 B |
BIN
frontend/src/renderer/src/assets/new/rightjiantou.png
Normal file
|
After Width: | Height: | Size: 341 B |
BIN
frontend/src/renderer/src/assets/new/rightjiantou2.png
Normal file
|
After Width: | Height: | Size: 500 B |
BIN
frontend/src/renderer/src/assets/new/save.png
Normal file
|
After Width: | Height: | Size: 361 B |
BIN
frontend/src/renderer/src/assets/new/test.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
@ -216,9 +216,9 @@
|
||||
@endChange="endChange"></Detection>
|
||||
</div>
|
||||
<PatientProfile v-if="isPatientProfile"
|
||||
:PatientProfileType="true"
|
||||
:selectedPatient="selectedPatient"
|
||||
@closePatientProfile="closePatientProfile"/>
|
||||
:archiveType="false"
|
||||
:selectedPatient="selectedPatient"
|
||||
@closePatientProfile="closePatientProfile"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -242,7 +242,7 @@ const patienttotal = ref(0)
|
||||
// 响应式数据
|
||||
const activeNav = ref('detection')
|
||||
const searchKeyword = ref('')
|
||||
const selectedPatient = ref(null)
|
||||
const selectedPatient = ref({})
|
||||
const patients = ref([])
|
||||
const userInfo = reactive({
|
||||
username: '医生',
|
||||
|
||||
@ -413,7 +413,10 @@
|
||||
<el-dialog class="historyDialogVisible" v-model="historyDialogVisible" center title="查看档案" width="100%">
|
||||
<HistoryDashboard v-if="historyDialogVisible" :patientId="patientId"/>
|
||||
</el-dialog>
|
||||
|
||||
<PatientProfile v-if="historyDialogVisible"
|
||||
:archiveType="true"
|
||||
:selectedPatient="selectedPatient"
|
||||
@closePatientProfile="closePatientProfile"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -2131,7 +2134,9 @@ function closecreatbox(e){
|
||||
function handleEditUserInfo(){
|
||||
isCloseCreat.value = true
|
||||
}
|
||||
|
||||
function closePatientProfile(){
|
||||
historyDialogVisible.value =false
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@ -71,15 +71,17 @@
|
||||
</div>
|
||||
<div class="patientprofile-son-display">
|
||||
<el-button v-if="selectedPatient" type="primary"
|
||||
:class="selectedData.leng == 2? 'patientprofile-selectedbutotn':'patientprofile-butotn'"
|
||||
:class="selectedData.length == 2? 'patientprofile-selectedbutotn':'patientprofile-butotn'"
|
||||
@click="viewPatientProfile">
|
||||
<img src="@/assets/new/bi.svg" alt="" style="margin-right: 8px;">
|
||||
<img v-if="selectedData.length == 2" src="@/assets/new/bi2.svg" alt="" style="margin-right: 8px;">
|
||||
<img v-else src="@/assets/new/bi.svg" alt="" style="margin-right: 8px;">
|
||||
报告对比
|
||||
</el-button>
|
||||
<el-button v-if="selectedPatient" type="primary"
|
||||
:class="selectedData.leng>0? 'patientprofile-selectedbutotn':'patientprofile-butotn'"
|
||||
:class="selectedData.length>0? 'patientprofile-selectedbutotn':'patientprofile-butotn'"
|
||||
@click="viewPatientProfile">
|
||||
<img src="@/assets/new/del.svg" alt="" style="margin-right: 8px;">
|
||||
<img v-if="selectedData.length>0" src="@/assets/new/del2.svg" alt="" style="margin-right: 8px;">
|
||||
<img v-else src="@/assets/new/del.svg" alt="" style="margin-right: 8px;">
|
||||
删除记录
|
||||
</el-button>
|
||||
</div>
|
||||
@ -136,6 +138,8 @@
|
||||
<div class="patientprofile-son-text">测试医生:李莉莉</div>
|
||||
<div class="patientprofile-son-text">就诊时间:2025年10月20日 10:48:23</div>
|
||||
<div class="patientprofile-son-text">档案ID:25002</div>
|
||||
<div v-if="archiveType == true" class="patientprofile-son-detectiontext">正在检测</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="patientprofile-container-bottombox">
|
||||
@ -148,20 +152,47 @@
|
||||
<div>
|
||||
<el-button type="primary"
|
||||
class="button-width70"
|
||||
:class="selectedData.leng == 2? 'patientprofile-selectedbutotn':'patientprofile-butotn'"
|
||||
:class="checkboxGroup.length == 2? 'patientprofile-selectedbutotn':'patientprofile-butotn'"
|
||||
@click="viewPatientProfile">
|
||||
<img src="@/assets/new/bi.svg" alt="" style="margin-right: 8px;">
|
||||
<img v-if="checkboxGroup.length == 2" src="@/assets/new/bi2.png" alt="" style="margin-right: 8px;">
|
||||
<img v-else src="@/assets/new/bi.png" alt="" style="margin-right: 8px;">
|
||||
查看
|
||||
</el-button>
|
||||
<el-button class="button-width70" type="primary"
|
||||
:class="selectedData.leng>0? 'patientprofile-selectedbutotn':'patientprofile-butotn'"
|
||||
:class="checkboxGroup.length>0? 'patientprofile-selectedbutotn':'patientprofile-butotn'"
|
||||
@click="viewPatientProfile">
|
||||
<img src="@/assets/new/del.svg" alt="" style="margin-right: 8px;">
|
||||
<img v-if="checkboxGroup.length>0" src="@/assets/new/del2.png" alt="" style="margin-right: 8px;">
|
||||
<img v-else src="@/assets/new/del3.png" alt="" style="margin-right: 8px;">
|
||||
删除
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="patientprofile-container-databg"></div>
|
||||
<div class="patientprofile-container-databg">
|
||||
<div class="patientprofile-arrowbox">
|
||||
<div class="leftjiantou" @click="handleUpward"></div>
|
||||
</div>
|
||||
<div class="patientprofile-imgbgbox">
|
||||
<el-checkbox-group v-model="checkboxGroup" size="large" @change="selectedChange" >
|
||||
<div v-for="(item, index) in useImgList" :key="index"
|
||||
class="patientprofile-imgbox">
|
||||
<div class="patientprofile-imgactive">
|
||||
<img src="@/assets/new/test.png" alt="">
|
||||
</div>
|
||||
<div class="patientprofile-imgtextbox">
|
||||
<el-checkbox
|
||||
:value="item.id" size="large" style="display:flex; align-items: center; justify-content: space-between">
|
||||
<div>{{ item.name }}</div>
|
||||
<span>2025-05-12 12:12:12</span>
|
||||
</el-checkbox>
|
||||
</div>
|
||||
</div>
|
||||
</el-checkbox-group>
|
||||
</div>
|
||||
<div class="patientprofile-arrowbox">
|
||||
<div class="rightjiantou" @click="handleNext"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="patientprofile-container-video">
|
||||
<div class="patientprofile-container-data-displaycup">
|
||||
@ -170,13 +201,39 @@
|
||||
<div class="patientprofile-container-data-title">检测视频</div>
|
||||
</div>
|
||||
<el-button class="button-width70" type="primary"
|
||||
:class="selectedData.leng>0? 'patientprofile-selectedbutotn':'patientprofile-butotn'"
|
||||
:class="checkboxVideo.length>0? 'patientprofile-selectedbutotn':'patientprofile-butotn'"
|
||||
@click="viewPatientProfile">
|
||||
<img src="@/assets/new/del.svg" alt="" style="margin-right: 8px;">
|
||||
<img v-if="checkboxVideo.length>0" src="@/assets/new/del2.png" alt="" style="margin-right: 8px;">
|
||||
<img v-else src="@/assets/new/del3.png" alt="" style="margin-right: 8px;">
|
||||
删除
|
||||
</el-button>
|
||||
</div>
|
||||
<div class="patientprofile-container-databg"></div>
|
||||
<div class="patientprofile-container-databg">
|
||||
<div class="patientprofile-arrowbox">
|
||||
<div class="leftjiantou" @click="handleVideoUpward"></div>
|
||||
</div>
|
||||
<div class="patientprofile-imgbgbox">
|
||||
<el-checkbox-group v-model="checkboxVideo" size="large" @change="selectedChange" >
|
||||
<div v-for="(item, index) in useVideoList" :key="index"
|
||||
class="patientprofile-imgbox">
|
||||
<div class="patientprofile-imgactive">
|
||||
<img src="@/assets/new/test.png" alt="">
|
||||
</div>
|
||||
<div class="patientprofile-imgtextbox">
|
||||
<el-checkbox
|
||||
:value="item.id" size="large" style="display:flex; align-items: center; justify-content: space-between">
|
||||
<div>{{ item.name }}</div>
|
||||
<span>2025-05-12 12:12:12</span>
|
||||
</el-checkbox>
|
||||
</div>
|
||||
</div>
|
||||
</el-checkbox-group>
|
||||
</div>
|
||||
<div class="patientprofile-arrowbox">
|
||||
<div class="rightjiantou" @click="handleVideoNext"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="patientprofile-container-info">
|
||||
<div class="patientprofile-container-data-displaycup">
|
||||
@ -185,15 +242,33 @@
|
||||
<div class="patientprofile-container-data-title">检测数据</div>
|
||||
</div>
|
||||
<el-button type="primary"
|
||||
class="button-width70"
|
||||
:class="selectedData.leng == 2? 'patientprofile-selectedbutotn':'patientprofile-butotn'"
|
||||
@click="viewPatientProfile">
|
||||
<img src="@/assets/new/bi.svg" alt="" style="margin-right: 8px;">
|
||||
查看
|
||||
class="button-width70 patientprofile-selectedbutotn"
|
||||
@click="handleDiagnosticInfo('completed')">
|
||||
<img src="@/assets/new/save.png" alt="" style="margin-right: 8px;">
|
||||
保存
|
||||
</el-button>
|
||||
|
||||
</div>
|
||||
<div class="patientprofile-container-databg"></div>
|
||||
<div class="patientprofile-container-dataInfobg">
|
||||
<div class="patientprofile-container-dataInfobg-left">
|
||||
<div class="patientprofile-container-dataInfobg-lefttext">记录</div>
|
||||
<el-input type="textarea" :resize="'none'" class="patientprofile-container-dataInfobg-textarea"
|
||||
v-model="profileInfo.diagnosis_info"></el-input>
|
||||
</div>
|
||||
<div style="width: 50%;height: calc(100% - 10px) ">
|
||||
<div class="patientprofile-container-dataInfobg-rightbox">
|
||||
<div class="patientprofile-container-dataInfobg-lefttext" style="padding-top:0px">处理</div>
|
||||
<el-select v-model="profileInfo.treatment_info" placeholder="请选择">
|
||||
<el-option :label="'保持观察,不予处理'" :value="'保持观察,不予处理'" />
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="patientprofile-container-dataInfobg-rightbottombox">
|
||||
<div class="patientprofile-container-dataInfobg-lefttext" style="padding-top:0px">建议</div>
|
||||
<el-input type="textarea" v-model="profileInfo.suggestion_info" :resize="'none'" class="patientprofile-container-dataInfobg-textarea"></el-input>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -213,8 +288,15 @@ const props = defineProps({
|
||||
required: false,
|
||||
type: Object,
|
||||
default: null
|
||||
},
|
||||
archiveType: {
|
||||
required: false,
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
})
|
||||
const archiveType =ref(false)
|
||||
const profileInfo = ref({}) // 患者信息
|
||||
const selectedRecord = ref({})
|
||||
const recordData =ref([{
|
||||
id: 1,
|
||||
@ -245,7 +327,30 @@ const recordData =ref([{
|
||||
}
|
||||
|
||||
])
|
||||
const selectedData = ref([])
|
||||
|
||||
const checkboxGroup = ref([]) // 图片列表选中的数据
|
||||
|
||||
const checkboxVideo =ref([]) // 视频列表选中的数据
|
||||
const imageList = ref([])
|
||||
for (let i = 0; i < 10; i++) {
|
||||
imageList.value.push({
|
||||
id: i,
|
||||
name: '图片' + i,
|
||||
url: '',
|
||||
description: '这是一个测试图片',
|
||||
|
||||
})
|
||||
}
|
||||
const tempImgList = ref([])
|
||||
tempImgList.value = [...imageList.value]
|
||||
const useImgList = ref([])// 图片
|
||||
const useVideoList = ref([])// 视频
|
||||
useImgList.value =[...tempImgList.value.slice(0, 4)] // 图片
|
||||
useVideoList.value =[...tempImgList.value.slice(0, 4)] // 视频
|
||||
|
||||
const selectedData = ref([]) // 列表选中的数据
|
||||
|
||||
|
||||
const calculateAge = (birthDate) => { // 获取年龄
|
||||
if (!birthDate) return '—'
|
||||
const today = new Date()
|
||||
@ -261,16 +366,26 @@ function handleCancel(){
|
||||
emit('closePatientProfile',false)
|
||||
}
|
||||
|
||||
const handleSubmit = (item) => {
|
||||
let is = false
|
||||
for (let i = 0; i < patientList.value.length; i++) {
|
||||
if (patientList.value[i].id === item.id) {
|
||||
patientList.value[i] = item
|
||||
is = true
|
||||
break
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
function selectRecord(data){ // 列表点击单选
|
||||
selectedRecord.value = data
|
||||
}
|
||||
const handleSelectionChange = (val) => { // 列表多选
|
||||
multipleSelection.value = val
|
||||
selectedData.value = val
|
||||
}
|
||||
|
||||
const sessionsInit = async () => {
|
||||
try {
|
||||
debugger
|
||||
let params ={
|
||||
patient_id: props.selectedPatient.id
|
||||
}
|
||||
@ -287,7 +402,7 @@ const sessionsInit = async () => {
|
||||
}
|
||||
}
|
||||
onMounted(() => {
|
||||
|
||||
archiveType.value = props.archiveType
|
||||
// sessionsInit()
|
||||
|
||||
})
|
||||
@ -328,6 +443,132 @@ function fileClick(row){
|
||||
duration: 3000
|
||||
});
|
||||
}
|
||||
|
||||
function selectedChange(val){
|
||||
console.log(val)
|
||||
}
|
||||
const activeImgIndex = ref(0)
|
||||
const activeVideoIndex = ref(0)
|
||||
function handleNext(){
|
||||
|
||||
if(activeImgIndex.value + 4 >= imageList.value.length){
|
||||
ElMessage.success({
|
||||
message: '已最后一页',
|
||||
duration: 3000
|
||||
});
|
||||
return
|
||||
}
|
||||
activeImgIndex.value = activeImgIndex.value + 1
|
||||
tempImgList.value = [...imageList.value]
|
||||
useImgList.value =[...tempImgList.value.slice(activeImgIndex.value, activeImgIndex.value+4)]
|
||||
ElMessage.success({
|
||||
message: '下一页',
|
||||
duration: 3000
|
||||
});
|
||||
}
|
||||
function handleUpward(){
|
||||
|
||||
if(activeImgIndex.value + 4 <= 4){
|
||||
ElMessage.success({
|
||||
message: '已第一页',
|
||||
duration: 3000
|
||||
});
|
||||
return
|
||||
}
|
||||
activeImgIndex.value = activeImgIndex.value - 1
|
||||
tempImgList.value = [...imageList.value]
|
||||
useImgList.value =[...tempImgList.value.slice(activeImgIndex.value, activeImgIndex.value+4)]
|
||||
ElMessage.success({
|
||||
message: '下一页',
|
||||
duration: 3000
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
function handleVideoNext(){
|
||||
if(activeVideoIndex.value + 4 >= imageList.value.length){
|
||||
ElMessage.success({
|
||||
message: '已最后一页',
|
||||
duration: 3000
|
||||
});
|
||||
return
|
||||
}
|
||||
activeVideoIndex.value = activeVideoIndex.value + 1
|
||||
tempImgList.value = [...imageList.value]
|
||||
useVideoList.value = [...tempImgList.value.slice(activeVideoIndex.value, activeVideoIndex.value+4)]
|
||||
ElMessage.success({
|
||||
message: '下一页',
|
||||
duration: 3000
|
||||
});
|
||||
}
|
||||
function handleVideoUpward(){
|
||||
|
||||
if(activeVideoIndex.value + 4 <= 4){
|
||||
ElMessage.success({
|
||||
message: '已第一页',
|
||||
duration: 3000
|
||||
});
|
||||
return
|
||||
}
|
||||
activeVideoIndex.value = activeVideoIndex.value - 1
|
||||
tempImgList.value = [...imageList.value]
|
||||
useVideoList.value = [...tempImgList.value.slice(activeVideoIndex.value, activeVideoIndex.value+4)]
|
||||
ElMessage.success({
|
||||
message: '下一页',
|
||||
duration: 3000
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
async function handleDiagnosticInfo(status) { // 保存诊断信息
|
||||
try {
|
||||
// 检查是否有活跃的会话ID
|
||||
if (!profileInfo.value.id) {
|
||||
throw new Error('缺少会话Id')
|
||||
}
|
||||
// 调用后端API采集检测数据
|
||||
const response = await fetch(`${BACKEND_URL}/api/detection/${profileInfo.value.id}/save-info`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify({
|
||||
diagnosis_info:profileInfo.value.diagnosis_info,
|
||||
treatment_info:profileInfo.value.treatment_info,
|
||||
suggestion_info:profileInfo.value.suggestion_info,
|
||||
status:status,
|
||||
id:profileInfo.value.id,
|
||||
})
|
||||
})
|
||||
if (!response.ok) {
|
||||
throw new Error(`HTTP ${response.status}: ${response.statusText}`)
|
||||
}
|
||||
|
||||
const result = await response.json()
|
||||
if (result.success) {
|
||||
profileInfo.value[profileInfo.value.index].diagnosis_info = profileInfo.value.diagnosis_info
|
||||
profileInfo.value[profileInfo.value.index].treatment_info = profileInfo.value.treatment_info
|
||||
profileInfo.value[profileInfo.value.index].suggestion_info = profileInfo.value.suggestion_info
|
||||
profileInfo.value[profileInfo.value.index].status = status
|
||||
ElMessage.success({
|
||||
message: '诊断信息成功',
|
||||
duration: 5000
|
||||
})
|
||||
dialogVisible.value =false
|
||||
} else {
|
||||
throw new Error(result.message || '诊断信息失败')
|
||||
}
|
||||
} catch (error) {
|
||||
ElMessage.error({
|
||||
message: errorMessage,
|
||||
duration: 5000
|
||||
})
|
||||
} finally {
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
@ -606,7 +847,6 @@ function fileClick(row){
|
||||
.patientprofile-container-bottombox{
|
||||
width: 100%;
|
||||
height: calc(100% - 50px);
|
||||
background: red;
|
||||
padding: 20px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
@ -617,10 +857,26 @@ function fileClick(row){
|
||||
}
|
||||
.patientprofile-container-databg{
|
||||
width: 100%;
|
||||
height: calc(100% - 30px);
|
||||
height: calc(100% - 40px);
|
||||
background-color: rgba(27, 27, 27, 1);
|
||||
border-radius: 10px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 10px 0px;
|
||||
}
|
||||
|
||||
.patientprofile-container-dataInfobg{
|
||||
width: 100%;
|
||||
height: calc(100% - 40px);
|
||||
background-color: rgba(27, 27, 27, 1);
|
||||
border-radius: 10px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.patientprofile-container-video{
|
||||
width: 100%;
|
||||
height: 32%;
|
||||
@ -636,7 +892,7 @@ function fileClick(row){
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding-bottom: 5px;
|
||||
padding:10px 0;
|
||||
}
|
||||
.patientprofile-container-data-display{
|
||||
display: flex;
|
||||
@ -658,4 +914,150 @@ function fileClick(row){
|
||||
width: 70px !important;
|
||||
height: 26px !important;
|
||||
}
|
||||
.patientprofile-arrowbox{
|
||||
width: 70px;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.patientprofile-imgbgbox{
|
||||
width: calc(100% - 140px);
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.patientprofile-imgbox{
|
||||
width: 23%;
|
||||
height: 100%;
|
||||
}
|
||||
.patientprofile-imgactive{
|
||||
width: 100%;
|
||||
height: calc(100% - 30px);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: 2px solid transparent;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.patientprofile-imgactive:hover{
|
||||
border: 2px solid rgba(38, 111, 255, 1);
|
||||
}
|
||||
.patientprofile-imgtextbox{
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.el-checkbox-group{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.el-checkbox--large{
|
||||
width: 100%;
|
||||
}
|
||||
.el-checkbox__label{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
color: #fff !important;
|
||||
}
|
||||
.leftjiantou{
|
||||
width: 11px;
|
||||
height: 20px;
|
||||
background-image: url(@/assets/new/leftjiantou.png);
|
||||
cursor: pointer;
|
||||
}
|
||||
.leftjiantou:hover{
|
||||
width: 11px;
|
||||
height: 20px;
|
||||
background-image: url(@/assets/new/leftjiantou2.png);
|
||||
|
||||
}
|
||||
.rightjiantou{
|
||||
width: 11px;
|
||||
height: 20px;
|
||||
background-image: url(@/assets/new/rightjiantou.png);
|
||||
cursor: pointer;
|
||||
}
|
||||
.rightjiantou:hover{
|
||||
width: 11px;
|
||||
height: 20px;
|
||||
background-image: url(@/assets/new/rightjiantou2.png);
|
||||
}
|
||||
|
||||
.patientprofile-container-dataInfobg-left{
|
||||
width: calc(50% - 10px) ;
|
||||
margin-right: 20px;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-items: center;
|
||||
}
|
||||
.patientprofile-container-dataInfobg-lefttext{
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
font-size: 14px;
|
||||
color: #787878;
|
||||
width: 60px;
|
||||
text-align: center;
|
||||
padding-top: 10px;
|
||||
}
|
||||
.patientprofile-container-dataInfobg .el-select{
|
||||
width: calc(100% - 60px);
|
||||
}
|
||||
.patientprofile-container-dataInfobg-textarea{
|
||||
width: calc(100% - 60px) ;
|
||||
height: 100%;
|
||||
}
|
||||
.patientprofile-container-dataInfobg-textarea .el-textarea__inner{
|
||||
width: 100% ;
|
||||
height: 100%;
|
||||
background: #282828;
|
||||
box-shadow: 0 0 0 1px rgb(54, 54, 54) inset;
|
||||
color: #fff;
|
||||
}
|
||||
.patientprofile-container-dataInfobg-textarea .el-textarea__inner:hover{
|
||||
width: 100% ;
|
||||
height: 100%;
|
||||
background: #282828;
|
||||
box-shadow: 0 0 0 1px rgba(38, 111, 255, 1) inset;
|
||||
|
||||
}
|
||||
.patientprofile-container-dataInfobg-rightbox{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 40px;
|
||||
}
|
||||
.patientprofile-container-dataInfobg .el-select__wrapper{
|
||||
height: 40px;
|
||||
background: #282828;
|
||||
box-shadow: 0 0 0 1px rgb(54, 54, 54) inset;
|
||||
}
|
||||
.patientprofile-container-dataInfobg .el-select__wrapper:hover{
|
||||
background: #282828;
|
||||
box-shadow: 0 0 0 1px rgba(38, 111, 255, 1) inset !important;
|
||||
}
|
||||
.patientprofile-container-dataInfobg-rightbottombox{
|
||||
display: flex;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.patientprofile-container-dataInfobg-rightbottombox .patientprofile-container-dataInfobg-textarea{
|
||||
height: calc(100% - 45px);
|
||||
}
|
||||
.patientprofile-son-detectiontext{
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
font-size: 14px;
|
||||
color: #00CC00;
|
||||
margin-left: 20px;
|
||||
}
|
||||
</style>
|
||||