From 8de4ae1388bdb487614fb3614e65f22a52b833c1 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Wed, 17 Jan 2024 19:05:02 +0800
Subject: [PATCH] Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/jczz_web
---
src/views/article/components/deitDiscussion.vue | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 163 insertions(+), 6 deletions(-)
diff --git a/src/views/article/components/deitDiscussion.vue b/src/views/article/components/deitDiscussion.vue
index 44369ec..9c45f1e 100644
--- a/src/views/article/components/deitDiscussion.vue
+++ b/src/views/article/components/deitDiscussion.vue
@@ -10,11 +10,38 @@
-->
<template>
<div>
+ <el-dialog title="" append-to-body :visible.sync="popupTableShow" width="80%" :before-close="handleClose">
+ <span slot="title" class="dialog-footer">
+ {{ ontitle }}
+ </span>
+ <div id="" v-if="editFlag">
+ <avue-form @submit="handleSubmit" :option="optionDiscuss" @reset-change="handleReset" v-model="disCussFrom">
+ </avue-form>
+ </div>
+
+ <div id="" v-if="!editFlag">
+ <avue-crud :table-loading="loading" :option="optionList" :data="data" v-model="form" ref="crud"
+ @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="popupTableUserShow" width="80%" :before-close="userHandleClose">
- <avue-crud :data="userData" @search-change="searchChange" @row-del="rowDel" @search-reset="searchReset"
- :page="userPage" :option="userOption"></avue-crud>
+ <avue-crud :data="userData" :page="userPage" :option="userOption"></avue-crud>
</el-dialog>
</div>
</template>
@@ -29,10 +56,8 @@
} from "@/api/discuss/publicDiscuss"
import {
- getPage,
- remove
+ getPage
} from "@/api/discuss/userTopics"
-
import website from '@/config/website'
@@ -43,6 +68,7 @@
getDetail,
add,
update,
+ remove
} from "@/api/discuss/topics"
export default {
@@ -50,11 +76,116 @@
return {
popupTableShow: false,
popupTableUserShow: false,
+
loading: true,
+
+ ontitle: '编辑议题',
+ editFlag: false,
+
+ disCussFrom: {
+ discussContent: '',
+ optionRange: 0,
+ sort: 1,
+ optionContent: '',
+ optionDetail: '',
+ number: '',
+ createTime: '',
+ updateTime: '',
+ deleteFlag: '',
+ articleId: '',
+ parentId: '',
+ level: '',
+ children: [{
+ optionContent: '',
+ optionDetail: '',
+ number: '',
+ createTime: '',
+ updateTime: '',
+ deleteFlag: '',
+ articleId: '',
+ parentId: '',
+ level: '',
+ }]
+ },
+ optionDiscuss: {
+ emptyText: '取消',
+ column: [{
+ label: '议题',
+ prop: 'discussContent',
+ type: 'input',
+ row: true,
+ },
+ {
+ label: '选项范围',
+ prop: 'optionRange',
+ type: 'radio',
+ button: true,
+ row: true,
+ dicData: [{
+ label: '多选',
+ value: 1
+ }, {
+ label: '单选',
+ value: 0
+ }]
+ },
+ {
+ label: '排序',
+ prop: 'sort',
+ controlsPosition: '',
+ type: 'number'
+ },
+ {
+ label: '选项内容',
+ prop: 'children',
+ type: 'dynamic',
+ span: 24,
+ children: {
+ column: [{
+ label: '选项标题',
+ prop: 'optionContent',
+ type: 'input',
+ rules: [{
+ required: true,
+ message: '请输入选项标题',
+ trigger: 'blur'
+ }]
+ }, {
+ label: '选项说明',
+ prop: 'optionDetail',
+ type: 'input',
+ }]
+ }
+ },
+ ]
+ },
+
// 表单数据
form: {},
data: [],
+ 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',
+ }
+ ]
+ },
+
articleId: '',
+
userData: [],
userOption: {
labelWidth: 96,
@@ -112,13 +243,13 @@
currentPage: 1,
total: 0
},
+ query: {},
}
},
watch: {},
methods: {
-
userHandleClose() {
@@ -144,6 +275,13 @@
this.query.articleId = this.articleId
this.onLoad(this.userPage, this.query)
},
+ // initData(newData) {
+ // this.editFlag = false
+ // this.popupTableShow = true
+ // this.articleId = newData.id
+
+ // this.onLoad()
+ // },
handleClose() {
this.popupTableShow = false
@@ -218,6 +356,7 @@
})
.then(() => {
this.getUserPage(this.userPage)
+
this.$message({
type: "success",
message: "操作成功!"
@@ -234,6 +373,24 @@
this.editFlag = true
},
+ deletes(row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ return remove(row.id)
+ })
+ .then(() => {
+ this.onLoad()
+
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ })
+ })
+ },
openUser(row, type = 0) {
this.popupTableUserShow = true
--
Gitblit v1.9.3