From 931533258051450ffb1b70d2bbddc8ce787f5e57 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 17 Jan 2024 16:26:57 +0800
Subject: [PATCH] 代码优化
---
src/views/article/components/deitDiscussion.vue | 237 ++++++++++++++++------------------------------------------
1 files changed, 66 insertions(+), 171 deletions(-)
diff --git a/src/views/article/components/deitDiscussion.vue b/src/views/article/components/deitDiscussion.vue
index 8d81e53..44369ec 100644
--- a/src/views/article/components/deitDiscussion.vue
+++ b/src/views/article/components/deitDiscussion.vue
@@ -10,38 +10,11 @@
-->
<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="50%" :before-close="userHandleClose">
- <avue-crud :data="userData" :page="userPage" :option="userOption"></avue-crud>
+ <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>
</el-dialog>
</div>
</template>
@@ -56,8 +29,12 @@
} from "@/api/discuss/publicDiscuss"
import {
- getPage
+ getPage,
+ remove
} from "@/api/discuss/userTopics"
+
+
+ import website from '@/config/website'
import {
@@ -66,7 +43,6 @@
getDetail,
add,
update,
- remove
} from "@/api/discuss/topics"
export default {
@@ -74,135 +50,56 @@
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,
+ searchLabelWidth: 96,
+ searchShow: true,
+ searchMenuSpan: 3,
+ // menuWidth: 500,
+
+ height: "auto",
+ calcHeight: 54,
+ dialogWidth: 950,
+ tip: false,
+ border: false,
+ //stripe:true,
+ index: true,
+ editBtn: false,
addBtn: false,
- menu: false,
+ viewBtn: false,
+ selection: true,
+ excelBtn: true,
+ dialogClickModal: false,
column: [{
label: '姓名',
- prop: 'name'
+ prop: 'name',
+ searchSpan: 4,
+ search: true,
}, {
label: '头像',
prop: 'avatar'
}, {
label: '手机',
- prop: 'phone'
+ prop: 'phone',
+ searchSpan: 4,
+ search: true,
}, {
label: '小区',
prop: 'aoiName'
}, {
label: '地址',
prop: 'addressName'
+ }, {
+ label: '签名',
+ type: 'upload',
+ listType: "picture-img",
+ prop: 'signaturePath'
}, {
label: '时间',
prop: 'createTime'
@@ -221,12 +118,31 @@
watch: {},
methods: {
+
+
+ userHandleClose() {
+
+ this.popupTableUserShow = false
+ },
+
+ searchReset() {
+ this.query = {}
+ this.getUserPage(this.userPage)
+ },
+
+ searchChange(params, done) {
+ this.query = params
+ this.userPage.currentPage = 1
+ this.getUserPage(this.userPage, params)
+ done()
+ },
initData(newData) {
this.editFlag = false
this.popupTableShow = true
this.articleId = newData.id
-
- this.onLoad()
+ this.query.level = 1
+ this.query.articleId = this.articleId
+ this.onLoad(this.userPage, this.query)
},
handleClose() {
@@ -301,8 +217,7 @@
return remove(row.id)
})
.then(() => {
- this.onLoad()
-
+ this.getUserPage(this.userPage)
this.$message({
type: "success",
message: "操作成功!"
@@ -319,28 +234,10 @@
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
-
+ this.query = {}
if (type == 0) {
this.userParams = {
articleId: row.id
@@ -362,19 +259,17 @@
if (item.avatar.length > 0) {
item.avatar = website.minioUrl + item.avatar
}
+ if (item.signaturePath && item.signaturePath.length > 0) {
+ item.signaturePath = website.minioUrl + item.signaturePath
+ // console.log("=====>", item.signaturePath)
+ }
})
})
},
- onLoad() {
+ onLoad(page, params = {}) {
this.loading = true
-
- let params = {
- level: 1,
- articleId: this.articleId
- }
-
- getLists(1, 100, Object.assign(params, this.query)).then(res => {
+ getLists(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
const data = res.data.data
this.data = data
this.loading = false
--
Gitblit v1.9.3