yangyin
2024-11-12 272000b000564f5e4ed7c5562fe72a206c8a48f9
src/views/project/yw/dataManage/knowledge/EditKnowledge.vue
@@ -38,6 +38,9 @@
                  type="textarea"
               />
            </el-form-item>
            <el-form-item label="索引分数:" prop="scope">
               <el-input v-model="state.editKnowledgeForm.scope" style="width: 532px" />
            </el-form-item>
            <el-form-item label="数据类型:">
               <label> 非结构化数据</label>
            </el-form-item>
@@ -52,9 +55,12 @@
<script setup lang="ts">
import { ElMessage, type FormRules } from 'element-plus';
import moment from 'moment';
import { onMounted, reactive, ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { update_docvector_name } from '/@/api/knowledge/docvector';
import { verifiyNumberInteger } from '/@/utils/toolsValidate';
import mittBus from '/@/utils/mitt';
// 定义变量内容
const state = reactive({
   soliderValue: 0,
@@ -62,10 +68,20 @@
   editKnowledgeForm: {
      title: '',
      prompt: '',
      id: '',
      knowlg_id: '',
      scope: null,
   } as any,
   knowledgeFile: {},
});
//验证scope字段只能输入正整数
const validateNumber = (rule, value, callback) => {
   if (value < 31) {
      callback(new Error('请输入大于30的正整数'));
   } else {
      state.editKnowledgeForm.scope = verifiyNumberInteger(value);
      callback();
   }
};
const editKnowledgeFormRules = reactive<FormRules>({
   title: [
      {
@@ -81,6 +97,7 @@
         trigger: 'blur',
      },
   ],
   scope: [{ validator: validateNumber, trigger: 'blur' }],
});
const editKnowledgeFormRef = ref();
const router = useRouter();
@@ -92,23 +109,33 @@
};
//创建一个空知识库
const saveKnowledgeBase = async () => {
   var currentTime = moment().format('YYYY-MM-DD HH:mm:ss');
   const valid = await editKnowledgeFormRef.value.validate().catch(() => {});
   if (!valid) return;
   const res = await update_docvector_name({
      title: state.editKnowledgeForm.title,
      prompt: state.editKnowledgeForm.prompt,
      knowlg_id: state.editKnowledgeForm.id,
   });
   const res = await update_docvector_name({ ...state.editKnowledgeForm });
   if (res.json_ok) {
      ElMessage.success('更新成功');
      let obj = {
         id: state.editKnowledgeForm.knowlg_id,
         title: state.editKnowledgeForm.title,
         prompt: state.editKnowledgeForm.prompt,
         publish: state.editKnowledgeForm.publish,
         create_time: currentTime,
         user_name: '',
         scope: state.editKnowledgeForm.scope,
      };
      mittBus.emit('updateKnowledgeBaseObj', obj);
      router.push({ name: 'Knowledge' });
   }
};
onMounted(() => {
   const { knowledge_title, knowledge_id, knowledge_prompt } = route.query;
   const { knowledge_title, knowledge_id, knowledge_prompt, knowledge_scope,knowledge_publish } = route.query;
   state.editKnowledgeForm.title = knowledge_title;
   state.editKnowledgeForm.prompt = knowledge_prompt;
   state.editKnowledgeForm.id = knowledge_id;
   state.editKnowledgeForm.knowlg_id = knowledge_id;
   state.editKnowledgeForm.scope = knowledge_scope;
   state.editKnowledgeForm.publish = knowledge_publish;
});
</script>
<style scoped lang="scss">