|  |  | 
 |  |  |  | 
 |  |  | <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;overflow: auto;" | 
 |  |  |           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" | 
 |  |  |             :key="index" | 
 |  |  |             v-for="(item, index) in form.important_kwd" | 
 |  |  |             :key="item" | 
 |  |  |             closable | 
 |  |  |             bordered | 
 |  |  |             @close="form.important_kwd.splice(index,1)" | 
 |  |  |             @close="deleteKey(item)" | 
 |  |  |             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"> | 
 |  |  | 
 |  |  |         </div> | 
 |  |  |       </a-form-item> | 
 |  |  |  | 
 |  |  |       <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);"> | 
 |  |  |           <template #icon> | 
 |  |  |             <icon-delete /> | 
 |  |  |           </template> | 
 |  |  |           删除 | 
 |  |  |         </a-button> | 
 |  |  |       </div> | 
 |  |  | <!--      <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)">--> | 
 |  |  | <!--          <template #icon>--> | 
 |  |  | <!--            <icon-delete />--> | 
 |  |  | <!--          </template>--> | 
 |  |  | <!--          删除--> | 
 |  |  | <!--        </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> | 
 |  |  | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | <script lang="ts" setup> | 
 |  |  | import { onMounted ,onBeforeMount, reactive, ref } from "vue"; | 
 |  |  | import { achunkCreate } from "@/api/kbList"; | 
 |  |  | import { onMounted, onBeforeMount, reactive, ref, nextTick } from "vue"; | 
 |  |  | import { achunkCreate, achunkSet } 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; | 
 |  |  | }; | 
 |  |  |  | 
 |  |  | 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 props = defineProps(['item']); | 
 |  |  |   const visible =defineModel('eidtDilVisible'); | 
 |  |  |   const emit = defineEmits(['canplaythrough']); | 
 |  |  |   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 achunkSet({ | 
 |  |  |         content_with_weight: values.content_with_weight, | 
 |  |  |         important_kwd: values.important_kwd, | 
 |  |  |         doc_id: props.item.doc_id, | 
 |  |  |         chunk_id: props.item.chunk_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; | 
 |  |  |   }; | 
 |  |  |  | 
 |  |  |   } | 
 |  |  |   keyVisible.value= false; | 
 |  |  | } | 
 |  |  |   const handleBeforeOk = (done) => { | 
 |  |  |     formRef.value.validate().then((res) => { | 
 |  |  |       console.log('form:', form); | 
 |  |  |     }); | 
 |  |  |   }; | 
 |  |  |   const handleCancel = () => { | 
 |  |  |     visible.value = false; | 
 |  |  |   }; | 
 |  |  |  | 
 |  |  |   const handleOpened = (el) => { | 
 |  |  |     console.log(props.item); | 
 |  |  |     nextTick(()=>{ | 
 |  |  |       Object.assign(form, props.item); | 
 |  |  |       console.log(form.important_kwd); | 
 |  |  |     }) | 
 |  |  |     formRef.value.resetFields(); | 
 |  |  |     keyVisible.value = false; | 
 |  |  |   }; | 
 |  |  |  | 
 |  |  |   const deleteKey = (row) => { | 
 |  |  |     console.log(form.important_kwd); | 
 |  |  |     console.log(row); | 
 |  |  |     // form.important_kwd.splice(index, 1); | 
 |  |  |     form.important_kwd = form.important_kwd.filter((item) => item !== row); | 
 |  |  |   }; | 
 |  |  |  | 
 |  |  |   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> |