From ead85633109bcb3cc8d8b3c6804c280dd6ee1e5d Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期二, 06 一月 2026 11:38:51 +0800
Subject: [PATCH] 省人民维护
---
src/views/project/donationdetails/index.vue | 440 ++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 304 insertions(+), 136 deletions(-)
diff --git a/src/views/project/donationdetails/index.vue b/src/views/project/donationdetails/index.vue
index 701baac..7c004c2 100644
--- a/src/views/project/donationdetails/index.vue
+++ b/src/views/project/donationdetails/index.vue
@@ -1,9 +1,20 @@
<template>
<div class="particularsdiv">
- <div class="left-course">
+ <div class="left-course" :class="{ 'left-collapsed': isLeftCollapsed }">
<div class="postfilx">
- <div class="title">宸ヤ綔杩涚▼</div>
- <div>
+ <div class="title">
+ 宸ヤ綔杩涚▼
+ <el-button
+ class="collapse-btn"
+ @click="toggleLeftCollapse"
+ :icon="
+ isLeftCollapsed ? 'el-icon-arrow-right' : 'el-icon-arrow-left'
+ "
+ size="mini"
+ >
+ </el-button>
+ </div>
+ <div v-show="!isLeftCollapsed">
<el-steps direction="vertical" :active="workflow">
<el-step title="娼滃湪鎹愮尞" icon="el-icon-user">
<template slot="description" v-if="donatebaseinfo.createtime">
@@ -155,7 +166,7 @@
</div>
</div>
<!-- 鍙充晶鏁版嵁 -->
- <div style="background: #fff; width: 80%;">
+ <div class="right-content" :class="{ 'right-expanded': isLeftCollapsed }">
<!-- 椤堕儴鏁版嵁 -->
<div class="boxdiv">
<div class="top-text">鎹愮尞妗堜緥淇℃伅</div>
@@ -369,7 +380,8 @@
<el-row>
<el-col :span="8">
<el-form-item
- label="鎵�鍦ㄥ尰鐤楁満鏋�"label-width="120px"
+ label="鎵�鍦ㄥ尰鐤楁満鏋�"
+ label-width="120px"
prop="currentMedicalInstitution"
>
<el-input
@@ -618,6 +630,21 @@
</el-col>
</el-row>
<el-row>
+ <el-col :span="24">
+ <el-form-item align="left" label="鏈汉鎰忔効 " prop="selfwill">
+ <el-checkbox-group v-model="form.selfwill">
+ <el-checkbox
+ v-for="dict in dict.type.sys_SelfWill || []"
+ :key="dict.value"
+ :label="dict.value"
+ >
+ {{ dict.label }}
+ </el-checkbox>
+ </el-checkbox-group>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
<div display="flex">
<el-row>
<el-col :span="12">
@@ -649,21 +676,7 @@
</el-row>
</div>
</el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item align="left" label="鏈汉鎰忔効 " prop="selfwill">
- <el-checkbox-group v-model="form.selfwill">
- <el-checkbox
- v-for="dict in dict.type.sys_SelfWill || []"
- :key="dict.value"
- :label="dict.value"
- >
- {{ dict.label }}
- </el-checkbox>
- </el-checkbox-group>
- </el-form-item>
- </el-col>
- </el-row>
+
<el-row>
<el-col :span="12">
<el-form-item label="涓昏浜插睘" prop="majorrelatives">
@@ -1184,11 +1197,17 @@
<el-form-item label-width="100px" label="鎹愮尞鍐冲畾">
<el-checkbox-group v-model="organdecision">
<el-checkbox
- v-for="item in organselection"
+ v-for="item in fixedOrganSelection"
:key="item"
:label="item"
>{{ item }}
</el-checkbox>
+ <el-checkbox
+ v-if="shouldShowConditionalOrgan"
+ :key="conditionalOrgan"
+ :label="conditionalOrgan"
+ >{{ conditionalOrgan }}</el-checkbox
+ >
</el-checkbox-group>
<el-input
v-if="organdecision.includes('鍏朵粬')"
@@ -1438,7 +1457,7 @@
width="90"
prop="organno"
/> -->
- <el-table-column
+ <el-table-column
label="鍒嗛厤鎺ユ敹鏃堕棿"
align="center"
width="200"
@@ -1495,6 +1514,7 @@
<org-selecter
ref="tranHosSelect"
:org-type="'4'"
+ :filterable="true"
:dataList="dataList"
v-model="scope.row.transplanthospitalno"
/>
@@ -1571,11 +1591,11 @@
>
<el-row>
<el-col :span="10">
- <el-form-item
- label="鎹愮尞鍖婚櫌"
- prop="donateHospital "
- >
- <el-input v-model="witnessform.donateHospital " placeholder="璇疯緭鍏ユ崘鐚尰闄�" />
+ <el-form-item label="鎹愮尞鍖婚櫌" prop="donateHospital ">
+ <el-input
+ v-model="witnessform.donateHospital"
+ placeholder="璇疯緭鍏ユ崘鐚尰闄�"
+ />
</el-form-item>
</el-col>
</el-row>
@@ -1606,7 +1626,7 @@
/>
</el-form-item>
</el-col>
- <el-col :span="6">
+ <el-col :span="6">
<el-form-item
align="left"
label="姝讳骸鍘熷洜"
@@ -1636,7 +1656,6 @@
</el-date-picker>
</el-form-item>
</el-col>
-
</el-row>
<el-row>
<el-col :span="24">
@@ -2009,7 +2028,7 @@
/>
</template>
</el-table-column>
- <el-table-column
+ <el-table-column
label="鑾峰彇寮�濮嬫椂闂�"
align="center"
width="200"
@@ -2342,7 +2361,7 @@
</el-form-item>
</el-col>
</el-row>
- <el-row>
+ <el-row v-if="accomplishform.isbodydonation">
<el-col :span="6">
<el-form-item align="left" label="閬椾綋鎹愮尞" prop="isbodydonation">
<el-radio-group v-model="accomplishform.isbodydonation">
@@ -2739,6 +2758,7 @@
return {
infoid: 736,
drawer: false,
+ isLeftCollapsed: false,
form: {
donorno: "",
reporterno: "",
@@ -2823,19 +2843,23 @@
infoid: null
},
kinshiplist: ["閰嶅伓", "鐖朵翰", "姣嶄翰", "瀛愬コ", "鍙楁墭浜�"],
- organselection: [
+
+ // 鍥哄畾鐨勯�夐」鍒楄〃锛堢Щ闄や簡"閬椾綋"锛�
+ fixedOrganSelection: [
"鑲濊剰",
- "鍙岃偩",
- "宸﹁偩",
- "鍙宠偩",
+ "鑲捐剰",
+ "鍗曞乏鑲�",
+ "鍗曞彸鑲�",
"蹇冭剰",
"鑲鸿剰",
"鑳拌吅",
"灏忚偁",
"鍙岀溂缁勭粐",
- "閬椾綋",
"鍏朵粬"
],
+
+ // 闇�瑕佹潯浠舵樉绀虹殑閫夐」
+ conditionalOrgan: "閬椾綋",
//閫夋嫨鍣ㄥ畼琛ㄥ崟
organList: {
@@ -2991,9 +3015,9 @@
],
sex: [{ required: true, message: "鎬у埆涓嶈兘涓虹┖", trigger: "blur" }],
age: [{ required: true, message: "璇疯緭鍏ュ勾榫�", trigger: "blur" }],
- treatmenthospitalno: [
- { required: true, message: "璇烽�夋嫨鍖荤枟鏈烘瀯", trigger: "blur" }
- ],
+ // treatmenthospitalno: [
+ // { required: true, message: "璇烽�夋嫨鍖荤枟鏈烘瀯", trigger: "blur" }
+ // ],
bloodtype: [
{ required: true, message: "璇烽�夋嫨ABO琛�鍨�", trigger: "blur" }
],
@@ -3028,7 +3052,23 @@
]
},
// 鍚勭骇鏄庣粏鏁堥獙
- medicinerules: {},
+ medicinerules: {
+ illnessoverview: [
+ { required: true, message: "璇疯緭鍏ョ梾鎯呮鍐�", trigger: "blur" }
+ ],
+ diagnosisname: [
+ { required: true, message: "璇疯緭鍏ョ柧鐥呰瘖鏂�", trigger: "blur" }
+ ],
+ hospitalassessdoctor: [
+ { required: true, message: "璇疯緭鍏ラ櫌绾ц瘎浼板尰鐢�", trigger: "blur" }
+ ],
+ provincialassessdoctor: [
+ { required: true, message: "璇疯緭鍏ョ渷绾ц瘎浼板尰鐢�", trigger: "blur" }
+ ],
+ coreteamassessdoctor: [
+ { required: true, message: "璇疯緭鍏ユ牳蹇冩垚鍛樿瘎浼板尰鐢�", trigger: "blur" }
+ ],
+ },
affirmrules: {
name: [
{ required: true, message: "浜插睘濮撳悕涓嶈兘涓虹┖", trigger: "blur" }
@@ -3107,6 +3147,13 @@
this.Getnetworkheader();
this.getdataList();
this.infoid = this.$route.query.id;
+ },
+ computed: {
+ // 璁$畻灞炴�э細鍐冲畾鏄惁鏄剧ず鈥滈仐浣撯�濋�夐」
+ shouldShowConditionalOrgan() {
+ // 褰撻�変腑椤逛腑鍖呭惈鈥滈仐浣撯�濇椂锛屾墠鏄剧ず瀹�
+ return this.organdecision.includes(this.conditionalOrgan);
+ }
},
mounted() {
// this.id = this.$route.query.id;
@@ -3420,8 +3467,11 @@
});
}
},
+ // 鍒囨崲渚ц竟闅愯棌
+ toggleLeftCollapse() {
+ this.isLeftCollapsed = !this.isLeftCollapsed;
+ },
/** 淇濆瓨涓昏〃鎸夐挳 */
-
submitForm() {
this.$refs["form"].validate(valid => {
console.log("鎻愪氦鐨勬暟鎹滑锛�", this.form);
@@ -4398,124 +4448,242 @@
<style lang="scss" scoped>
.particularsdiv {
- display: -webkit-box;
+ display: flex;
background-color: #f5f7fa;
- height: 100%;
+ height: 100vh;
+ overflow: hidden;
+ transition: all 0.3s ease;
+ // 宸︿晶宸ヤ綔杩涚▼鏍�
.left-course {
background: #fff;
- width: 17vw;
+ width: 220px;
+ min-width: 220px;
text-align: center;
- margin: 20px 10px;
- padding: 10px;
- margin-top: 0;
- min-height: 888px;
+ margin: 0;
+ padding: 0;
+ height: 100%;
+ box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);
+ transition: all 0.3s ease;
+ position: relative;
+ z-index: 100;
+
+ &.left-collapsed {
+ width: 64px; // 鏀逛负鍥哄畾瀹藉害锛岃�屼笉鏄�0
+ min-width: 64px; // 淇濇寔鏈�灏忓搴�
+ transform: translateX(0); // 绉婚櫎骞崇Щ
+
+ // 鎶樺彔鐘舵�佷笅闅愯棌姝ラ鍐呭锛屽彧鏄剧ず鏍囬鍜屾寜閽�
+ .postfilx > div:last-child {
+ opacity: 0;
+ visibility: hidden;
+ pointer-events: none; // 绂佺敤浜や簰
+ }
+
+ .title {
+ padding: 15px 5px; // 璋冩暣鍐呰竟璺濋�傚簲绐勫搴�
+
+ .collapse-btn {
+ margin: 0 auto; // 鎸夐挳灞呬腑
+ }
+ }
+ }
.postfilx {
- width: 15vw;
- text-align: center;
- margin: 20px 10px;
- padding: 10px;
- margin-top: 0;
- // z-index: 999;
- // position: -webkit-sticky;
- // position: fixed;
- // top: 50;
- }
-
- .title {
- background: #22a2c3;
- margin-bottom: 20px;
- padding: 10px 0;
- color: #fff;
- }
- }
-}
-
-.upload-demo {
- text-align: center;
-}
-
-.pdfimg {
- display: flex; // text-align: center;
- width: 100%;
- height: 600px;
-
- .box-pdf {
- width: 400px;
- margin-right: 30px;
- border: 1px solid #dcdfe6;
- -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
- 0 0 6px 0 rgba(0, 0, 0, 0.04);
- box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1); // <- Add this to fix.
- }
-
- .pdftit {
- width: 200px;
- padding: 20px;
- font-size: 18px;
- }
-
- .pdftit:hover {
- background: #c0cef7;
- }
-
- .pdfimgmin {
- width: 60%;
-
- img {
width: 100%;
+ height: 100%;
+ padding: 0;
+ margin: 0;
+ display: flex;
+ flex-direction: column;
+
+ .title {
+ background: #22a2c3;
+ margin-bottom: 0;
+ padding: 15px 10px;
+ color: #fff;
+ font-size: 16px;
+ font-weight: 600;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ position: relative;
+ transition: all 0.3s ease;
+ min-height: 54px; // 纭繚鏍囬鍖哄煙鏈夊浐瀹氶珮搴�
+ box-sizing: border-box;
+
+ .collapse-btn {
+ background: rgba(255, 255, 255, 0.2);
+ border: none;
+ color: #fff;
+ width: 32px; // 绋嶅井澧炲ぇ纭繚鍙偣鍑诲尯鍩�
+ height: 32px;
+ padding: 0;
+ border-radius: 4px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ transition: all 0.3s ease;
+ flex-shrink: 0; // 闃叉鎸夐挳琚帇缂�
+
+ &:hover {
+ background: rgba(255, 255, 255, 0.3);
+ transform: scale(1.1);
+ }
+
+ // 纭繚鍥炬爣灞呬腑鏄剧ず
+ .el-icon {
+ margin: 0;
+ }
+ }
+
+ // 鎶樺彔鐘舵�佷笅璋冩暣鏍囬鏂囧瓧
+
+ }
+
+ // 鎶樺彔鐘舵�佷笅闅愯棌瀹屾暣鏍囬鏂囧瓧
+ &.left-collapsed .title {
+ &:after {
+ opacity: 0;
+ }
+ }
+
+ > div:last-child {
+ flex: 1;
+ overflow-y: auto;
+ padding: 20px 15px;
+ transition: all 0.3s ease;
+ }
}
}
-
- .pdfimgmins {
- font-size: 28px;
- width: 60%;
- text-align: center;
- }
-}
-
-.Ticket-button {
- margin-top: 10px;
+.Ticket-button{
text-align: right;
- padding-right: 66px;
+ margin-right: 50px;
}
+ // 鍙充晶鍐呭鍖哄煙
+ .right-content {
+ flex: 1;
+ background: #fff;
+ transition: all 0.3s ease;
+ overflow-y: auto;
+ margin: 0;
-.boxdiv {
- max-width: 85vw;
- font-size: 18px;
- padding: 0 30px;
- padding-bottom: 10px;
- margin-top: 10px;
+ &.right-expanded {
+ margin-left: 0;
+ }
- .top-text {
- text-align: center;
- font-size: 23px;
- font-weight: 600;
- margin: 20px 0;
- margin-bottom: 30px;
+ .boxdiv {
+ width: 100%;
+ max-width: none;
+ font-size: 18px;
+ padding: 0 30px;
+ padding-bottom: 20px;
+ margin-top: 0;
+
+ .top-text {
+ text-align: center;
+ font-size: 23px;
+ font-weight: 600;
+ margin: 20px 0;
+ margin-bottom: 30px;
+ padding-top: 20px;
+ }
+ }
}
}
-::v-deep .el-step__head.is-finish {
- color: #22a2c3;
- border-color: #22a2c3;
+// 姝ラ鏍峰紡浼樺寲
+::v-deep .el-steps {
+ &.el-steps--vertical {
+ height: 100%;
+
+ .el-step {
+ margin-bottom: 15px;
+
+ .el-step__head {
+ &.is-finish {
+ color: #22a2c3;
+ border-color: #22a2c3;
+ }
+ }
+
+ .el-step__title {
+ font-size: 14px;
+ font-weight: 600;
+
+ &.is-finish {
+ color: #22a2c3;
+ }
+ }
+
+ .el-step__description {
+ font-size: 12px;
+ color: #666;
+ line-height: 1.5;
+
+ &.is-finish {
+ color: #22a2c3;
+ }
+
+ p {
+ margin: 4px 0;
+ }
+ }
+ }
+ }
}
-::v-deep .el-step__title.is-finish {
- color: #22a2c3;
+// 鍝嶅簲寮忚璁�
+@media (max-width: 768px) {
+ .particularsdiv {
+ flex-direction: column;
+
+ .left-course {
+ width: 100%;
+ height: auto;
+ max-height: 300px;
+
+ &.left-collapsed {
+ width: 100%; // 绉诲姩绔繚鎸佸叏瀹�
+ min-width: 100%;
+ height: 60px; // 鍙樉绀烘爣棰樻爮楂樺害
+ max-height: 60px;
+
+ .postfilx > div:last-child {
+ display: none; // 瀹屽叏闅愯棌鍐呭鑰屼笉鏄�忔槑
+ }
+ }
+
+ .postfilx {
+ .title {
+ .collapse-btn {
+ transform: rotate(0deg); // 淇濇寔姝e父鏂瑰悜
+ }
+ }
+ }
+ }
+
+ .right-content {
+ margin-left: 0;
+ }
+ }
}
-::v-deep .el-step__description.is-finish {
- color: #22a2c3;
+// 婊氬姩鏉℃牱寮忎紭鍖�
+.left-course ::-webkit-scrollbar {
+ width: 4px;
}
-:v-deep .el-select {
- display: inline-block;
- position: relative;
- width: 80%;
+.left-course ::-webkit-scrollbar-track {
+ background: #f1f1f1;
}
-:v-deep .el-tabs__nav-scroll {
- overflow: auto;
+
+.left-course ::-webkit-scrollbar-thumb {
+ background: #c1c1c1;
+ border-radius: 2px;
+}
+
+.left-course ::-webkit-scrollbar-thumb:hover {
+ background: #a8a8a8;
}
</style>
--
Gitblit v1.9.3