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