From ad0a536bd7534a8eaf477d41294de21c7d7b25df Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Thu, 21 Dec 2023 11:50:54 +0800
Subject: [PATCH] 维修基金审核
---
src/views/article/discussionManage.vue | 352 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 334 insertions(+), 18 deletions(-)
diff --git a/src/views/article/discussionManage.vue b/src/views/article/discussionManage.vue
index 35191ec..113ba42 100644
--- a/src/views/article/discussionManage.vue
+++ b/src/views/article/discussionManage.vue
@@ -11,19 +11,61 @@
</template>
<template slot-scope="scope" slot="menu">
- <el-button type="text" icon="el-icon-circle-plus-outline" size="small"
- @click.stop="openDilog(scope.row,scope.index)">编辑议题
+ <el-button type="text" icon="el-icon-edit" size="small" @click.stop="openEdit(scope.row,scope.index)">编辑
+ </el-button>
+ <el-button type="primary" icon="el-icon-edit" size="small" @click.stop="openDilog(scope.row,scope.index)">编辑议题
+ </el-button>
+ <el-button type="primary" icon="el-icon-edit" size="small" @click.stop="openUser(scope.row,0)">参与用户
</el-button>
</template>
</avue-crud>
- <el-dialog title="" append-to-body :visible.sync="dialogVisibles" width="50%" :before-close="handleClose">
+ <el-dialog title="" append-to-body :visible.sync="dialogVisibles" width="60%" :before-close="handleClose">
<span slot="title" class="dialog-footer">
{{ontitle}}
</span>
- <avue-form @submit="handleSubmit" :option="optionDiscuss" v-model="disCussFrom">
- </avue-form>
+
+ <div id="" v-if="editFlag">
+ <avue-form @submit="handleSubmit" :option="optionDiscuss" @reset-change="handleReset" v-model="disCussFrom">
+ </avue-form>
+ </div>
+
+ <div id="">
+ <avue-crud :option="optionList" :data="form" ref="crud" @row-save="rowSave" @row-update="rowUpdate"
+ @row-del="rowDel">
+ <template slot="menuLeft" v-if="!editFlag">
+ <el-button type="primary" size="small" plain icon="el-icon-circle-plus-outline" @click="add()">添加
+ </el-button>
+ </template>
+ <template #icon="scope">
+ <i :class="scope.row.icon" style="font-size:14px"></i>
+ </template>
+ <template #menu="{row,size}">
+ <el-button v-if="row.level === 1" :size="size" text type="primary" @click="edit(row)">编辑</el-button>
+ <el-button v-if="row.level === 1" :size="size" text type="danger" @click="deletes(row)">删除</el-button>
+ <el-button v-if="row.level === 2" :size="size" text type="primary" @click="openUser(row,1)">选择此项人数
+ :{{row.number}} 详情</el-button>
+ </template>
+ </avue-crud>
+ </div>
</el-dialog>
+
+ <el-dialog title="" append-to-body :visible.sync="dialogVisiblesEdit" width="50%" :before-close="editHandleClose">
+ <span slot="title" class="dialog-footer">
+ 编辑议题
+ </span>
+ <div id="">
+ <avue-form @submit="handleSubmitEdit" :option="optionDiscussEdit" v-model="discussForm"></avue-form>
+ </div>
+ </el-dialog>
+
+ <el-dialog title="" append-to-body :visible.sync="dialogVisiblesUser" width="50%" :before-close="userHandleClose">
+ <!-- <span slot="title" class="dialog-footer">
+ {{discussForm.ontitle}}
+ </span> -->
+ <avue-crud :data="userData" :page="pageUser" :option="option1" @on-load="getUser"></avue-crud>
+ </el-dialog>
+
</basicContainer>
</template>
@@ -37,12 +79,17 @@
} from "@/api/discuss/publicDiscuss";
import {
+ getLists,
getList,
getDetail,
add,
update,
remove
} from "@/api/discuss/topics";
+
+ import {
+ getPage
+ } from "@/api/discuss/userTopics";
import option from "@/option/discuss/publicDiscuss";
import {
@@ -55,7 +102,79 @@
export default {
data() {
return {
+ option1: {
+ addBtn: false,
+ menu: false,
+ column: [{
+ label: '姓名',
+ prop: 'name'
+ }, {
+ label: '头像',
+ prop: 'avatar'
+ }, {
+ label: '手机',
+ prop: 'phone'
+ }, {
+ label: '小区',
+ prop: 'aoiName'
+ }, {
+ label: '地址',
+ prop: 'addressName'
+ }, {
+ label: '时间',
+ prop: 'createTime'
+ }]
+ },
+ userParams: {},
+ // 分页信息
+ pageUser: {
+ pageSize: 10,
+ pageSizes: [10, 20, 30, 50, 100],
+ currentPage: 1,
+ total: 0
+ },
+ discussForm: {
+ title: '',
+ openFlag: 0,
+ numberRestrictions: 0,
+ voteRestrictions: 0,
+ userRestrictions: 0,
+ endTime: '',
+ articleId: '',
+ createTime: '',
+ updateTime: '',
+ deleteFlag: '',
+ repeatVote: 0,
+ voteNumberPublic: 0,
+ appointUser: '',
+ userIds: '',
+ eventType: 1,
+ },
+ dialogVisiblesEdit: false,
+ dialogVisiblesUser: false,
+ editFlag: false,
+ optionList: {
+ headerAlign: 'center',
+ align: 'center',
+ border: true,
+ addBtn: false,
+ editBtn: false,
+ delBtn: false,
+ defaultExpandAll: true,
+ rowKey: 'id',
+ rowParentKey: 'parentId',
+ column: [{
+ label: '标题',
+ prop: 'discussContent',
+ },
+ {
+ label: '选项内容',
+ prop: 'optionContent',
+ }
+ ]
+ },
optionDiscuss: {
+ emptyText: '取消',
column: [{
label: '议题',
prop: 'discussContent',
@@ -63,16 +182,16 @@
row: true,
}, {
label: '选项范围',
- prop: 'option',
+ prop: 'optionRange',
type: 'radio',
button: true,
row: true,
dicData: [{
label: '多选',
- value: 0
+ value: 1
}, {
label: '单选',
- value: 1
+ value: 0
}]
}, {
label: '排序',
@@ -103,11 +222,63 @@
}
},
]
-
+ },
+ optionDiscussEdit: {
+ column: [{
+ label: "",
+ type: 'title',
+ prop: "title",
+ span: 24,
+ row: true,
+ offset: 2,
+ styles: {
+ fontSize: '24px'
+ }
+ }, {
+ labelWidth: 100,
+ label: '开启投票',
+ prop: 'openFlag',
+ type: 'radio',
+ button: true,
+ row: true,
+ offset: 6,
+ dicData: [{
+ label: '开启',
+ value: 0
+ }, {
+ label: '不开启',
+ value: 1
+ }]
+ }, {
+ labelWidth: 100,
+ label: '开启签名',
+ prop: 'signatureFlag',
+ type: 'radio',
+ button: true,
+ row: true,
+ offset: 6,
+ dicData: [{
+ label: '开启',
+ value: 0
+ }, {
+ label: '不开启',
+ value: 1
+ }]
+ },
+ {
+ label: "截止时间",
+ row: true,
+ offset: 6,
+ prop: "endTime",
+ type: "datetime",
+ format: "yyyy-MM-dd hh:mm:ss",
+ valueFormat: "timestamp",
+ },
+ ]
},
disCussFrom: {
discussContent: '',
- option: 0,
+ optionRange: 0,
sort: 1,
optionContent: '',
optionDetail: '',
@@ -152,15 +323,53 @@
total: 0
},
// 表单数据
- form: {},
+ form: [],
// 选择行
selectionList: [],
// 表单配置
- option: option,
+ option: {
+ selection: true,
+ height: "auto",
+ calcHeight: 54,
+ align: 'center',
+ menuAlign: 'center',
+ addBtn: false,
+ editBtn: false,
+ searchMenuSpan: 3,
+ searchBtn: true,
+ menuWidth: 500,
+ column: [{
+ label: 'ID',
+ prop: 'id',
+ searchSpan: 4,
+ // search: true,
+ },
+ {
+ label: '标题',
+ prop: 'title',
+ searchSpan: 4,
+ search: true,
+ },
+ {
+ label: '参与人数',
+ prop: 'topsCount',
+ searchSpan: 4,
+ search: true,
+ },
+ {
+ label: '截止时间',
+ prop: 'endTime',
+ searchSpan: 4,
+ search: true,
+ }
+ ]
+ },
// 表单列表
data: [],
+ userData: [],
dataTop: [],
dialogVisibles: false,
+ publicDiscussId: '',
}
},
mounted() {
@@ -179,13 +388,112 @@
},
methods: {
+ openUser(row, type) {
+ console.table(row)
+ this.dialogVisiblesUser = true
+ if (type == 0) {
+ this.userParams = {
+ publicDiscussId: row.id
+ }
+ } else {
+ this.userParams = {
+ topicsId: row.id
+ }
+ }
+ this.getUserPage(this.pageUser, this.userParams)
+ },
+
+ getUserPage(page, params = {}) {
+ getPage(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+ const data = res.data.data;
+ this.pageUser.total = data.total;
+ this.userData = data.records;
+ });
+ },
+
+ openEdit(row) {
+ this.discussForm = row
+ let times = new Date(row.endTime).getTime();
+ this.discussForm.endTime = times
+ this.dialogVisiblesEdit = true
+ },
+ // 提交修改
+ handleSubmitEdit(form, done) {
+ done()
+ if (!this.discussForm.id) {
+ addPd(this.discussForm).then(() => {
+ this.dialogVisiblesEdit = false
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ });
+ });
+ } else {
+ updatePd(this.discussForm).then(() => {
+ this.dialogVisiblesEdit = false
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ });
+ })
+ }
+ },
+
+ deletes(row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(row.id);
+ })
+ .then(() => {
+ // this.onLoad(this.page);
+ this.dialogVisibles = false
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ });
+ });
+ },
+
+ handleClose() {
+ this.editFlag = false
+ this.dialogVisibles = false
+ this.disCussFrom = {}
+ },
+
+ edithandleClose() {
+ this.dialogVisiblesEdit = false
+ },
+
+ edit(row) {
+ this.disCussFrom = row
+ this.editFlag = true
+ },
+
+ add() {
+ this.editFlag = true
+ },
+
+ handleReset() {
+ this.editFlag = false
+ },
+
openDilog(row, type) {
this.dialogVisibles = true
this.loading = true;
- let params = {}
- getList(1, 100, Object.assign(params, this.query)).then(res => {
+ this.publicDiscussId = row.id
+ let params = {
+ level: 1,
+ publicDiscussId: row.id
+ }
+ getLists(1, 100, Object.assign(params, this.query)).then(res => {
const data = res.data.data;
- this.dataTop = data.records;
+ this.form = data;
this.loading = false;
this.selectionClear();
})
@@ -193,14 +501,22 @@
handleSubmit(form, done) {
done();
+ form.publicDiscussId = this.publicDiscussId
add(form).then(
() => {
this.$message({
type: "success",
message: "操作成功!",
});
- this.dialogVisibles = false
- done();
+ this.editFlag = false
+ let params = {
+ level: 1,
+ publicDiscussId: this.publicDiscussId
+ }
+ getLists(1, 100, Object.assign(params, this.query)).then(res => {
+ const data = res.data.data;
+ this.form = data;
+ })
},
(error) => {
window.console.log(error);
@@ -321,4 +637,4 @@
.el-pagination {
margin-top: 20px;
}
-</style>
+</style>
\ No newline at end of file
--
Gitblit v1.9.3