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