From 5e2aafeede13d337380f736567caf74f49713be7 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 09 Aug 2024 14:38:32 +0800
Subject: [PATCH] 代码优化
---
src/views/article/discussionManage.vue | 141 +++++++++++++++++++++++++++++++++++------------
1 files changed, 105 insertions(+), 36 deletions(-)
diff --git a/src/views/article/discussionManage.vue b/src/views/article/discussionManage.vue
index 433e7f2..f8616eb 100644
--- a/src/views/article/discussionManage.vue
+++ b/src/views/article/discussionManage.vue
@@ -19,8 +19,19 @@
编辑议题
</el-button>
- <el-button icon="el-icon-user" :size="size" :type="type" @click.stop="openUserPopup(row, 1)">
+ <el-button icon="el-icon-user" :size="size" v-if="row.articleType != 4" :type="type"
+ @click.stop="openUserPopup(row, 0)">
参与用户
+ </el-button>
+
+ <el-button icon="el-icon-user" v-if="row.articleType == 4" :size="size" :type="type"
+ @click.stop="handleExport(row)">
+ 导出投票
+ </el-button>
+
+ <el-button icon="el-icon-user" v-if="row.articleType == 4 && row.publish == '1'" :size="size" :type="type"
+ @click.stop="lookVotingStatistics(row,'业主大会统计')">
+ 查看投票
</el-button>
<el-button v-if="row.publish == '1'" icon="el-icon-close" :size="size" :type="type" @click.stop="updateFb(row)">
@@ -38,8 +49,9 @@
</template>
<template slot-scope="{ row, size }" slot="iscomment">
- <el-tag :size="size" :type="showStatus(row.iscomment, 2).type" v-text="showStatus(row.iscomment, 2).text">
- </el-tag>
+ <el-switch @change="iscommentInput($event, row)" v-model="row.iscomment" :active-value="'1'"
+ :inactive-value="'0'" active-color="#13ce66" inactive-color="#ccc">
+ </el-switch>
</template>
</avue-crud>
@@ -47,6 +59,8 @@
</deitDiscussion>
<discussionManageChild ref="discussionManageChild" />
+
+ <votingStatistics ref="votingStatistics" />
</basic-container>
</template>
@@ -78,11 +92,28 @@
} from "vuex"
import deitDiscussion from "./components/deitDiscussion"
import discussionManageChild from "./components/discussionManageChild"
+ import votingStatistics from "./components/votingStatistics"
+ import NProgress from 'nprogress'
+ import 'nprogress/nprogress.css'
+ import Qs from "qs"
+ import {
+ exportBlob
+ } from "@/api/common"
+ import {
+ getToken
+ } from '@/util/auth'
+ import {
+ downloadXls
+ } from "@/util/util"
+ import {
+ dateNow
+ } from "@/util/date"
export default {
components: {
deitDiscussion,
discussionManageChild,
+ votingStatistics
},
data() {
@@ -156,6 +187,7 @@
minRows: 2,
tags: true,
type: "tree",
+ dataType: "string",
multiple: true,
dicData: [],
rules: [{
@@ -167,13 +199,12 @@
label: "name",
value: 'id'
},
- hide: true,
+ // hide: true,
},
{
width: 110,
label: "封面",
prop: "url",
- // align:'center',
type: "upload",
listType: "picture-img",
action: "/api/blade-resource/oss/endpoint/put-file",
@@ -181,12 +212,11 @@
res: "data",
url: "link",
},
- // hide: true,
span: 24,
},
{
width: 110,
- label: "文章类型",
+ label: "议事类型",
prop: "articleType",
addDisplay: true,
editDisplay: true,
@@ -202,26 +232,7 @@
type: "tree",
rules: [{
required: true,
- message: "请选择文章类型",
- trigger: "blur",
- }, ],
- },
- {
- label: "发布时间",
- prop: "dateTime",
- type: "daterange",
- format: "yyyy-MM-dd",
- valueFormat: "yyyy-MM-dd",
- searchSpan: 6,
- searchRange: true,
- hide: true,
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- search: true,
- rules: [{
- required: true,
- message: "请选择发布时间",
+ message: "请选择议事类型",
trigger: "blur",
}, ],
},
@@ -232,6 +243,10 @@
type: "date",
format: "yyyy-MM-dd",
valueFormat: "yyyy-MM-dd HH:mm:ss",
+ search: true,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
},
{
width: 100,
@@ -483,12 +498,63 @@
}
},
methods: {
- openEditPopup(row) {
- this.$refs.DeitDiscussion.initData(row)
+
+ lookVotingStatistics(row, name) {
+ this.$router.push({
+ path: `/myiframe/urlPath?name=preview-${name}&src=${this.website.reportUrl}/view/965861526961414144?articleId=${row.id}`
+ })
},
- openUserPopup(row) {
- this.$refs.DeitDiscussion.openUser(row)
+ handleExport(row) {
+ this.$confirm("是否导出投票结果数据?", "提示", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ }).then(() => {
+ NProgress.start()
+ this.query = {}
+ this.query.articleId = row.id
+ this.query.districtId = row.articleRange
+ var data = {
+ ...this.query
+ }
+ data = Qs.stringify(data)
+ exportBlob(
+ `/api/blade-userTopics/userTopics/exportDataIndex?${this.website.tokenHeader}=${getToken()}&` + data)
+ .then(
+ res => {
+ downloadXls(res.data, `投票结果${dateNow()}.xlsx`)
+ NProgress.done()
+ })
+ })
+ },
+ iscommentInput(e, data) {
+ upcomment(data.id, e).then(() => {
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ })
+ },
+
+ openEditPopup(row) {
+ getListPd(1, 10, {
+ eventType: 1,
+ articleId: row.id
+ }).then(res => {
+ if (res.data.data.records.length == 0) {
+ this.$message.warning('请先设置议事规则!')
+ setTimeout(() => {
+ this.openDilog(row, 1)
+ }, 200)
+ } else {
+ this.$refs.DeitDiscussion.initData(row)
+ }
+ })
+ },
+
+ openUserPopup(row, type) {
+ this.$refs.DeitDiscussion.openUser(row, type)
},
openDilog(row, type) {
@@ -503,7 +569,7 @@
row.videoUrl = ""
}
row.userid = this.userInfo.user_id
- row.articleRange = JSON.stringify(row.articleList)
+ row.articleRange = row.articleList
if (row.url.length > 0) {
var urls = []
var split = row.url.split(",")
@@ -515,7 +581,7 @@
}
// 类型 0:文章 1经营性收支,2:物业招标 3:公益报名 4:选举调查
row.type = 4
- row.publish = 1
+ // row.publish = 1
add(row).then(
() => {
@@ -533,7 +599,7 @@
)
},
rowUpdate(row, index, done, loading) {
- row.articleRange = JSON.stringify(row.articleList)
+ row.articleRange = row.articleList
if (row.url.length > 0) {
var urls = []
var split = row.url.split(",")
@@ -631,7 +697,7 @@
// })
this.form = {
...data,
- articleList: JSON.parse(data.articleRange)
+ articleList: data.articleRange
}
})
}
@@ -671,6 +737,7 @@
this.page.total = data.total
this.data = data.records
this.data.forEach(item => {
+ item.articleList = item.articleRange
if (item.url.length > 0) {
var urls = []
var names = item.url.split(",")
@@ -683,7 +750,9 @@
this.loading = false
this.selectionClear()
})
- getDistrictTree(params = {}).then((res) => {
+ getDistrictTree(params = {
+ filterFlag: 1
+ }).then((res) => {
const data = res.data.data
this.districtTree = data
const column = this.findObject(this.option.column, "articleList")
--
Gitblit v1.9.3