From f6ba464aa7856b8201e313fe79e651aab34e6509 Mon Sep 17 00:00:00 2001
From: zhangxiao <898441624@qq.com>
Date: 星期一, 05 八月 2024 10:25:44 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/web/flow_web

---
 src/views/session/sessionManager/components/addSession.vue |  124 ++++++++++++++++++++++++++++++-----------
 1 files changed, 91 insertions(+), 33 deletions(-)

diff --git a/src/views/session/sessionManager/components/addSession.vue b/src/views/session/sessionManager/components/addSession.vue
index 0a1c997..c46000c 100644
--- a/src/views/session/sessionManager/components/addSession.vue
+++ b/src/views/session/sessionManager/components/addSession.vue
@@ -1,40 +1,98 @@
 <script setup lang="ts">
-    import { defineProps ,ref,defineEmits} from 'vue';
-    import { Message } from '@arco-design/web-vue';
-    import { addSessionApi }from '@/api/session';
-    const props=defineProps({
-        modalObj:Object
-    });
-    const conversation_name=ref('');
-    const emit = defineEmits(['addSession']);
-    const handleOk=async ()=>{
-        if(conversation_name.value){
-            const {code}=await addSessionApi({conversation_name:conversation_name.value});
-            if(code===200){
-                Message.success('娣诲姞鎴愬姛');
-                emit('addSession')
-            }
-        }else{
-            Message.warning('浼氳瘽鍚嶇О涓嶈兘涓虹┖');
-        }
+  import { defineProps, ref, defineEmits, onMounted } from 'vue';
+  import { Message } from '@arco-design/web-vue';
+  import { addSessionApi, getDialogListApi } from '@/api/session';
+  const props = defineProps({
+    modalObj: Object,
+  });
+  const conversation = ref({ dialog_id: '', conversation_desc: '' });
+  const dialogList = ref([]);
+  const emit = defineEmits(['addSession']);
+  const queryDialogList = async () => {
+    const { code, data } = await getDialogListApi();
+    if (code === 200) {
+      dialogList.value = data;
     }
+  };
+
+  const rules = {
+    dialog_id: [
+      {
+        required: true,
+        message: '鏅鸿兘鍔╂墜涓嶈兘涓虹┖',
+      },
+    ],
+    conversation_desc: [
+      {
+        required: true,
+        message: '鎻忚堪涓嶈兘涓虹┖',
+      },
+    ],
+  };
+  onMounted(() => {
+    queryDialogList();
+  });
+  const formRef = ref();
+  const handleOk = () => {
+    formRef.value.validate().then(async (res) => {
+      if (!res) {
+        const { code } = await addSessionApi({ ...conversation.value });
+        if (code === 200) {
+          Message.success('娣诲姞鎴愬姛');
+          emit('addSession');
+          setTimeout(() => {
+            props.modalObj.add = false;
+          }, 500);
+        } else {
+          Message.warning('娣诲姞澶辫触');
+        }
+      }
+    });
+
+    return false;
+  };
+  const destroyData = () => {
+    formRef.value.resetFields();
+  };
 </script>
 
 <template>
-    <div>
-        <a-modal v-model:visible="modalObj.add" @ok="handleOk" @cancel="modalObj.add=false">
-            <template #title>
-                鏂板浼氳瘽
-            </template>
-            <a-form>
-                <a-form-item label="浼氳瘽鍚嶇О:">
-                    <a-input placeholder="璇疯緭鍏ヤ細璇濆悕绉�" v-model="conversation_name" style="width: 80%"></a-input>
-                </a-form-item>
-            </a-form>
-        </a-modal>
-    </div>
+  <div>
+    <a-modal
+      v-model:visible="modalObj.add"
+      @before-ok="handleOk"
+      @cancel="modalObj.add = false"
+      @before-close="destroyData"
+    >
+      <template #title> 鏂板浼氳瘽 </template>
+      <a-form ref="formRef" :model="conversation" :rules="rules">
+        <a-form-item label="鍔╂墜鍏宠仈:" field="dialog_id" @submit="handleSubmit">
+          <a-select
+            style="width: 80%"
+            v-model="conversation.dialog_id"
+            placeholder="璇烽�夋嫨鍏宠仈鍔╂墜"
+          >
+            <a-option
+              v-for="dialog in dialogList"
+              :key="dialog.id"
+              :value="dialog.id"
+              >{{ dialog.name }}</a-option
+            >
+          </a-select>
+        </a-form-item>
+        <a-form-item label="鎻忚堪:" field="conversation_desc">
+          <a-textarea
+            placeholder="璇疯緭鍏ユ弿杩�"
+            :max-length="100"
+            show-word-limit
+            :auto-size="{ minRows: 4, maxRows: 5 }"
+            v-model="conversation.conversation_desc"
+            style="width: 80%"
+          ></a-textarea>
+        </a-form-item>
+      </a-form>
+    </a-modal>
+  </div>
 </template>
 
-<style scoped lang="scss">
-
-</style>
+<style scoped lang="scss"></style>

--
Gitblit v1.8.0