From 3a022dc2caa78267a681824ea1c303f140cd6797 Mon Sep 17 00:00:00 2001
From: liudong <liudong>
Date: 星期五, 02 八月 2024 19:57:45 +0800
Subject: [PATCH] 智能体管理的页面开发和功能开发

---
 src/views/dmx/knowledgeLib/tool.vue |  358 ++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 278 insertions(+), 80 deletions(-)

diff --git a/src/views/dmx/knowledgeLib/tool.vue b/src/views/dmx/knowledgeLib/tool.vue
index 3dbead6..a636442 100644
--- a/src/views/dmx/knowledgeLib/tool.vue
+++ b/src/views/dmx/knowledgeLib/tool.vue
@@ -7,71 +7,181 @@
   </a-button>
   <a-modal
     v-model:visible="visible"
-    title="瑙f瀽鏂规硶"
+    title=" "
     @before-open="handleOpened"
     @cancel="handleCancel"
-    @opened="handleOpened"
     :footer="false"
     title-align="start"
-    width="700px"
+    width="900px"
   >
-  <div style="display: flex;align-items: center;">
-    <div>
-      瑙f瀽鏂规硶:
-    </div>
-    <div style="margin-left: 10px">
-      <a-select v-model="form.parser_id" placeholder="璇烽�夋嫨" >
-        <a-option v-for="item in parser_ids" :key="item.value" :label="item.name" :value="item.value"></a-option>
-      </a-select>
-    </div>
-  </div>
-    <a-form ref="formRef" :rules="rules" :model="form"  auto-label-width @submit="handleSubmit" >
-      <a-divider style="margin-top: 10px" />
-      <a-form-item field="slider" label="鍧梩oken鏁�"
-                   :rules="[{type:'number', min:1,message:'slider is min than 1'}]">
-        <a-slider v-model="form.chunk_token_num" :max="1000" show-input />
-      </a-form-item>
-      <a-divider style="margin-top: 10px" />
-      <a-form-item field="raptor" label="浣跨敤鍙洖澧炲己RAPTOR绛栫暐">
-        <a-space direction="vertical" size="large">
-          <a-switch v-model="form.use_raptor" @change="onChangeRAPTOR" />
-        </a-space>
-      </a-form-item>
-      <div v-if="form.use_raptor">
-        <a-form-item field="prompt" label="鎻愮ず璇�">
-          <a-textarea
-            v-model="form.prompt"
-            style="height: 10rem;border: 1px solid  var(--color-fill-3);border-radius: 4px" placeholder="璇峰~鍐欐彁绀鸿瘝"  />
-        </a-form-item>
-        <a-form-item field="slider" label="鏈�澶oken鏁�"
-                     :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
-          <a-slider v-model="form.max_token" :min="1" :max="1000" show-input/>
-        </a-form-item>
-        <a-form-item field="slider" label="闃堝��" :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
-          <a-slider v-model="form.threshold" :format-tooltip="formatter" show-tooltip show-input/>
-        </a-form-item>
-        <a-form-item field="slider" label="鏈�澶ц仛绫绘暟"
-                     :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
-          <a-slider v-model="form.max_cluster" :max="1000" show-input/>
-        </a-form-item>
-        <a-form-item field="slider" label="闅忔満绉嶅瓙" v-model="form.random_seed"
-                     :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
-          <a-input-number v-model="form.random_seed" :style="{width:'300px',marginRight:'1rem',borderRadius:'4px'}"
-                          placeholder="璇疯緭鍏�" class="input-demo" :min="10" :max="100" />
-          <a-button type="primary" @click="randomNumber">
-            <icon-plus />
-          </a-button>
+      <a-tabs default-active-key="1">
+        <a-tab-pane key="1">
+          <template #title>
+            <icon-calendar/> 瑙f瀽鏂规硶
+          </template>
+          <div style="width: 100%">
+            <div style="display: flex;align-items: center;">
+              <div>
+                瑙f瀽鏂规硶:
+              </div>
+              <div style="margin-left: 10px">
+                <a-select v-model="form.parser_id" placeholder="璇烽�夋嫨" >
+                  <a-option v-for="item in parser_ids" :key="item.value" :label="item.name" :value="item.value"></a-option>
+                </a-select>
+              </div>
+            </div>
+            <div class="parser">
+              <a-form ref="formRef" :rules="rules" :model="form"  auto-label-width @submit="handleSubmit" >
+                <a-divider style="margin-top: 10px" />
+                <a-form-item field="slider" label="鍧梩oken鏁�"
+                             :rules="[{type:'number', min:1,message:'slider is min than 1'}]">
+                  <a-slider v-model="form.chunk_token_num" :max="1000" show-input />
+                </a-form-item>
+                <a-divider style="margin-top: 10px" />
+                <a-form-item field="raptor" label="浣跨敤鍙洖澧炲己RAPTOR绛栫暐">
+                  <a-space direction="vertical" size="large">
+                    <a-switch v-model="form.use_raptor" @change="onChangeRAPTOR" />
+                  </a-space>
+                </a-form-item>
+                <div v-if="form.use_raptor">
+                  <a-form-item field="prompt" label="鎻愮ず璇�">
+                    <a-textarea
+                      v-model="form.prompt"
+                      style="height: 10rem;border: 1px solid  var(--color-fill-3);border-radius: 4px" placeholder="璇峰~鍐欐彁绀鸿瘝"  />
+                  </a-form-item>
+                  <a-form-item field="slider" label="鏈�澶oken鏁�"
+                               :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
+                    <a-slider v-model="form.max_token" :min="1" :max="1000" show-input/>
+                  </a-form-item>
+                  <a-form-item field="slider" label="闃堝��" :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
+                    <a-slider v-model="form.threshold"  show-tooltip show-input/>
+                  </a-form-item>
+                  <a-form-item field="slider" label="鏈�澶ц仛绫绘暟"
+                               :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
+                    <a-slider v-model="form.max_cluster" :max="1000" show-input/>
+                  </a-form-item>
+                  <a-form-item field="slider" label="闅忔満绉嶅瓙" v-model="form.random_seed"
+                               :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
+                    <a-input-number v-model="form.random_seed" :style="{width:'300px',marginRight:'1rem',borderRadius:'4px'}"
+                                    placeholder="璇疯緭鍏�" class="input-demo" :min="10" :max="100" />
+                    <a-button type="primary" @click="randomNumber">
+                      <icon-plus />
+                    </a-button>
 
-        </a-form-item>
+                  </a-form-item>
 
-      </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>
+                </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>
+            </div>
+          </div>
+        </a-tab-pane>
+        <a-tab-pane key="2">
+          <template #title>
+            <icon-clock-circle/> 鍒涘缓瑙f瀽鍧�
+          </template>
+          <div class="details">
+            <div class="details-header">
+              <div style="display: flex; align-items: center;justify-content: flex-end;">
+                <a-radio-group v-model="radio" type="button"  style="margin-right: 10px" @change="onRadioChange">
+                  <a-radio value="1">鍏ㄦ枃</a-radio>
+                  <a-radio value="2">鐪佺暐</a-radio>
+                </a-radio-group>
+                <a-popover position="bottom">
+                  <a-button type="outline" class="button" style="margin-right: 10px;">鎵归噺<icon-down style="margin-left: 4px" /></a-button>
+                  <template #content>
+                    <a-space direction="vertical">
+                      <a-checkbox :model-value="checkedAll" :indeterminate="indeterminate" @change="handleChangeAll" style="margin-left: 10px">
+                        閫夋嫨鎵�鏈�
+                      </a-checkbox>
+                    </a-space>
+                    <a-divider style="margin: 10px 0" />
+                    <p>
+                      <a-button type="text" class="button" style="color: #2a2a2b">
+                        <template #icon>
+                          <icon-check-circle />
+                        </template>
+                        鍚敤閫夊畾鐨�
+                      </a-button>
+                    </p>
+                    <p>
+                      <a-button type="text" class="button" style="color: #2a2a2b">
+                        <template #icon>
+                          <icon-close-circle />
+                        </template>
+                        绂佺敤閫夊畾鐨�
+                      </a-button>
+                    </p>
+                    <a-divider style="margin: 10px 0" />
+                    <p>
+                      <a-button type="text" class="button" style="color: #2a2a2b">
+                        <template #icon>
+                          <icon-delete />
+                        </template>
+                        鍒犻櫎閫夊畾鐨�
+                      </a-button>
+                    </p>
+                  </template>
+                </a-popover>
+                <a-button type="outline" class="button" style="margin-right: 10px">
+                  <template #icon>
+                    <icon-search />
+                  </template>
+                </a-button>
+                <a-popover position="bottom">
+                  <a-button type="outline" class="button" style="margin-right: 10px"><icon-sort /></a-button>
+                  <template #content>
+                    <a-radio-group v-model="available_int" direction="vertical" size="large" @change="onChangeavailable">
+                      <a-radio value="">鎵�鏈�</a-radio>
+                      <a-radio value="1">鍚敤</a-radio>
+                      <a-radio value="0">绂佺敤</a-radio>
+                    </a-radio-group>
+                  </template>
+                </a-popover>
+                <addDetails :item="item"></addDetails>
+              </div>
+            </div>
+            <a-divider style="margin-top: 10px" />
+            <div class="groupMain">
+              <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')" @dblclick="contentClick(1)">
+                    鑰� stable version 鏄渶鏂扮ǔ瀹氱増锛岀粡杩囧厖鍒嗘祴璇曞拰楠岃瘉锛宐ug 杈冨皯锛�
+                    閫傚悎鐢ㄤ簬鐢熶骇鐜銆傚叾鐗堟湰鍙烽�氬父涓哄弻鏁帮紝濡� 1.26銆俵egacy versions
+                    鍒欐槸涔嬪墠鍙戝竷鐨勭ǔ瀹氱増锛屽浜庨渶瑕�
+                    鐗瑰畾鏃х増鏈殑鍏煎鎬ф垨瀹夊叏鎬ф敮鎸佺殑鐢ㄦ埛鏈夌敤锛屼絾涓�鑸笉
+                    鎺ㄨ崘鐢ㄤ簬鏂伴」鐩紝闄ら潪鏈夌壒娈婇渶姹傘�傚湪瀹為檯浣跨敤涓紝濡傛灉杩芥眰鏈�鏂板姛鑳�
+                    涓旀効鎰忛潰瀵瑰彲鑳藉瓨鍦ㄧ殑涓�浜涗笉绋冲畾鍥犵礌锛屽彲浠ュ皾璇曚娇鐢ㄤ富绾跨増鏈繘琛屾祴璇曞拰鐮旂┒锛涘鏋滄槸鐢ㄤ簬鐢熶骇鐜
+                  </div>
+                  <div class="groupList-right">
+                    <a-switch v-model="switchType"  checked-value="1" unchecked-value="0" @change="handleChangeStatus()"/>
+                  </div>
+                </div>
+
+                <div class="groupList" :style="{background:keyBg=='2'?'#eff8ff':'white'}">
+                  <a-checkbox  value="1"></a-checkbox>
+                  <div class="groupList-content" @click="groupListContentClick('2')" @dblclick="contentClick(1)">
+                    鑰� stable version 鏄渶鏂扮ǔ瀹氱増锛岀粡杩囧厖鍒嗘祴璇曞拰楠岃瘉锛宐ug 杈冨皯锛�
+                    閫傚悎鐢ㄤ簬鐢熶骇鐜銆傚叾鐗堟湰鍙烽�氬父涓哄弻鏁帮紝濡� 1.26銆俵egacy versions
+                    鍒欐槸涔嬪墠鍙戝竷鐨勭ǔ瀹氱増锛屽浜庨渶瑕�
+                  </div>
+                  <div class="groupList-right">
+                    <a-switch v-model="switchType"  checked-value="1" unchecked-value="0" @change="handleChangeStatus()"/>
+                  </div>
+                </div>
+
+              </a-checkbox-group>
+            </div>
+          </div>
+          <eidtDetails ref="eidtDil"></eidtDetails>
+        </a-tab-pane>
+      </a-tabs>
   </a-modal>
 </template>
 
@@ -79,8 +189,13 @@
 import { onMounted, onBeforeMount, reactive, ref, computed } from "vue";
 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'])
@@ -114,7 +229,6 @@
     '浠ヤ笂灏辨槸浣犻渶瑕佹�荤粨鐨勫唴瀹广��',
 });
 const formRef = ref(null);
-
 const rules = {
   prompt: [
     {
@@ -165,25 +279,17 @@
 const handleClick = () => {
   visible.value = true;
 };
-const handleBeforeOk = (done) => {
-  formRef.value.validate().then(res => {
-    console.log('form:', form)
-    if (!form.name) {
-      done(false)
-    }else {
-      console.log('璇锋眰鏁版嵁');
-
-    }
-  })
-};
 const handleCancel = () => {
   visible.value = false;
 }
 
+const contentClick = (done) => {
+  eidtDil.value.handleClick();
+}
 const handleOpened =(el) => {
-  console.log('props',props.kbtenantInfo);
-  console.log('props',props.item);
-  console.log('props',props.kbdetail);
+  // console.log('props',props.kbtenantInfo);
+  // console.log('props',props.item);
+  // console.log('props',props.kbdetail);
   console.log(parser_ids, 'parser_ids');
   // Object.assign(form,{
   //   name: '',// 鐢ㄦ埛鍚�
@@ -192,11 +298,69 @@
   //   txt: '',// 澶囨敞
   // });
   // formRef.value.resetFields();
+  console.log(props.item.id);
 }
+
 
 const onChangeRAPTOR = () => {
 
 };
+
+
+
+
+
+
+
+
+const indeterminate = ref(false)
+const checkedAll = ref(false)
+const data = ref([])
+const switchType = ref(false)
+const available_int = ref('')
+const onRadioChange = () => {
+  console.log(radio.value);
+
+
+
+};
+const handleChangeAll = (value) => {
+  indeterminate.value = false;
+  if (value) {
+    checkedAll.value = true;
+    data.value = ['1', '2', '3']
+  } else {
+    checkedAll.value = false;
+    data.value = []
+  }
+}
+
+const handleChange = (values) => {
+  if (values.length === 3) {
+    checkedAll.value = true
+    indeterminate.value = false;
+  } else if (values.length === 0) {
+    checkedAll.value = false
+    indeterminate.value = false;
+  } else {
+    checkedAll.value = false
+    indeterminate.value = true;
+  }
+}
+
+
+const groupListContentClick = (value) => {
+  keyBg.value = value;
+}
+
+
+const onChangeavailable = ()=>{
+  console.log(available_int.value);
+}
+
+const handleChangeStatus = ()=>{
+  console.log(switchType.value);
+}
 
 onBeforeMount(()=>{
 
@@ -207,11 +371,45 @@
 })
 </script>
 
-<script lang="ts">
-export default {
-  name: 'add',
-  methods: {
-
+<style scoped lang="less">
+.parser{
+  width: 100%;
+  ::v-deep .arco-btn-outline:hover, .arco-btn-outline, .arco-btn-outline[type='button']{
+    color: #2a2a2b;
+    border: 1px solid #2a2a2b;
   }
-};
-</script>
\ No newline at end of file
+  .button{
+    //color: #2a2a2b!important;
+  }
+}
+.groupMain{
+  width: 100%;
+  height: 500px;
+  overflow: auto;
+  display: flex;
+  justify-content: center;
+  .groupList{
+    display: flex;
+    padding: 24px;
+    border-radius: 8px;
+    //background: #eff8ff;
+    border: 1px solid #f0f0f0;
+    margin-bottom: 20px;
+    overflow: auto;
+    .groupList-content{
+      width: 700px;
+      //height: 100px;
+      overflow: auto;
+      box-sizing: border-box;
+      margin: 0;
+      padding: 0;
+      color: rgba(0, 0, 0, 0.88);
+      font-size: 14px;
+      font-family: Inter;
+      position: relative;
+
+
+    }
+  }
+}
+</style>
\ No newline at end of file

--
Gitblit v1.8.0