From c99b4166febfde47d5b350d30bac443a11de42f5 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 31 十月 2025 15:11:21 +0800
Subject: [PATCH] 协同审批-添加导出功能
---
src/views/system/notice/index.vue | 157 +++++++++++++++++++++++++---------------------------
1 files changed, 75 insertions(+), 82 deletions(-)
diff --git a/src/views/system/notice/index.vue b/src/views/system/notice/index.vue
index d527eec..8043db0 100644
--- a/src/views/system/notice/index.vue
+++ b/src/views/system/notice/index.vue
@@ -1,12 +1,12 @@
<template>
<div class="app-container">
- <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
+ <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch">
<el-form-item label="鍏憡鏍囬" prop="noticeTitle">
<el-input
v-model="queryParams.noticeTitle"
placeholder="璇疯緭鍏ュ叕鍛婃爣棰�"
clearable
- size="small"
+ style="width: 200px"
@keyup.enter="handleQuery"
/>
</el-form-item>
@@ -15,11 +15,12 @@
v-model="queryParams.createBy"
placeholder="璇疯緭鍏ユ搷浣滀汉鍛�"
clearable
+ style="width: 200px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="绫诲瀷" prop="noticeType">
- <el-select v-model="queryParams.noticeType" placeholder="鍏憡绫诲瀷" clearable size="small">
+ <el-select v-model="queryParams.noticeType" placeholder="鍏憡绫诲瀷" clearable style="width: 200px">
<el-option
v-for="dict in sys_notice_type"
:key="dict.value"
@@ -29,8 +30,8 @@
</el-select>
</el-form-item>
<el-form-item>
- <el-button type="primary" icon="Search" size="mini" @click="handleQuery">鎼滅储</el-button>
- <el-button icon="Refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+ <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button>
+ <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button>
</el-form-item>
</el-form>
@@ -40,7 +41,6 @@
type="primary"
plain
icon="Plus"
- size="mini"
@click="handleAdd"
v-hasPermi="['system:notice:add']"
>鏂板</el-button>
@@ -50,7 +50,6 @@
type="success"
plain
icon="Edit"
- size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:notice:edit']"
@@ -61,7 +60,6 @@
type="danger"
plain
icon="Delete"
- size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:notice:remove']"
@@ -97,20 +95,8 @@
</el-table-column>
<el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
<template #default="scope">
- <el-button
- size="mini"
- type="text"
- icon="Edit"
- @click="handleUpdate(scope.row)"
- v-hasPermi="['system:notice:edit']"
- >淇敼</el-button>
- <el-button
- size="mini"
- type="text"
- icon="Delete"
- @click="handleDelete(scope.row)"
- v-hasPermi="['system:notice:remove']"
- >鍒犻櫎</el-button>
+ <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:notice:edit']">淇敼</el-button>
+ <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['system:notice:remove']" >鍒犻櫎</el-button>
</template>
</el-table-column>
</el-table>
@@ -150,19 +136,14 @@
<el-radio
v-for="dict in sys_notice_status"
:key="dict.value"
- :label="dict.value"
+ :value="dict.value"
>{{ dict.label }}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="鍐呭">
- <el-input
- :rows="6"
- type="textarea"
- placeholder="璇疯緭鍏ュ唴瀹�"
- v-model="form.noticeContent"
- />
+ <editor v-model="form.noticeContent" :min-height="192"/>
</el-form-item>
</el-col>
</el-row>
@@ -178,20 +159,21 @@
</template>
<script setup name="Notice">
-import { listNotice, getNotice, delNotice, addNotice, updateNotice } from "@/api/system/notice";
+import { listNotice, getNotice, delNotice, addNotice, updateNotice } from "@/api/system/notice"
+import {onMounted} from "vue";
-const { proxy } = getCurrentInstance();
-const { sys_notice_status, sys_notice_type } = proxy.useDict("sys_notice_status", "sys_notice_type");
+const { proxy } = getCurrentInstance()
+const { sys_notice_status, sys_notice_type } = proxy.useDict("sys_notice_status", "sys_notice_type")
-const noticeList = ref([]);
-const open = ref(false);
-const loading = ref(true);
-const showSearch = ref(true);
-const ids = ref([]);
-const single = ref(true);
-const multiple = ref(true);
-const total = ref(0);
-const title = ref("");
+const noticeList = ref([])
+const open = ref(false)
+const loading = ref(true)
+const showSearch = ref(true)
+const ids = ref([])
+const single = ref(true)
+const multiple = ref(true)
+const total = ref(0)
+const title = ref("")
const data = reactive({
form: {},
@@ -206,24 +188,26 @@
noticeTitle: [{ required: true, message: "鍏憡鏍囬涓嶈兘涓虹┖", trigger: "blur" }],
noticeType: [{ required: true, message: "鍏憡绫诲瀷涓嶈兘涓虹┖", trigger: "change" }]
},
-});
+})
-const { queryParams, form, rules } = toRefs(data);
+const { queryParams, form, rules } = toRefs(data)
/** 鏌ヨ鍏憡鍒楄〃 */
function getList() {
- loading.value = true;
+ loading.value = true
listNotice(queryParams.value).then(response => {
- noticeList.value = response.rows;
- total.value = response.total;
- loading.value = false;
- });
+ noticeList.value = response.rows
+ total.value = response.total
+ loading.value = false
+ })
}
+
/** 鍙栨秷鎸夐挳 */
function cancel() {
- open.value = false;
- reset();
+ open.value = false
+ reset()
}
+
/** 琛ㄥ崟閲嶇疆 */
function reset() {
form.value = {
@@ -232,71 +216,80 @@
noticeType: undefined,
noticeContent: undefined,
status: "0"
- };
- proxy.resetForm("noticeRef");
+ }
+ proxy.resetForm("noticeRef")
}
+
/** 鎼滅储鎸夐挳鎿嶄綔 */
function handleQuery() {
- queryParams.value.pageNum = 1;
- getList();
+ queryParams.value.pageNum = 1
+ getList()
}
+
/** 閲嶇疆鎸夐挳鎿嶄綔 */
function resetQuery() {
- proxy.resetForm("queryRef");
- handleQuery();
+ proxy.resetForm("queryRef")
+ handleQuery()
}
+
/** 澶氶�夋閫変腑鏁版嵁 */
function handleSelectionChange(selection) {
- ids.value = selection.map(item => item.noticeId);
- single.value = selection.length != 1;
- multiple.value = !selection.length;
+ ids.value = selection.map(item => item.noticeId)
+ single.value = selection.length != 1
+ multiple.value = !selection.length
}
+
/** 鏂板鎸夐挳鎿嶄綔 */
function handleAdd() {
- reset();
- open.value = true;
- title.value = "娣诲姞鍏憡";
+ reset()
+ open.value = true
+ title.value = "娣诲姞鍏憡"
}
+
/**淇敼鎸夐挳鎿嶄綔 */
function handleUpdate(row) {
- reset();
- const noticeId = row.noticeId || ids.value;
+ reset()
+ const noticeId = row.noticeId || ids.value
getNotice(noticeId).then(response => {
- form.value = response.data;
- open.value = true;
- title.value = "淇敼鍏憡";
- });
+ form.value = response.data
+ open.value = true
+ title.value = "淇敼鍏憡"
+ })
}
+
/** 鎻愪氦鎸夐挳 */
function submitForm() {
proxy.$refs["noticeRef"].validate(valid => {
if (valid) {
if (form.value.noticeId != undefined) {
updateNotice(form.value).then(response => {
- proxy.$modal.msgSuccess("淇敼鎴愬姛");
- open.value = false;
- getList();
- });
+ proxy.$modal.msgSuccess("淇敼鎴愬姛")
+ open.value = false
+ getList()
+ })
} else {
addNotice(form.value).then(response => {
- proxy.$modal.msgSuccess("鏂板鎴愬姛");
- open.value = false;
- getList();
- });
+ proxy.$modal.msgSuccess("鏂板鎴愬姛")
+ open.value = false
+ getList()
+ })
}
}
- });
+ })
}
+
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
function handleDelete(row) {
const noticeIds = row.noticeId || ids.value
proxy.$modal.confirm('鏄惁纭鍒犻櫎鍏憡缂栧彿涓�"' + noticeIds + '"鐨勬暟鎹」锛�').then(function() {
- return delNotice(noticeIds);
+ return delNotice(noticeIds)
}).then(() => {
- getList();
- proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(() => {});
+ getList()
+ proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛")
+ }).catch(() => {})
}
-getList();
+onMounted(() => {
+ getList();
+});
</script>
--
Gitblit v1.9.3