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