فهرست منبع

修改部分报错

yangg 1 روز پیش
والد
کامیت
803f16e446

+ 14 - 14
src/views/position/create/index.vue

@@ -38,12 +38,12 @@
           </el-select>
         </el-form-item>
         
-        <el-form-item label="职位性质" prop="job_type_display">
-          <el-select v-model="formData.job_type_display" placeholder="请选择职位性质">
-            <el-option label="全职" value="全职" />
-            <el-option label="兼职" value="兼职" />
-            <el-option label="实习" value="实习" />
-            <el-option label="其他" value="其他" />
+        <el-form-item label="职位性质" prop="job_type">
+          <el-select v-model="formData.job_type" placeholder="请选择职位性质">
+            <el-option label="全职" value="0" />
+            <el-option label="兼职" value="1" />
+            <el-option label="实习" value="2" />
+            <el-option label="其他" value="3" />
           </el-select>
         </el-form-item>
         
@@ -175,8 +175,8 @@
           <el-input v-model="formData.department" placeholder="请输入所属部门" />
         </el-form-item> -->
         
-        <el-form-item label="职位状态" prop="job_type">
-          <el-select v-model="formData.job_type" placeholder="请选择职位状态">
+        <el-form-item label="职位状态" prop="status">
+          <el-select v-model="formData.status" placeholder="请选择职位状态">
             <el-option label="未发布" :value="0" />
             <el-option label="已发布" :value="1" />
             <!-- <el-option label="已结束" :value="2" /> -->
@@ -251,14 +251,14 @@ interface CompetencyTag {
 interface PositionFormData {
   title: string;
   job_category: string;
-  job_type_display: string;
+  job_type: string;
   city: string;
   location: string[]; // 存储选中的代码
   location_names?: string[]; // 存储选中的名称,设为可选
   address_detail: string;
   benefits: string[];
   requirements: string;
-  job_type?: number;
+ /*  job_type?: number; */
   salary_type: string;
   start_salary: string;
   end_salary: string;
@@ -279,14 +279,14 @@ interface PositionFormData {
 const formData = reactive<PositionFormData>({
   title: '',
   job_category: '',
-  job_type_display: '',
+  job_type: '',
   city: '',
   location: [],
   location_names: [], // 新增字段
   address_detail: '',
   benefits: [],
   requirements: '',
-  job_type: 0,
+  /* job_type: 0, */
   salary_type: '月薪',
   start_salary: '',
   end_salary: '',
@@ -324,10 +324,10 @@ const validateRichText = (rule: any, value: string, callback: any) => {
 const rules = {
   title: [{ required: true, message: '职位名称必填', trigger: 'blur' }],
   job_category: [{ required: true, message: '职位类别必填', trigger: 'change' }],
-  job_type_display: [{ required: true, message: '职位性质必填', trigger: 'change' }],
+  job_type: [{ required: true, message: '职位性质必填', trigger: 'change' }],
   location: [{ required: true, message: '工作地点必填', trigger: 'change' }],
   department: [{ required: true, message: '所属部门必填', trigger: 'blur' }],
-  job_type: [{ required: true, message: '职位状态必填', trigger: 'change' }],
+  status: [{ required: true, message: '职位状态必填', trigger: 'change' }],
   end_date: [{ required: true, message: '截止日期必填', trigger: 'change' }],
   requirements: [{ 
     required: true, 

+ 24 - 31
src/views/position/detail/index.vue

@@ -3253,40 +3253,21 @@ const nextStep = async () => {
       }
 
       try {
-        // 准备要保存的标签数据
-        const tagsToSave = selectedTags.map(tag => ({
-          name: tag.name,
-          description: tag.description, // 如果有描述字段可以添加
-          importance: tag.importance // 默认重要性
+        // 直接使用选中的标签数据构建selectedAbilities数组
+        selectedAbilities.value = selectedTags.map((tag) => ({
+          label: tag.name,
+          value: tag.name.toLowerCase().replace(/\s+/g, '_'),
+          id: tag.id, // 使用标签原有的ID
+          description: tag.description || '', // 如果没有描述则使用空字符串
+          level: 'CC', // 默认等级
+          expanded: false,
+          isNew: true
         }));
 
-        // 调用保存接口
-        await SaveCompetency({
-          position_id: route.query.id,
-          tenant_id: "1",
-          tags: tagsToSave
-        }).then((res:any)=>{
-          if(res.code==2000){ 
-            selectedAbilities.value = res.data.map((tag:any) => ({
-                label: tag.name,
-                value: tag.name.toLowerCase().replace(/\s+/g, '_'),
-                id:tag.id,
-                description: tag.description, // 如果有描述字段可以添加
-                level: 'CC', // 默认等级
-                expanded: false,
-                isNew: true
-              }));
-          }else{
-            
-          }
-        })
-        
-       
-
       } catch (error) {
-        console.error('保存胜任力标签失败:', error);
-        ElMessage.error('保存胜任力标签失败');
-        return; // 如果保存失败,不进入下一步
+        console.error('处理胜任力标签失败:', error);
+        ElMessage.error('处理胜任力标签失败');
+        return; // 如果处理失败,不进入下一步
       }
     }
     // 如果从第二步进入第三步,分别处理AI生成和自定义选择的题目
@@ -4575,6 +4556,18 @@ const editAIVideo = async (step: AIVideoStep) => {
             item.selected = false;
           });
           competencyTags.value = response2.data;
+          
+          // 保存生成的胜任力标签
+          try {
+            await SaveCompetency({
+              position_id: route.query.id,
+              tags: competencyTags.value
+            });
+            ElMessage.success('胜任力标签保存成功');
+          } catch (error) {
+            console.error('保存胜任力标签失败:', error);
+            ElMessage.error('胜任力标签保存失败');
+          }
         }
       }
 

+ 1 - 1
src/views/questionBank/list/index.vue

@@ -140,7 +140,7 @@ const handleTreeClick = (node: any) => {
   const searchParams = {
     form: {
       limit: 20,
-    //   job_id: selectedCategoryId.value,
+     position_types: selectedCategoryId.value,
       question_form: question_form,
       ...(nodeType === 'category' ? { category: originalId } : {}),
       ...(nodeType === 'tag' ? { tag: originalId } : {})

+ 2 - 2
src/views/questionBank/positionList/index.vue

@@ -840,7 +840,7 @@ const getTreeData = () => {
           question_type: 'professional' // 添加类型标识
         }))
       },
-      ...categoryList.map((item: any) => ({
+      /*   ...categoryList.map((item: any) => ({
         id: `category_${item.id}`,  
         title: item.name,
         children: tagList.filter((tag: any) => tag.category_id === item.id).map((tag: any) => ({
@@ -848,7 +848,7 @@ const getTreeData = () => {
           title: tag.name
         })) 
       }))
-     /*  {
+    {
         id: categoryList.find((item: any) => item.name === '基本常识')?.id || '7',
         title: categoryList.find((item: any) => item.name === '基本常识')?.name || '基本常识',
       },

+ 1 - 1
src/views/system/home/index.vue

@@ -768,7 +768,7 @@ export default defineComponent({
 			router.push({
 				path: '/JobApplication/list/index',
 				query: {
-					status: 3 // 传递状态参数,用于页面筛选已面试待处理的候选人
+					status: 2 // 传递状态参数,用于页面筛选已面试待处理的候选人
 				}
 			});
 		};