From 61985d6f294a8db7d4a69ec05df2aaea9f52d802 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Tue, 16 Jan 2024 17:01:37 +0800
Subject: [PATCH] 物业评分
---
src/views/article/components/deitDiscussion.vue | 237 ++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 171 insertions(+), 66 deletions(-)
diff --git a/src/views/article/components/deitDiscussion.vue b/src/views/article/components/deitDiscussion.vue
index 44369ec..8d81e53 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>
- <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>
+ <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>
</div>
</template>
@@ -29,12 +56,8 @@
} from "@/api/discuss/publicDiscuss"
import {
- getPage,
- remove
+ getPage
} from "@/api/discuss/userTopics"
-
-
- import website from '@/config/website'
import {
@@ -43,6 +66,7 @@
getDetail,
add,
update,
+ remove
} from "@/api/discuss/topics"
export default {
@@ -50,56 +74,135 @@
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,
- viewBtn: false,
- selection: true,
- excelBtn: true,
- dialogClickModal: false,
+ menu: false,
column: [{
label: '姓名',
- prop: 'name',
- searchSpan: 4,
- search: true,
+ prop: 'name'
}, {
label: '头像',
prop: 'avatar'
}, {
label: '手机',
- prop: 'phone',
- searchSpan: 4,
- search: true,
+ prop: 'phone'
}, {
label: '小区',
prop: 'aoiName'
}, {
label: '地址',
prop: 'addressName'
- }, {
- label: '签名',
- type: 'upload',
- listType: "picture-img",
- prop: 'signaturePath'
}, {
label: '时间',
prop: 'createTime'
@@ -118,31 +221,12 @@
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.query.level = 1
- this.query.articleId = this.articleId
- this.onLoad(this.userPage, this.query)
+
+ this.onLoad()
},
handleClose() {
@@ -217,7 +301,8 @@
return remove(row.id)
})
.then(() => {
- this.getUserPage(this.userPage)
+ this.onLoad()
+
this.$message({
type: "success",
message: "操作成功!"
@@ -234,10 +319,28 @@
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
@@ -259,17 +362,19 @@
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(page, params = {}) {
+ onLoad() {
this.loading = true
- getLists(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+
+ let params = {
+ level: 1,
+ articleId: this.articleId
+ }
+
+ getLists(1, 100, Object.assign(params, this.query)).then(res => {
const data = res.data.data
this.data = data
this.loading = false
--
Gitblit v1.9.3