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