Browse Source

修改样式及图片失真问题

yangg 1 month ago
parent
commit
8aa39b1c1b
2 changed files with 36 additions and 17 deletions
  1. 1 1
      src/views/position/detail/index.css
  2. 35 16
      src/views/position/detail/index.vue

+ 1 - 1
src/views/position/detail/index.css

@@ -1673,7 +1673,7 @@
 
 
 .setting-label {
 .setting-label {
   font-weight: 500;
   font-weight: 500;
-  margin-bottom: 10px;
+ /*  margin-bottom: 10px; */
 }
 }
 
 
 .setting-desc {
 .setting-desc {

+ 35 - 16
src/views/position/detail/index.vue

@@ -524,8 +524,6 @@
                   class="custom-checkbox">
                   class="custom-checkbox">
                 <div class="ability-label">
                 <div class="ability-label">
                   <span>{{ item.name }}</span>
                   <span>{{ item.name }}</span>
-                 
-                  <img src="../../../assets/sheng.png" alt="" class="sheng">
                 <!--   <el-tooltip content="考察候选人的XXXX能力" placement="top">
                 <!--   <el-tooltip content="考察候选人的XXXX能力" placement="top">
                     <el-icon><QuestionFilled /></el-icon>
                     <el-icon><QuestionFilled /></el-icon>
                   </el-tooltip> -->
                   </el-tooltip> -->
@@ -686,7 +684,7 @@
                           </div>
                           </div>
                           <div class="question-tags">
                           <div class="question-tags">
                             <el-tag
                             <el-tag
-                              v-for="(tag, index) in (element.competency_tags || []).slice(0, 2)"
+                              v-for="(tag, index) in (element.competency_tag_info || element.competency_tags || []).slice(0, 2)"
                               :key="tag.id"
                               :key="tag.id"
                               effect="plain"
                               effect="plain"
                               class="competency-tag"
                               class="competency-tag"
@@ -695,10 +693,10 @@
                               {{ tag.name }}
                               {{ tag.name }}
                             </el-tag>
                             </el-tag>
                             <span 
                             <span 
-                              v-if="(element.competency_tags || []).length > 2" 
+                              v-if="(element.competency_tag_info ||element.competency_tags || []).length > 2" 
                               class="more-tags-indicator"
                               class="more-tags-indicator"
                             >
                             >
-                              +{{ (element.competency_tags || []).length - 2 }}
+                              +{{ (element.competency_tag_info || element.competency_tags || []).length - 2 }}
                             </span>
                             </span>
                           </div>
                           </div>
                         </div>
                         </div>
@@ -802,8 +800,11 @@
           <div class="setting-section">
           <div class="setting-section">
             <div class="section-header">请选择面试官形象</div>
             <div class="section-header">请选择面试官形象</div>
             <div style="    display: flex;align-items: flex-start;">
             <div style="    display: flex;align-items: flex-start;">
-              <div style="width: 100px;height: 170px;background-color: #f2f2f2; margin-right: 30px;border-radius: 10px;">
-                <img v-if="interviewerAvatar" :src="interviewerAvatar" alt="" style="width: 100%;height: 100%;">
+              <div style="width: 100px;height: 170px;background-color: #f2f2f2; margin-right: 30px;border-radius: 10px;overflow: hidden;">
+                <img v-if="interviewerAvatar" 
+                    :src="interviewerAvatar" 
+                    alt="" 
+                    style="width: 100%;height: 100%;object-fit: cover;transform: translateZ(0);backface-visibility: hidden;">
               </div>
               </div>
               <div>
               <div>
                  <div class="interviewer-avatars">
                  <div class="interviewer-avatars">
@@ -822,12 +823,17 @@
                     </div>
                     </div>
                   </div>
                   </div>
                 </div>
                 </div>
-                <div>追问风格:  
-                  <el-select v-model="settings.interruptionMode" placeholder="请选择">
-                    <el-option label="温和" value="1" />
-                    <el-option label="严厉" value="2" />
-                    <el-option label="严谨" value="3" />
-                  </el-select></div>
+                                 <div class="setting-item" style="border: none;">
+                    <div class="setting-label">「追问风格」</div>
+                    <div class="setting-options">
+                      <el-select v-model="settings.followUpStyle" placeholder="请选择" @change="handleSettingChange('followUpStyle', settings.followUpStyle)">
+                        <el-option label="温和" value="1" />
+                        <el-option label="严厉" value="2" />
+                        <el-option label="严谨" value="3" />
+                      </el-select>
+                    </div>
+                    <div class="setting-desc"></div>
+                  </div>
               </div>
               </div>
               </div>
               </div>
                
                
@@ -1205,6 +1211,11 @@
           />
           />
           <div class="form-tip">建议回答题目的时长,单位为秒</div>
           <div class="form-tip">建议回答题目的时长,单位为秒</div>
         </div>
         </div>
+        <div class="form-item">
+          <div class="form-label">评价标准</div>
+          <el-input v-model="questionForm.scoring_reference" placeholder="请输入评价标准" class="full-width" />
+          <div class="form-tip">评价标准,用于评价应聘者的表现</div>
+        </div>
       </div>
       </div>
 
 
       <template #footer>
       <template #footer>
@@ -2165,7 +2176,8 @@ const questionForm = reactive({
   position: [], // 适用职位
   position: [], // 适用职位
   category: '', // 分类
   category: '', // 分类
   tags: [], // 标签
   tags: [], // 标签
-  suggestedDuration: 60 // 建议时长,默认60秒
+  suggestedDuration: 60, // 建议时长,默认60秒
+  scoring_reference: '' // 评分标准
 });
 });
 
 
 // 胜任力标签选项
 // 胜任力标签选项
@@ -3772,9 +3784,11 @@ const addDimension = () => {
 };
 };
 
 
 const settings = reactive({
 const settings = reactive({
+  
   keepVideo: false,
   keepVideo: false,
   interruptionMode: '',
   interruptionMode: '',
-  smartFollowUp: false
+  smartFollowUp: false,
+  followUpStyle: ''
 });
 });
 
 
 interface InterviewerAvatar {
 interface InterviewerAvatar {
@@ -3871,6 +3885,8 @@ const getInterviewSettings = () => {
     keepVideo: settings.keepVideo,
     keepVideo: settings.keepVideo,
     // 中断后作答限制模式
     // 中断后作答限制模式
     interruptionMode: settings.interruptionMode,
     interruptionMode: settings.interruptionMode,
+    // 追问风格设置
+    followUpStyle: settings.followUpStyle,
     // 智慧追问设置
     // 智慧追问设置
     smartFollowUp: settings.smartFollowUp
     smartFollowUp: settings.smartFollowUp
   };
   };
@@ -3891,6 +3907,9 @@ const handleSettingChange = (settingType: string, value: any) => {
     case 'interruptionMode':
     case 'interruptionMode':
       console.log('中断后作答限制模式:', value === 'previous' ? '从上一问重新作答' : '从当前问题作答');
       console.log('中断后作答限制模式:', value === 'previous' ? '从上一问重新作答' : '从当前问题作答');
       break;
       break;
+    case 'followUpStyle':
+      console.log('追问风格:', value);
+      break;
     case 'smartFollowUp':
     case 'smartFollowUp':
       console.log('智慧追问设置:', value ? '开启' : '关闭');
       console.log('智慧追问设置:', value ? '开启' : '关闭');
       break;
       break;
@@ -4027,7 +4046,7 @@ const delay = (ms: number): Promise<void> => {
 let pollingController: { cancelled: boolean } | null = null;
 let pollingController: { cancelled: boolean } | null = null;
 
 
 // 轮询获取草稿列表的函数
 // 轮询获取草稿列表的函数
-const pollForDraftList = async (params: { tenant_id: number; page: number; limit: number; position_id: string }, maxAttempts: number = 30, interval: number = 2000): Promise<any> => {
+const pollForDraftList = async (params: { tenant_id: number; page: number; limit: number; position_id: string }, maxAttempts: number = 50, interval: number = 2000): Promise<any> => {
   let attempts = 0;
   let attempts = 0;
   
   
   // 创建轮询控制器
   // 创建轮询控制器