From feb1bc83e9d2e2b57fef8bdafaa2e24a43fec96c Mon Sep 17 00:00:00 2001
From: liudong <liudong>
Date: 星期五, 02 八月 2024 12:11:17 +0800
Subject: [PATCH] 解析块和解析方法的页面开发和功能开发
---
src/api/kbList.ts | 26 +++++
src/views/dmx/knowledgeLib/eidtDetails.vue | 146 +++++++++++++++++++++++++++++
src/views/dmx/knowledgeLib/tool.vue | 15 +-
src/views/dmx/knowledgeLib/addDetails.vue | 109 +++++++++++++++------
4 files changed, 258 insertions(+), 38 deletions(-)
diff --git a/src/api/kbList.ts b/src/api/kbList.ts
index af8f7cc..bd8f60e 100644
--- a/src/api/kbList.ts
+++ b/src/api/kbList.ts
@@ -163,3 +163,29 @@
};
+// 鏂板瑙f瀽鍧�
+export function achunkCreate(params) {
+ return axios.post("/api/v1/chunk/create", params);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/dmx/knowledgeLib/addDetails.vue b/src/views/dmx/knowledgeLib/addDetails.vue
index 07db2d2..8a58977 100644
--- a/src/views/dmx/knowledgeLib/addDetails.vue
+++ b/src/views/dmx/knowledgeLib/addDetails.vue
@@ -5,11 +5,42 @@
<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" >
- <a-form-item field="name" label="鍚嶇О">
- <a-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�"/>
+ <a-modal v-model:visible="visible" title="鍒涘缓瑙f瀽鍧�" @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="瑙f瀽鍧�">
+ <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"
+ :key="index"
+ closable
+ bordered
+ @close="form.important_kwd.splice(index,1)"
+ style="margin-right: 10px"
+ >
+ {{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"
+ @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">
<a-button @click="visible = false">鍙栨秷</a-button>
@@ -22,29 +53,39 @@
<script lang="ts" setup>
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({
- name: '',// 鐢ㄦ埛鍚�
- nameJoin: '',// 鏄电О
- post: '',// 宀椾綅
- txt: '',// 澶囨敞
+ content_with_weight: '',
+ important_kwd: [],
+ important_kwd_key: '',
});
const formRef = ref(null);
-
+const formInput = ref(null);
const rules = {
- name: [
+ content_with_weight: [
{
required: true,
- message:'鍚嶇О涓嶅厑璁镐负绌�',
+ message:'璇疯緭鍏ュ�硷紒',
},
],
}
-const handleSubmit = ({values, errors}) => {
- console.log('values:', values, '\nerrors:', errors)
+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 = () => {
@@ -53,12 +94,6 @@
const handleBeforeOk = (done) => {
formRef.value.validate().then(res => {
console.log('form:', form)
- if (!form.name) {
- done(false)
- }else {
- console.log('璇锋眰鏁版嵁');
-
- }
})
};
const handleCancel = () => {
@@ -67,13 +102,32 @@
const handleOpened =(el) => {
Object.assign(form,{
- name: '',// 鐢ㄦ埛鍚�
- nameJoin: '',// 鏄电О
- post: '',// 宀椾綅
- txt: '',// 澶囨敞
+ 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(()=>{
@@ -82,13 +136,4 @@
})
-</script>
-
-<script lang="ts">
-export default {
- name: 'add',
- methods: {
-
- }
-};
</script>
\ No newline at end of file
diff --git a/src/views/dmx/knowledgeLib/eidtDetails.vue b/src/views/dmx/knowledgeLib/eidtDetails.vue
new file mode 100644
index 0000000..3e1a521
--- /dev/null
+++ b/src/views/dmx/knowledgeLib/eidtDetails.vue
@@ -0,0 +1,146 @@
+
+<template>
+ <a-modal v-model:visible="visible" title="缂栬緫瑙f瀽鍧�" @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="瑙f瀽鍧�">
+ <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"
+ :key="index"
+ closable
+ bordered
+ @close="form.important_kwd.splice(index,1)"
+ style="margin-right: 10px"
+ >
+ {{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"
+ @blur="inputChange"
+ />
+ <a-button type="dashed" shape="circle" size="small" @click="addKey">
+ <icon-plus />
+ </a-button>
+ </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>
+ <a-form-item>
+ <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>
+ </div>
+ </a-form-item>
+ </a-form>
+ </a-modal>
+</template>
+
+<script lang="ts" setup>
+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;
+};
+
+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>
\ No newline at end of file
diff --git a/src/views/dmx/knowledgeLib/tool.vue b/src/views/dmx/knowledgeLib/tool.vue
index e7532a8..040fdf0 100644
--- a/src/views/dmx/knowledgeLib/tool.vue
+++ b/src/views/dmx/knowledgeLib/tool.vue
@@ -143,7 +143,7 @@
</a-radio-group>
</template>
</a-popover>
- <addDetails></addDetails>
+ <addDetails :item="item"></addDetails>
</div>
</div>
<a-divider style="margin-top: 10px" />
@@ -151,7 +151,7 @@
<a-checkbox-group v-model="data" @change="handleChange" >
<div class="groupList" :style="{background:keyBg=='1'?'#eff8ff':'white'}">
<a-checkbox value="1"></a-checkbox>
- <div class="groupList-content" @click="groupListContentClick('1')">
+ <div class="groupList-content" @click="groupListContentClick('1')" @dblclick="contentClick()">
鑰� stable version 鏄渶鏂扮ǔ瀹氱増锛岀粡杩囧厖鍒嗘祴璇曞拰楠岃瘉锛宐ug 杈冨皯锛�
閫傚悎鐢ㄤ簬鐢熶骇鐜銆傚叾鐗堟湰鍙烽�氬父涓哄弻鏁帮紝濡� 1.26銆俵egacy versions
鍒欐槸涔嬪墠鍙戝竷鐨勭ǔ瀹氱増锛屽浜庨渶瑕�
@@ -179,11 +179,9 @@
</a-checkbox-group>
</div>
</div>
+ <eidtDetails ref="eidtDil"></eidtDetails>
</a-tab-pane>
</a-tabs>
-
-
-
</a-modal>
</template>
@@ -192,10 +190,12 @@
import { Message } from "@arco-design/web-vue";
import {kbdocumentchangeparser} from "@/api/kbList";
import addDetails from '@/views/dmx/knowledgeLib/addDetails.vue'
+import eidtDetails from '@/views/dmx/knowledgeLib/eidtDetails.vue'
const visible = ref(false);
const loading = ref(false);
const radio = ref('1');
const keyBg = ref('');
+const eidtDil = ref();
const props = defineProps(['kbtenantInfo','item','kbdetail'])
// const emit = defineEmits(['upTabdateItem'])
@@ -229,7 +229,6 @@
'浠ヤ笂灏辨槸浣犻渶瑕佹�荤粨鐨勫唴瀹广��',
});
const formRef = ref(null);
-
const rules = {
prompt: [
{
@@ -284,6 +283,9 @@
visible.value = false;
}
+const contentClick = (done) => {
+ eidtDil.value.handleClick();
+}
const handleOpened =(el) => {
// console.log('props',props.kbtenantInfo);
// console.log('props',props.item);
@@ -296,6 +298,7 @@
// txt: '',// 澶囨敞
// });
// formRef.value.resetFields();
+ console.log(props.item.id);
}
--
Gitblit v1.8.0