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