liudong
2024-08-07 7b8ac484c22a2e5b726579b8e13fff5048de0dd5
src/views/dmx/knowledgeLib/eidtDetails.vue
@@ -1,31 +1,46 @@
<template>
  <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"
            v-show="keyVisible"
            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">
@@ -36,8 +51,9 @@
      <div>
        <a-divider style="margin: 10px 0" />
        <a-switch size="small"/> <span style="color: var(--color-text-2);">启用</span>
        <a-button type="text" style="color: var(--color-text-2);">
        <a-switch size="small" />
        <span style="color: var(--color-text-2)">启用</span>
        <a-button type="text" style="color: var(--color-text-2)">
          <template #icon>
            <icon-delete />
          </template>
@@ -45,9 +61,11 @@
        </a-button>
      </div>
      <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>
@@ -55,92 +73,84 @@
</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 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;
};
defineExpose({
  handleClick
})
const handleBeforeOk = (done) => {
    formRef.value.validate().then(res => {
      console.log('form:', form)
    })
};
const handleCancel = () => {
  visible.value = false;
}
const handleOpened =(el) => {
  Object.assign(form,{
  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 }) => {
    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 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;
  };
  }
  keyVisible.value= false;
}
  defineExpose({
    handleClick,
  });
  const handleBeforeOk = (done) => {
    formRef.value.validate().then((res) => {
      console.log('form:', form);
    });
  };
  const handleCancel = () => {
    visible.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>