From c4599aa279fd2f90b741608392e056fbae2282d5 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期四, 20 八月 2026 17:16:54 +0800
Subject: [PATCH] 各表单布局调整
---
src/views/business/ethicalReview/ethicalReviewInfo.vue | 269 +++++++++++++++++++++++++++++++++--------------------
1 files changed, 168 insertions(+), 101 deletions(-)
diff --git a/src/views/business/ethicalReview/ethicalReviewInfo.vue b/src/views/business/ethicalReview/ethicalReviewInfo.vue
index 529af28..36c22e2 100644
--- a/src/views/business/ethicalReview/ethicalReviewInfo.vue
+++ b/src/views/business/ethicalReview/ethicalReviewInfo.vue
@@ -1,60 +1,24 @@
<template>
<div class="ethics-review-detail">
- <case-basic-info :case-id="caseId" :show-attachment="true" />
+ <case-basic-info :case-id="caseId" :show-attachment="true":column="3" />
- <el-card class="detail-card">
+ <el-card class="detail-card paper-card">
<!-- 浼︾悊瀹℃煡鍩烘湰淇℃伅 -->
<div slot="header" class="clearfix">
<span class="detail-title">浼︾悊瀹℃煡鍩烘湰淇℃伅</span>
- <div style="float: right;">
- <el-button type="primary" @click="handleSave" :loading="saveLoading">
- 淇濆瓨
- </el-button>
-
- <el-button
- type="success"
- @click="handleCompleteReview"
- :disabled="form.status == '3' || form.status == '2'"
- :loading="completeLoading"
- >
- 瀹℃煡瀹屾垚
- </el-button>
-
- <el-button
- type="warning"
- @click="handleSuspendReview"
- :disabled="form.status == '2' || form.status == '3'"
- :loading="suspendLoading"
- >
- 瀹℃煡涓
- </el-button>
-
- <el-button
- type="danger"
- @click="handleEndReview"
- :disabled="form.status == '2'"
- :loading="endLoading"
- >
- 缁撴潫瀹℃煡
- </el-button>
- </div>
</div>
- <el-form :model="form" ref="form" :rules="rules" label-width="120px">
- <el-row :gutter="20">
- <el-col :span="8">
- <el-form-item label="鍙戣捣涓婚" prop="initiateTheme">
- <el-input
- v-model="form.initiateTheme"
- placeholder="璇疯緭鍏ュ彂璧蜂富棰�"
- />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="鍙戣捣浜�" prop="initiatePerson">
- <el-input v-model="form.initiatePerson" />
- </el-form-item>
- </el-col>
+ <el-form :model="form" ref="form" :rules="rules" label-width="120px" class="paper-form">
+ <div class="form-row">
+ <el-form-item label="鍙戣捣涓婚" prop="initiateTheme" class="col-1-3">
+ <el-input
+ v-model="form.initiateTheme"
+ placeholder="璇疯緭鍏ュ彂璧蜂富棰�"
+ />
+ </el-form-item>
+ <el-form-item label="鍙戣捣浜�" prop="initiatePerson" class="col-1-3">
+ <el-input v-model="form.initiatePerson" />
+ </el-form-item>
<!-- <el-col :span="8">
<el-form-item label="瀹℃煡鐘舵��" prop="status">
<el-select v-model="form.status" style="width: 100%">
@@ -67,57 +31,49 @@
</el-select>
</el-form-item>
</el-col> -->
- </el-row>
+ </div>
<!-- 涓撳鐩稿叧淇℃伅 -->
- <el-row :gutter="20">
- <el-col :span="8">
- <el-form-item label="浼︾悊瀹℃煡缁撹" prop="expertConclusion">
- <el-select v-model="form.expertConclusion" style="width: 100%">
- <el-option label="鍚屾剰" value="1" />
- <el-option label="瀹℃煡涓�" value="2" />
- <el-option label="涓嶅悓鎰�" value="0" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="浼︾悊瀹℃煡缁撹鏃堕棿" prop="expertTime">
- <el-date-picker
- v-model="form.expertTime"
- type="datetime"
- value-format="yyyy-MM-dd HH:mm:ss"
- style="width: 100%"
- />
- </el-form-item>
- </el-col>
- </el-row>
+ <div class="form-row">
+ <el-form-item label="浼︾悊瀹℃煡缁撹" prop="expertConclusion" class="col-1-3">
+ <el-select v-model="form.expertConclusion" style="width: 100%">
+ <el-option label="鍚屾剰" value="1" />
+ <el-option label="瀹℃煡涓�" value="2" />
+ <el-option label="涓嶅悓鎰�" value="0" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="浼︾悊瀹℃煡缁撹鏃堕棿" prop="expertTime" class="col-1-3">
+ <el-date-picker
+ v-model="form.expertTime"
+ type="datetime"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ style="width: 100%"
+ />
+ </el-form-item>
+ </div>
- <el-row :gutter="20">
- <el-col :span="24">
- <el-form-item label="瀹℃煡鎰忚" prop="expertOpinion">
- <el-input
- type="textarea"
- :rows="2"
- v-model="form.expertOpinion"
- placeholder="璇疯緭鍏ユ剰瑙�"
- />
- </el-form-item>
- </el-col>
- </el-row>
+ <div class="form-row">
+ <el-form-item label="瀹℃煡鎰忚" prop="expertOpinion" class="col-full">
+ <el-input
+ type="textarea"
+ :rows="2"
+ v-model="form.expertOpinion"
+ placeholder="璇疯緭鍏ユ剰瑙�"
+ />
+ </el-form-item>
+ </div>
- <el-row :gutter="20">
- <el-col :span="24">
- <el-form-item label="澶囨敞" prop="remark">
- <el-input
- type="textarea"
- :rows="3"
- v-model="form.remark"
- placeholder="璇疯緭鍏ュ娉ㄤ俊鎭�"
- />
- </el-form-item>
- </el-col>
- </el-row>
+ <div class="form-row">
+ <el-form-item label="澶囨敞" prop="remark" class="col-full">
+ <el-input
+ type="textarea"
+ :rows="3"
+ v-model="form.remark"
+ placeholder="璇疯緭鍏ュ娉ㄤ俊鎭�"
+ />
+ </el-form-item>
+ </div>
</el-form>
</el-card>
@@ -458,7 +414,38 @@
</el-table-column>
</el-table>
</el-card>
+ <div style="text-align: center; margin: 30px 0;">
+ <el-button type="primary" @click="handleSave" :loading="saveLoading">
+ 淇濆瓨
+ </el-button>
+ <el-button
+ v-if="form.status != '3'"
+ type="success"
+ @click="handleCompleteReview"
+ :loading="completeLoading"
+ >
+ 瀹℃煡瀹屾垚
+ </el-button>
+
+ <el-button
+ type="warning"
+ @click="handleSuspendReview"
+ :disabled="form.status == '2' || form.status == '3'"
+ :loading="suspendLoading"
+ >
+ 瀹℃煡涓
+ </el-button>
+
+ <el-button
+ type="danger"
+ @click="handleEndReview"
+ :disabled="form.status == '2'"
+ :loading="endLoading"
+ >
+ 缁撴潫瀹℃煡
+ </el-button>
+ </div>
<!-- 娣诲姞涓撳瀵硅瘽妗� -->
<el-dialog
title="娣诲姞涓撳"
@@ -1164,7 +1151,7 @@
},
// 鑾峰彇璇︽儏
- async getDetail(infoid, id) {
+ async getDetail(infoid, id) {
try {
this.expertLoading = true;
let response = {};
@@ -1172,12 +1159,23 @@
response = await ethicalreviewInfo(id);
} else if (infoid) {
response = await reviewinitiateBaseInfoList({ infoid: infoid });
+ if (response.data[0].id) {
+ this.id = response.data[0].id;
+ response = await ethicalreviewInfo(this.id);
+ }
}
+ if (
+ !response.data.status ||
+ response.data.status == 0 ||
+ response.data.status == 1
+ ) {
+ response.data.status = "2";
+ }
if (response.code == 200) {
let detailData = {};
- if (response.data && id) {
+ if (response.data && this.id) {
this.form = response.data;
// 瑙f瀽 filePatch 瀛楁
this.parseFilePatch(this.form.filePatch);
@@ -1186,7 +1184,7 @@
if (!this.form.ethicalreviewopinionsList) {
this.$set(this.form, "ethicalreviewopinionsList", []);
}
- } else if (response.data && infoid) {
+ } else if (response.data && this.infoid) {
this.form = response.data[0];
this.parseFilePatch(this.form.filePatch);
this.initAttachmentFileList();
@@ -1529,8 +1527,8 @@
// 淇濆瓨鎴愬姛鍚庢洿鏂板師濮嬫暟鎹�
this.saveOriginalData();
this.isEdit = false;
- if (!this.form.id && response.data && response.data.id) {
- this.form.id = response.data.id;
+ if (!this.form.id && response.data ) {
+ this.form.id = response.data;
this.id = this.form.id;
// this.$router.replace({
// query: { ...this.$route.query, id: this.form.id }
@@ -2309,7 +2307,7 @@
// .substring(0, 19)
// };
const sendDatas = {
- expertNo: expert.expertNo || "",
+ expertNo: expert.donorno || "",//7.14
id: expert.id || "",
infoId: this.infoid || ""
};
@@ -2743,4 +2741,73 @@
margin-bottom: 10px;
}
}
+
+/* ===== 绾歌川琛ㄦ牸缃戞牸鏍峰紡 ===== */
+.paper-card >>> .el-card__body {
+ padding: 16px;
+}
+
+.paper-form {
+ border-left: 1px solid #d0d3db;
+ background: #fff;
+}
+
+.paper-form >>> .form-row {
+ display: flex;
+ width: 100%;
+ border-top: 1px solid #d0d3db;
+}
+
+.paper-form >>> .el-form-item {
+ flex: 0 0 33.3333%;
+ display: flex;
+ margin: 0;
+ background: #fff;
+ border-right: 1px solid #d0d3db;
+ border-bottom: 1px solid #d0d3db;
+}
+.paper-form >>> .el-form-item::after,
+.paper-form >>> .el-form-item::before {
+ display: none;
+}
+
+.paper-form >>> .col-1-3 { flex: 0 0 33.3333%; }
+.paper-form >>> .col-half { flex: 0 0 50%; }
+.paper-form >>> .col-2-3 { flex: 0 0 66.6666%; }
+.paper-form >>> .col-full { flex: 0 0 100%; }
+
+.paper-form >>> .el-form-item__label {
+ flex: 0 0 120px;
+ width: 120px !important;
+ float: none;
+ padding: 0 8px !important;
+ background: #ecf5ff;
+ border-right: 1px solid #d0d3db;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ text-align: center;
+ font-size: 13px;
+ font-weight: 600;
+ color: #2c3038;
+ line-height: 1.3;
+ white-space: normal;
+ word-break: break-all;
+}
+.paper-form >>> .el-form-item.is-required:not(.is-no-asterisk) > .el-form-item__label:before {
+ color: #f56c6c;
+ margin-right: 2px;
+}
+
+.paper-form >>> .el-form-item__content {
+ flex: 1;
+ margin-left: 0 !important;
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+ padding: 6px 10px;
+ background: #fff;
+ min-height: 42px;
+ line-height: 1.4;
+}
</style>
--
Gitblit v1.9.3