Просмотр исходного кода

“rs/bzrkh测试修复0826第二版”

weizhong 1 год назад
Родитель
Сommit
1c878d994a

+ 1 - 1
backend/ruoyi-modules/ruoyi-rs/src/main/java/org/dromara/rs/domain/RsJob.java

@@ -86,7 +86,7 @@ public class RsJob extends BaseEntity {
      * 浏览次数
      */
     @ExcelProperty(value = "浏览次数")
-    @TableField(value = "views")
+    @TableField(value = "view_count")
     private Integer viewCount;
 
     /**

+ 160 - 24
web/src/views/rs/index.vue

@@ -403,36 +403,47 @@
     </el-dialog>
 
     <!-- 简历记录对话框 -->
-    <el-dialog title="简历记录" v-model="applicationOpen" width="900px" append-to-body>
+    <el-dialog title="简历记录" v-model="applicationOpen" width="1200px" append-to-body>
       <div v-if="currentJob">
         <div class="job-info-header">
-          <el-descriptions :column="3" border size="small">
-            <el-descriptions-item label="职位名称">{{ currentJob.title }}</el-descriptions-item>
-            <el-descriptions-item label="部门">{{ getDepartmentLabel(currentJob.department) }}</el-descriptions-item>
-            <el-descriptions-item label="申请人数">{{ currentJob.applicantCount }}</el-descriptions-item>
-          </el-descriptions>
+          <div class="job-info-compact">
+            <div class="info-item">
+              <span class="info-label">职位名称:</span>
+              <span class="info-value">{{ currentJob.title }}</span>
+            </div>
+            <div class="info-divider">|</div>
+            <div class="info-item">
+              <span class="info-label">部门:</span>
+              <span class="info-value">{{ getDepartmentLabel(currentJob.department) }}</span>
+            </div>
+            <div class="info-divider">|</div>
+            <div class="info-item">
+              <span class="info-label">申请人数:</span>
+              <span class="info-value highlight">{{ currentJob.applicantCount }}</span>
+            </div>
+          </div>
         </div>
 
-        <div class="application-table mt-4">
-          <el-table v-loading="applicationLoading" :data="applicationList" border>
-            <el-table-column label="应聘者" align="center" prop="applicantName" />
-            <el-table-column label="申请状态" align="center" prop="status" width="120">
+                  <div class="application-table mt-4">
+            <el-table v-loading="applicationLoading" :data="applicationList" border size="small" class="compact-table" :row-style="{ height: '32px' }" :cell-style="{ padding: '2px 0' }">
+            <el-table-column label="应聘者" align="center" prop="applicantName" width="110" />
+            <el-table-column label="申请状态" align="center" prop="status" width="110">
               <template #default="scope">
-                <el-tag :type="getStatusType(scope.row.status)">
+                <el-tag :type="getStatusType(scope.row.status)" size="small">
                   {{ getStatusLabel(scope.row.status) }}
                 </el-tag>
               </template>
             </el-table-column>
-            <el-table-column label="联系电话" align="center" prop="contactPhone" />
-            <el-table-column label="联系邮箱" align="center" prop="contactEmail" />
-            <el-table-column label="自我介绍" align="center" prop="selfDescription" :show-overflow-tooltip="true" />
-            <el-table-column label="HR备注" align="center" prop="hrNotes" :show-overflow-tooltip="true" />
-            <el-table-column label="申请时间" align="center" prop="applyTime" width="180">
+            <el-table-column label="联系电话" align="center" prop="contactPhone" width="130" />
+            <el-table-column label="联系邮箱" align="center" prop="contactEmail" width="200" :show-overflow-tooltip="true" />
+            <el-table-column label="自我介绍" align="center" prop="selfDescription" width="180" :show-overflow-tooltip="true" />
+            <el-table-column label="申请时间" align="center" prop="applyTime" width="170">
               <template #default="scope">
                 <span>{{ parseTime(scope.row.applyTime) }}</span>
               </template>
             </el-table-column>
-            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="300">
+            <el-table-column label="HR备注" align="center" prop="hrNotes" width="150" :show-overflow-tooltip="true" />
+            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="130" fixed="right">
               <template #default="scope">
                 <div class="action-buttons">
                   <el-tooltip content="查看详情" placement="top">
@@ -442,8 +453,8 @@
                     <el-button link type="primary" icon="Download" size="small" @click="downloadResume(scope.row.resumePath)"></el-button>
                   </el-tooltip>
 
-                  <!-- 状态选择器 -->
-                  <div class="status-selector" v-hasPermi="['rs:application:edit']">
+                  <!-- 状态选择器已隐藏 -->
+                  <!-- <div class="status-selector" v-hasPermi="['rs:application:edit']">
                     <el-select
                       :model-value="scope.row.status"
                       @change="(newStatus: string) => handleStatusChange(scope.row, newStatus)"
@@ -452,7 +463,7 @@
                     >
                       <el-option v-for="option in applicationStatusOptions" :key="option.value" :label="option.label" :value="option.value" />
                     </el-select>
-                  </div>
+                  </div> -->
                 </div>
               </template>
             </el-table-column>
@@ -465,6 +476,9 @@
               v-model:page="applicationQueryParams.pageNum"
               v-model:limit="applicationQueryParams.pageSize"
               @pagination="getApplicationList"
+              :page-sizes="[5, 10, 15, 20]"
+              layout="sizes, prev, pager, next, jumper"
+              :small="true"
             />
           </div>
         </div>
@@ -1839,11 +1853,24 @@ onMounted(() => {
 .pagination-container {
   display: flex;
   justify-content: flex-end;
-  padding: 16px 20px 0 0 !important;
+  padding: 8px 20px 0 0 !important;
   background-color: #fff;
   margin-top: 0px !important;
 }
 
+.pagination-container :deep(.el-pagination) {
+  font-size: 12px;
+}
+
+.pagination-container :deep(.el-pagination .btn-prev),
+.pagination-container :deep(.el-pagination .btn-next),
+.pagination-container :deep(.el-pagination .el-pager li) {
+  min-width: 28px;
+  height: 28px;
+  line-height: 28px;
+  font-size: 12px;
+}
+
 /* 搜索按钮容器样式 */
 .search-btn-container {
   display: flex;
@@ -1857,11 +1884,76 @@ onMounted(() => {
 
 /* 申请记录样式 */
 .job-info-header {
-  margin-bottom: 16px;
+  margin-bottom: 8px;
+}
+
+/* 紧凑型职位信息样式 */
+.job-info-compact {
+  display: flex;
+  align-items: center;
+  padding: 6px 10px;
+  background: #f8f9fa;
+  border: 1px solid #e1e8ed;
+  border-radius: 4px;
+  gap: 8px;
+  flex-wrap: wrap;
+  min-height: 36px;
+}
+
+.info-item {
+  display: flex;
+  align-items: center;
+  gap: 3px;
+  height: 24px;
+}
+
+.info-label {
+  font-size: 13px;
+  color: #606266;
+  font-weight: 500;
+  line-height: 1.3;
+}
+
+.info-value {
+  font-size: 13px;
+  color: #303133;
+  font-weight: 600;
+  line-height: 1.3;
+}
+
+.info-value.highlight {
+  color: #409eff;
+  font-size: 14px;
+  font-weight: 700;
+  line-height: 1.3;
+}
+
+.info-divider {
+  color: #dcdfe6;
+  font-size: 13px;
+  margin: 0 4px;
+  line-height: 1.3;
 }
 
 .application-table {
-  margin-top: 16px;
+  margin-top: 8px;
+}
+
+.application-table .el-table {
+  width: 100%;
+}
+
+.application-table .el-table__body-wrapper {
+  overflow-x: hidden;
+}
+
+/* 弹窗内容区域优化 */
+.el-dialog__body {
+  padding: 15px 20px 0 20px !important;
+}
+
+.el-dialog__footer {
+  padding: 10px 20px 15px 20px !important;
 }
 
 .mt-4 {
@@ -1872,12 +1964,15 @@ onMounted(() => {
 .action-buttons {
   display: flex;
   align-items: center;
-  gap: 8px;
+  gap: 2px;
   flex-wrap: wrap;
   justify-content: center;
 
   .el-button {
     margin: 0;
+    padding: 2px 6px;
+    font-size: 11px;
+    min-height: 20px;
   }
 
   .status-selector {
@@ -1897,4 +1992,45 @@ onMounted(() => {
     }
   }
 }
+
+/* 紧凑表格样式 */
+.compact-table {
+  font-size: 13px;
+  
+  :deep(.el-table__header) {
+    th {
+      padding: 4px 0;
+      font-size: 13px;
+      height: 32px;
+    }
+  }
+  
+  :deep(.el-table__body) {
+    td {
+      padding: 4px 0;
+      font-size: 13px;
+    }
+  }
+  
+  :deep(.cell) {
+    padding: 0 4px;
+    line-height: 1.3;
+    word-break: keep-all;
+    white-space: nowrap;
+  }
+
+  /* 固定列样式优化 */
+  :deep(.el-table__fixed-right) {
+    box-shadow: -2px 0 6px rgba(0, 0, 0, 0.1);
+  }
+
+  :deep(.el-table__fixed-right-patch) {
+    background-color: #f5f7fa;
+  }
+
+  /* 确保固定列正常显示 */
+  :deep(.el-table__fixed-right .el-table__fixed-body-wrapper) {
+    background-color: #fff;
+  }
+}
 </style>