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/energyconservation/policyrule/components/EditModal.vue | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 116 insertions(+), 0 deletions(-) diff --git a/zhitan-vue/src/views/energyconservation/policyrule/components/EditModal.vue b/zhitan-vue/src/views/energyconservation/policyrule/components/EditModal.vue new file mode 100644 index 0000000..732084e --- /dev/null +++ b/zhitan-vue/src/views/energyconservation/policyrule/components/EditModal.vue @@ -0,0 +1,116 @@ +<template> + <el-dialog v-model="visible" :title="title" width="600" @close="handleClose"> + <el-form :model="form" ref="queryRef" :rules="formRules" label-width="120px" 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="dict in policy_sort" :key="dict.value" :label="dict.label" :value="dict.value" /> + </el-select> + </el-form-item> + <el-form-item label="鍗板彂閮ㄩ棬" prop="dept"> + <el-input v-model="form.dept" placeholder="璇疯緭鍏ュ嵃鍙戦儴闂�" /> + </el-form-item> + <el-form-item label="鍗板彂鏃堕棿" prop="issuingTime"> + <el-date-picker + v-model="form.issuingTime" + type="date" + placeholder="璇烽�夋嫨鍗板彂鏃堕棿" + format="YYYY-MM-DD" + date-format="YYYY/MM/DD" + /> + </el-form-item> + <el-form-item label="闄勪欢" prop="url"> + <FileUpload :limit="1" :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 { policyAdd, policyEdit } from "@/api/policy/policy" +const { proxy } = getCurrentInstance() +const { policy_sort } = proxy.useDict("policy_sort") + +let visible = ref(false) +let title = ref("") +let loading = ref(false) +let form = ref({ + title: "", + type: "", + url: "", +}) +const fileList = ref([]) +let emit = defineEmits(["get-list"]) +const formRules = { + title: [{ required: true, trigger: "blur", message: "璇疯緭鍏ユ枃浠舵爣棰�" }], + type: [{ required: true, trigger: "change", message: "璇烽�夋嫨鏂囦欢绫诲瀷" }], +} + +function submitForm() { + proxy.$refs.queryRef.validate((valid) => { + if (valid) { + loading.value = true + if (fileList.value.length > 0) { + form.value.url = fileList.value[0].fullUrl + } else { + form.value.url = "" + } + let obj = form.value.id ? policyEdit(form.value) : policyAdd(form.value) + obj + .then((res) => { + if (res.code == 200) { + proxy.$modal.msgSuccess(res.msg) + emit("get-list") + handleClose() + } else { + proxy.$modal.msgError(res.msg) + } + }) + .catch((err) => {}) + .finally(() => { + loading.value = false + }) + } + }) +} + +function handleOpen(row) { + fileList.value = [] + if (row && row.id) { + title.value = "缂栬緫鏀跨瓥娉曡" + form.value = JSON.parse(JSON.stringify(row)) + if (row.url) { + fileList.value = [ + { + url: row.url, + name: row.url, + }, + ] + } + } else { + title.value = "娣诲姞鏀跨瓥娉曡" + fileList.value = [] + } + visible.value = true +} + +function handleClose(value) { + visible.value = false + loading.value = false + proxy.$refs.queryRef.resetFields() + form.value = { + value1: "", + value2: "", + } +} + +defineExpose({ handleOpen }) +</script> + +<style lang="scss" scoped></style> -- Gitblit v1.9.3