From 7fa3671f5a04f6f4943d064bf05f491cff9d5576 Mon Sep 17 00:00:00 2001
From: ali <ali9696@163.com>
Date: 星期四, 23 一月 2025 15:48:02 +0800
Subject: [PATCH] 节能项目+政策法规

---
 zhitan-vue/src/views/energyconservation/policyrule/components/EditModal.vue |  158 ++++++++++++++++++++++++++++++----------------------
 1 files changed, 91 insertions(+), 67 deletions(-)

diff --git a/zhitan-vue/src/views/energyconservation/policyrule/components/EditModal.vue b/zhitan-vue/src/views/energyconservation/policyrule/components/EditModal.vue
index fc5f899..732084e 100644
--- a/zhitan-vue/src/views/energyconservation/policyrule/components/EditModal.vue
+++ b/zhitan-vue/src/views/energyconservation/policyrule/components/EditModal.vue
@@ -1,92 +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="limitName">
-                <el-input v-model="form.value1" placeholder="璇疯緭鍏ユ枃浠舵爣棰�" />
-            </el-form-item>
-            <el-form-item label="鏂囦欢绫诲埆">
-                <el-select v-model="form.value2" placeholder="璇烽�夋嫨">
-                    <el-option v-for="item in 6" :key="item" :label="item" :value="item">
-                    </el-option>
-                </el-select>
-            </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>
+  <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>
-const { proxy } = getCurrentInstance();
-
+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 title = ref("")
 let loading = ref(false)
 let form = ref({
-    value1: '',
-    value2: '',
+  title: "",
+  type: "",
+  url: "",
 })
-let emit = defineEmits(['get-list'])
+const fileList = ref([])
+let emit = defineEmits(["get-list"])
 const formRules = {
-    value1: [{ required: true, trigger: "blur", message: "璇疯緭鍏ユ枃浠舵爣棰�" }],
-    value2: [{ required: true, trigger: "change", message: "璇烽�夋嫨鏂囦欢绫诲瀷" }],
+  title: [{ required: true, trigger: "blur", message: "璇疯緭鍏ユ枃浠舵爣棰�" }],
+  type: [{ required: true, trigger: "change", message: "璇烽�夋嫨鏂囦欢绫诲瀷" }],
 }
 
 function submitForm() {
-    proxy.$refs.queryRef.validate(valid => {
-        if (valid) {
-            // loading.value = true;
-            // let obj = form.value.id ? alarmEdit(form.value) : alarmAdd(form.value)
-            // obj.then((res) => {
-            //     if (res.code == 200) {
-            //         proxy.$modal.msgSuccess(res.message);
-            //         emit('get-list')
-            //     } else {
-            //         proxy.$modal.msgError(res.message);
-            //     }
-
-            // }).catch((err) => {
-
-            // }).finally(() => {
-            //     handleClose()
-            // });
-        }
-    })
+  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) {
-    if (row && row.id) {
-        title.value = "缂栬緫鏀跨瓥娉曡"
-        form.value = JSON.parse(JSON.stringify(row))
-    } else {
-        title.value = "娣诲姞鏀跨瓥娉曡"
+  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,
+        },
+      ]
     }
-    visible.value = true
+  } 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: '',
-
-    }
+  visible.value = false
+  loading.value = false
+  proxy.$refs.queryRef.resetFields()
+  form.value = {
+    value1: "",
+    value2: "",
+  }
 }
 
 defineExpose({ handleOpen })
-
 </script>
 
-
-
-<style lang="scss" scoped></style>
\ No newline at end of file
+<style lang="scss" scoped></style>

--
Gitblit v1.9.3