From 06d3d15a5a08637041cc601101c063b11b07a346 Mon Sep 17 00:00:00 2001 From: net <net@netdeMBP.lan> Date: 星期五, 14 二月 2025 17:25:21 +0800 Subject: [PATCH] 合并理去杀杀人 --- zhitan-vue/src/views/policy/knowledgebase/components/EditModal.vue | 129 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 129 insertions(+), 0 deletions(-) diff --git a/zhitan-vue/src/views/policy/knowledgebase/components/EditModal.vue b/zhitan-vue/src/views/policy/knowledgebase/components/EditModal.vue new file mode 100644 index 0000000..a644d2d --- /dev/null +++ b/zhitan-vue/src/views/policy/knowledgebase/components/EditModal.vue @@ -0,0 +1,129 @@ +<template> + <el-dialog v-model="visible" :title="title" width="600" @close="handleClose"> + <el-form :model="form" ref="queryRef" :rules="formRules" label-width="100px" v-loading="loading"> + <el-form-item label="鏍囬" prop="title"> + <el-input v-model="form.title" placeholder="璇疯緭鍏ユ爣棰�" /> + </el-form-item> + <el-form-item label="鑳芥簮绫诲瀷" prop="type"> + <el-select v-model="form.type" placeholder="璇烽�夋嫨" style="width: 100%;"> + <el-option v-for="(item, index) in props.types" :key="index" :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鍐呭" prop="content"> + <el-input v-model="form.content" placeholder="璇疯緭鍏ュ唴瀹�" /> + </el-form-item> + <el-form-item label="闄勪欢" prop="url"> + <FileUpload + :modelValue="fileList" + @update:modelValue="val => fileList = val" + ></FileUpload> + </el-form-item> + </el-form> + <div slot="footer" class="text-right"> + <el-button type="primary" @click="submitForm" :loading="loading">纭� 瀹�</el-button> + <el-button @click="handleClose">鍙� 娑�</el-button> + </div> + </el-dialog> +</template> + +<script setup> +import { knowledgeBaseAdd, knowledgeBaseEdit } from '@/api/policy/knowledgeBase' +const { proxy } = getCurrentInstance(); +let props = defineProps(['types']) + + +let visible = ref(false) +let title = ref('') +let loading = ref(false) +let form = ref({ + title: '', + content: '', + type: null, + url:[] +}) +let fileList=ref([]) +let emit = defineEmits(['getList']) +const formRules = { + title: [{ required: true, trigger: "blur", message: "璇疯緭鍏ユ爣棰�" }], + type: [{ required: true, trigger: "change", message: "璇烽�夋嫨鑳芥簮绫诲瀷" }], + content: [{ required: true, trigger: "blur", message: "璇疯緭鍏ュ唴瀹�" }], +} + +function submitForm() { + proxy.$refs.queryRef.validate(valid => { + if (valid) { + loading.value = true; + form.value.url=[] + for(let i=0;i<fileList.value.length;i++){ + form.value.url.push(fileList.value[i].url) + } + let obj = form.value.id ? knowledgeBaseEdit(form.value) : knowledgeBaseAdd(form.value) + obj.then((res) => { + if (res.code == 200) { + proxy.$modal.msgSuccess(res.msg); + emit('getList') + } else { + proxy.$modal.msgError(res.msg); + } + + }).catch((err) => { + + }).finally(() => { + handleClose() + }); + } + }) +} + + + + + +function handleOpen(row) { + debugger + fileList.value=[] + if (row && row.id) { + title.value = "缂栬緫鐭ヨ瘑搴�" + form.value = JSON.parse(JSON.stringify(row)) + let fileItem={ + name:'', + url:'' + } + let files=[] + if(row.url && row.url.length){ + for(let i=0;i<row.url.length;i++){ + fileItem.url=row.url[i] + fileItem.name=row.url[i] + console.log(fileItem) + files.push(JSON.parse(JSON.stringify(fileItem)) ) + } + fileList.value=files + console.log(fileList.value) + } + } else { + title.value = "娣诲姞鐭ヨ瘑搴�" + } + visible.value = true +} + +function handleClose(value) { + visible.value = false + loading.value = false + proxy.$refs.queryRef.resetFields() + form.value = { + title: '', + content: '', + type: null, + url:[] + } +} + +defineExpose({ handleOpen }) + +</script> + + + +<style lang="scss" scoped></style> -- Gitblit v1.9.3