zhangxiao
2024-08-26 7c666a5083125a4cfd68145d2b7a7a7d5f5f7ebf
src/views/dmx/knowledgeLib/addDetails.vue
@@ -1,28 +1,44 @@
<template>
  <a-button type="primary" @click="handleClick" style="margin-left: 10px">
    <template #icon>
      <icon-plus />
    </template>
  </a-button>
  <a-modal v-model:visible="visible" title="创建解析块" @before-open="handleOpened" @cancel="handleCancel" :footer="false" title-align="start">
    <a-form ref="formRef" :rules="rules" :model="form" @submit="handleSubmit" layout="vertical" >
  <a-modal
    v-model:visible="visible"
    title="创建解析块"
    @before-open="handleOpened"
    @cancel="handleCancel"
    :footer="false"
    title-align="start"
  >
    <a-form
      ref="formRef"
      :rules="rules"
      :model="form"
      @submit="handleSubmit"
      layout="vertical"
    >
      <a-form-item field="content_with_weight" label="解析块">
        <a-textarea v-model="form.content_with_weight" placeholder="" style="height: 100px"  auto-size />
        <a-textarea
          v-model="form.content_with_weight"
          placeholder=""
          style="height: 100px"
          auto-size
        />
      </a-form-item>
      <a-form-item field="important_kwd_key" label="关键词 *">
        <div style="width: auto">
          <a-tag
            v-for="(item,index) in form.important_kwd"
            v-for="(item, index) in form.important_kwd"
            :key="index"
            closable
            bordered
            @close="form.important_kwd.splice(index,1)"
            @close="form.important_kwd.splice(index, 1)"
            style="margin-right: 10px"
          >
            {{item}}
            {{ item }}
          </a-tag>
          <a-input
            ref="formInput"
@@ -30,21 +46,21 @@
            v-model="form.important_kwd_key"
            placeholder=""
            size="small"
            style="width: 80px;margin-right: 16px"
            style="width: 80px; margin-right: 16px"
            @blur="inputChange"
          />
          <a-button type="dashed" shape="circle" size="small" @click="addKey">
            <icon-plus />
          </a-button>
        </div>
      </a-form-item>
      <a-form-item>
        <div style="width: 100%;text-align: right">
        <div style="width: 100%; text-align: right">
          <a-button @click="visible = false">取消</a-button>
          <a-button style="margin-left: 10px" type="primary" html-type="submit">确定</a-button>
          <a-button style="margin-left: 10px" type="primary" html-type="submit"
            >确定</a-button
          >
        </div>
      </a-form-item>
    </a-form>
@@ -52,88 +68,83 @@
</template>
<script lang="ts" setup>
import { onMounted ,onBeforeMount, reactive, ref } from "vue";
import { achunkCreate } from "@/api/kbList";
  import { onMounted, onBeforeMount, reactive, ref } from 'vue';
  import { achunkCreate } from '@/api/kbList';
const props = defineProps(['item'])
const visible = ref(false);
const keyVisible = ref(false);
const loading = ref(false);
const form = reactive({
  content_with_weight: '',
  important_kwd: [],
  important_kwd_key: '',
});
const formRef = ref(null);
const formInput = ref(null);
const rules = {
  content_with_weight: [
    {
      required: true,
      message:'请输入值!',
    },
  ],
}
const handleSubmit = async ({values, errors}) => {
  console.log(props.item.id);
  if(!errors){
    const res = await achunkCreate({
      content_with_weight: values.content_with_weight,
      important_kwd: values.important_kwd,
      doc_id: props.item.id,
    })
  }
}
const handleClick = () => {
  visible.value = true;
};
const handleBeforeOk = (done) => {
    formRef.value.validate().then(res => {
      console.log('form:', form)
    })
};
const handleCancel = () => {
  visible.value = false;
}
const handleOpened =(el) => {
  Object.assign(form,{
  const props = defineProps(['item']);
  const emit = defineEmits(['canplaythrough']);
  const visible = ref(false);
  const keyVisible = ref(false);
  const loading = ref(false);
  const form = reactive({
    content_with_weight: '',
    important_kwd: [],
    important_kwd_key: '',
  });
  formRef.value.resetFields();
  keyVisible.value= false;
}
  const formRef = ref(null);
  const formInput = ref(null);
  const rules = {
    content_with_weight: [
      {
        required: true,
        message: '请输入值!',
      },
    ],
  };
const addKey = () => {
  form.important_kwd_key = '';
  formInput.value.focus();
  keyVisible.value= true;
}
  const handleSubmit = async ({ values, errors }) => {
    if (!errors) {
      const res = await achunkCreate({
        content_with_weight: values.content_with_weight,
        important_kwd: values.important_kwd,
        doc_id: props.item.id,
      });
      if (res.code === 0) {
        visible.value = false;
        emit('canplaythrough');
      }
    }
  };
const inputChange = (e) => {
  if (!form.important_kwd.includes(form.important_kwd_key) && form.important_kwd_key){
    form.important_kwd.push(form.important_kwd_key)
  }else {
  const handleClick = () => {
    visible.value = true;
  };
  const handleBeforeOk = (done) => {
    formRef.value.validate().then((res) => {
      console.log('form:', form);
    });
  };
  const handleCancel = () => {
    visible.value = false;
  };
  }
  keyVisible.value= false;
}
  const handleOpened = (el) => {
    Object.assign(form, {
      content_with_weight: '',
      important_kwd: [],
      important_kwd_key: '',
    });
    formRef.value.resetFields();
    keyVisible.value = false;
  };
  const addKey = () => {
    form.important_kwd_key = '';
    formInput.value.focus();
    keyVisible.value = true;
  };
  const inputChange = (e) => {
    if (
      !form.important_kwd.includes(form.important_kwd_key) &&
      form.important_kwd_key
    ) {
      form.important_kwd.push(form.important_kwd_key);
    } else {
    }
    keyVisible.value = false;
  };
onBeforeMount(()=>{
})
onMounted(()=>{
})
</script>
  onBeforeMount(() => {});
  onMounted(() => {});
</script>