linwe
2023-12-18 af37ee88ef6d9647fa2b368271dcf53f656ea4fa
src/views/article/discussionManage.vue
@@ -33,7 +33,7 @@
      <div id="">
        <avue-crud :option="optionList" :data="form" ref="crud" @row-save="rowSave" @row-update="rowUpdate"
          @row-del="rowDel">
          <template slot="menuLeft">
          <template slot="menuLeft" v-if="!editFlag">
            <el-button type="primary" size="small" plain icon="el-icon-circle-plus-outline" @click="add()">添加
            </el-button>
          </template>
@@ -41,7 +41,7 @@
            <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="openDilog(row)">编辑</el-button>
            <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>
@@ -50,16 +50,12 @@
      </div>
    </el-dialog>
    <el-dialog title="" append-to-body :visible.sync="dialogVisiblesEdit" width="50%" :before-close="editHandleClose">
      <span slot="title" class="dialog-footer">
        编辑议题
      </span>
      <div id="">
        <avue-form @submit="handleSubmitEdit" :option="optionDiscuss" v-model="discussForm"></avue-form>
        <avue-form @submit="handleSubmitEdit" :option="optionDiscussEdit" v-model="discussForm"></avue-form>
      </div>
    </el-dialog>
@@ -67,7 +63,7 @@
      <!-- <span slot="title" class="dialog-footer">
        {{discussForm.ontitle}}
      </span> -->
      <avue-crud :data="data" :option="option1"></avue-crud>
      <avue-crud :data="userData" :page="pageUser" :option="option1" @on-load="getUser"></avue-crud>
    </el-dialog>
  </basicContainer>
@@ -91,6 +87,10 @@
    remove
  } from "@/api/discuss/topics";
  import {
    getPage
  } from "@/api/discuss/userTopics";
  import option from "@/option/discuss/publicDiscuss";
  import {
    mapGetters
@@ -103,27 +103,35 @@
    data() {
      return {
        option1: {
          addBtn:false,
          addBtn: false,
          menu: false,
          column: [{
            label: '姓名',
            prop: 'name'
          }, {
            label: '昵称',
            prop: 'sex'
            label: '头像',
            prop: 'avatar'
          }, {
            label: '手机',
            prop: 'sex'
            prop: 'phone'
          }, {
            label: '小区',
            prop: 'sex'
            prop: 'aoiName'
          }, {
            label: '地址',
            prop: 'sex'
            prop: 'addressName'
          }, {
            label: '时间',
            prop: 'createTime'
          }]
        },
        userParams: {},
        // 分页信息
        pageUser: {
          pageSize: 10,
          pageSizes: [10, 20, 30, 50, 100],
          currentPage: 1,
          total: 0
        },
        discussForm: {
          title: '',
@@ -180,10 +188,10 @@
              row: true,
              dicData: [{
                label: '多选',
                value: 0
                value: 1
              }, {
                label: '单选',
                value: 1
                value: 0
              }]
            }, {
              label: '排序',
@@ -215,7 +223,7 @@
            },
          ]
        },
        optionDiscuss: {
        optionDiscussEdit: {
          column: [{
              label: "",
              // labelWidth: 20,
@@ -404,11 +412,49 @@
        // 选择行
        selectionList: [],
        // 表单配置
        option: option,
        option: {
          selection: true,
          height: "auto",
          calcHeight: 54,
          align: 'center',
          menuAlign: 'center',
          addBtn: false,
          editBtn: false,
          searchMenuSpan: 3,
          searchBtn: true,
          menuWidth: 500,
          column: [{
              label: 'ID',
              prop: 'id',
              searchSpan: 4,
              // search: true,
            },
            {
              label: '标题',
              prop: 'title',
              searchSpan: 4,
              search: true,
            },
            {
              label: '参与人数',
              prop: 'topsCount',
              searchSpan: 4,
              search: true,
            },
            {
              label: '截止时间',
              prop: 'endTime',
              searchSpan: 4,
              search: true,
            }
          ]
        },
        // 表单列表
        data: [],
        userData:[],
        dataTop: [],
        dialogVisibles: false,
        publicDiscussId: '',
      }
    },
    mounted() {
@@ -428,7 +474,26 @@
    methods: {
      openUser(row, type) {
        console.table(row)
        this.dialogVisiblesUser = true
        if (type == 0) {
          this.userParams = {
            publicDiscussId: row.id
          }
        } else {
          this.userParams = {
            topicsId: row.id
          }
        }
        this.getUserPage(this.pageUser, this.userParams)
      },
      getUserPage(page, params = {}) {
        getPage(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
          const data = res.data.data;
          this.pageUser.total = data.total;
          this.userData = data.records;
        });
      },
      openEdit(row) {
@@ -506,9 +571,10 @@
      openDilog(row, type) {
        this.dialogVisibles = true
        this.loading = true;
        // this.disCussFrom.publicDiscussId = row.id
        this.publicDiscussId = row.id
        let params = {
          level: 1
          level: 1,
          publicDiscussId: row.id
        }
        getLists(1, 100, Object.assign(params, this.query)).then(res => {
          const data = res.data.data;
@@ -520,6 +586,7 @@
      handleSubmit(form, done) {
        done();
        form.publicDiscussId = this.publicDiscussId
        add(form).then(
          () => {
            this.$message({
@@ -528,7 +595,8 @@
            });
            this.editFlag = false
            let params = {
              level: 1
              level: 1,
              publicDiscussId: this.publicDiscussId
            }
            getLists(1, 100, Object.assign(params, this.query)).then(res => {
              const data = res.data.data;