zhongrj
2023-12-28 54ba3b8e337ba812b49ac521ca0354bd217b672c
代码优化
3 files modified
228 ■■■■■ changed files
src/views/article/components/discussionManageChild.vue 171 ●●●●● patch | view | raw | blame | history
src/views/article/discussionManage.vue 1 ●●●● patch | view | raw | blame | history
src/views/article/publicSignUp.vue 56 ●●●●● patch | view | raw | blame | history
src/views/article/components/discussionManageChild.vue
@@ -1,13 +1,21 @@
<template>
  <basicContainer>
    <avue-crud :data="data" ref="crud" :table-loading="loading" @current-change="currentChange"
      @search-change="searchChange" @search-reset="searchReset" @size-change="sizeChange" :option="option"
      v-model="data" @selection-change="selectionChange" @row-save="rowSave" @row-del="rowDel"
      @refresh-change="refreshChange">
      :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset" @size-change="sizeChange"
      :option="option" v-model="form" @selection-change="selectionChange" @row-save="rowSave" @row-del="rowDel"
      @row-update="rowUpdate" @refresh-change="refreshChange">
      <template slot="menuLeft">
        <el-button type="primary" size="small" icon="el-icon-plus" v-if="data.length <= 0"
          @click="$refs.crud.rowAdd()">新增</el-button>
      </template>
      <template slot-scope="scope" slot="menu">
        <el-button type="text" icon="el-icon-edit" size="small" @click.stop="openEdit(scope.row,scope.index)">编辑
      <!--  <template slot="menuLeft">
        <el-button size="small" icon="el-icon-delete" plain v-if="permission.article_delete" @click="handleDelete">删 除
        </el-button>
      </template> -->
      <template slot-scope="scope" slot="menu">
        <!-- <el-button type="text" icon="el-icon-edit" size="small" @click.stop="openEdit(scope.row,scope.index)">编辑
        </el-button> -->
        <el-button type="primary" icon="el-icon-edit" size="small" @click.stop="openDilog(scope.row,scope.index)">编辑议题
        </el-button>
        <el-button type="primary" icon="el-icon-edit" size="small" @click.stop="openUser(scope.row,0)">参与用户
@@ -15,7 +23,7 @@
      </template>
    </avue-crud>
    <el-dialog title="" append-to-body :visible.sync="dialogVisibles" width="60%" :before-close="handleClose">
    <el-dialog title="" append-to-body :visible.sync="dialogVisibles" width="80%" :before-close="handleClose">
      <span slot="title" class="dialog-footer">
        {{ontitle}}
      </span>
@@ -25,7 +33,7 @@
        </avue-form>
      </div>
      <div id="">
      <div id="" v-if="!editFlag">
        <avue-crud :option="optionList" :data="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()">添加
@@ -49,14 +57,11 @@
        编辑议题
      </span>
      <div id="">
        <avue-form @submit="handleSubmitEdit" :option="optionDiscussEdit" v-model="discussForm"></avue-form>
        <avue-form @submit="handleSubmitEdit" :option="option" v-model="discussForm"></avue-form>
      </div>
    </el-dialog>
    <el-dialog title="" append-to-body :visible.sync="dialogVisiblesUser" width="50%" :before-close="userHandleClose">
      <!-- <span slot="title" class="dialog-footer">
        {{discussForm.ontitle}}
      </span> -->
      <avue-crud :data="userData" :page="pageUser" :option="option1" @on-load="getUser"></avue-crud>
    </el-dialog>
@@ -127,23 +132,7 @@
          currentPage: 1,
          total: 0
        },
        discussForm: {
          title: '',
          openFlag: 0,
          numberRestrictions: 0,
          voteRestrictions: 0,
          userRestrictions: 0,
          endTime: '',
          articleId: '',
          createTime: '',
          updateTime: '',
          deleteFlag: '',
          repeatVote: 0,
          voteNumberPublic: 0,
          appointUser: '',
          userIds: '',
          eventType: 1,
        },
        discussForm: {},
        dialogVisiblesEdit: false,
        dialogVisiblesUser: false,
        editFlag: false,
@@ -217,59 +206,6 @@
            },
          ]
        },
        optionDiscussEdit: {
          column: [{
              label: "",
              type: 'title',
              prop: "title",
              span: 24,
              row: true,
              offset: 2,
              styles: {
                fontSize: '24px'
              }
            }, {
              labelWidth: 100,
              label: '开启投票',
              prop: 'openFlag',
              type: 'radio',
              button: true,
              row: true,
              offset: 6,
              dicData: [{
                label: '开启',
                value: 0
              }, {
                label: '不开启',
                value: 1
              }]
            }, {
              labelWidth: 100,
              label: '开启签名',
              prop: 'signatureFlag',
              type: 'radio',
              button: true,
              row: true,
              offset: 6,
              dicData: [{
                label: '开启',
                value: 0
              }, {
                label: '不开启',
                value: 1
              }]
            },
            {
              label: "截止时间",
              row: true,
              offset: 6,
              prop: "endTime",
              type: "datetime",
              format: "yyyy-MM-dd hh:mm:ss",
              valueFormat: "timestamp",
            },
          ]
        },
        disCussFrom: {
          discussContent: '',
          optionRange: 0,
@@ -294,7 +230,6 @@
            parentId: '',
            level: '',
          }]
        },
        ontitle: '编辑议题',
        // 弹框标题
@@ -317,7 +252,25 @@
          total: 0
        },
        // 表单数据
        form: [],
        form: {
          title: '',
          openFlag: 0,
          numberRestrictions: 0,
          voteRestrictions: 0,
          userRestrictions: 0,
          endTime: '',
          articleId: '',
          createTime: '',
          updateTime: '',
          deleteFlag: '',
          repeatVote: 0,
          voteNumberPublic: 0,
          appointUser: '',
          userIds: '',
          eventType: 1,
          signatureFlag: 0,
          appointUser: 0
        },
        // 选择行
        selectionList: [],
        // 表单配置
@@ -327,8 +280,8 @@
          calcHeight: 54,
          align: 'center',
          menuAlign: 'center',
          // addBtn: false,
          editBtn: false,
          addBtn: false,
          // editBtn: false,
          searchMenuSpan: 3,
          // searchBtn: true,
          menuWidth: 500,
@@ -343,7 +296,7 @@
              label: '标题',
              prop: 'title',
              searchSpan: 4,
              disabled: true,
              // disabled: true,
            },
            {
              label: '参与人数',
@@ -356,6 +309,7 @@
              prop: 'openFlag',
              type: 'radio',
              button: true,
              value: 0,
              dicData: [{
                label: '开启',
                value: 0
@@ -385,6 +339,7 @@
                message: "请选择投票限制",
                trigger: "blur",
              }, ],
              value: 0
            }, {
              label: '签名',
              prop: 'signatureFlag',
@@ -402,6 +357,7 @@
                message: "请选择是否签名",
                trigger: "blur",
              }, ],
              value: 0
            }, {
              label: '指定用户',
              prop: 'appointUser',
@@ -419,6 +375,7 @@
                message: "请选择是否指定用户",
                trigger: "blur",
              }, ],
              value: 0
            },
            {
              label: "截止时间",
@@ -457,29 +414,31 @@
      }
    },
    methods: {
      rowSave(row) {
      rowSave(row, done, loading) {
        addPd(row).then(
          () => {
            this.onLoad(this.discussion);
            this.$message({
              type: "success",
              message: "操作成功!",
            })
            this.dialogVisibles = false
            done()
            });
            done();
          },
          (error) => {
            window.console.log(error)
            // loading();
            window.console.log(error);
            loading();
          }
        )
        );
      },
      init(data) {
        this.discussion = data
        // let row = {
        //   title: data.title
        // }
        // this.data.push(row)
        this.form.title = data.title
        this.form.articleId = data.id;
        this.onLoad(data)
      },
@@ -513,10 +472,10 @@
        this.dialogVisiblesEdit = true
      },
      // 提交修改
      handleSubmitEdit(form, done) {
      rowUpdate(row, index, done, loading) {
        done()
        if (!this.discussForm.id) {
          addPd(this.discussForm).then(() => {
        if (!row.id) {
          addPd(row).then(() => {
            this.dialogVisiblesEdit = false
            this.onLoad(this.discussion);
            this.$message({
@@ -525,7 +484,7 @@
            });
          });
        } else {
          updatePd(this.discussForm).then(() => {
          updatePd(row).then(() => {
            this.dialogVisiblesEdit = false
            this.onLoad(this.discussion);
            this.$message({
@@ -590,7 +549,7 @@
          const data = res.data.data;
          this.form = data;
          this.loading = false;
          this.selectionClear();
          // this.selectionClear();
        })
      },
@@ -603,6 +562,7 @@
              type: "success",
              message: "操作成功!",
            });
            form = {}
            this.editFlag = false
            let params = {
              level: 1,
@@ -690,6 +650,19 @@
            });
          });
      },
      beforeOpen(done, type) {
        if (["edit", "view"].includes(type)) {
          getDetailPd(this.form.id).then((res) => {
            let data = res.data.data
            this.form = data;
          });
        }
        if (["add"].includes(type)) {
          this.form.title = this.discussion.title;
          this.form.articleId = this.discussion.id;
        }
        done();
      },
      beforeClose(done) {
        done()
        this.form = {};
src/views/article/discussionManage.vue
@@ -10,7 +10,6 @@
      </template>
      <template slot-scope="{type,size,row }" slot="menu">
        <el-button icon="el-icon-circle-plus-outline" :size="size" :type="type" @click.stop="openDilog(row,1)">
          创建议题
        </el-button>
src/views/article/publicSignUp.vue
@@ -282,61 +282,7 @@
                }
              ],
            },
            {
              // labelWidth: 100,
              label: '开启投票',
              prop: 'openFlag',
              type: 'radio',
              button: true,
              // row: true,
              // offset: 6,
              dicData: [{
                label: '开启',
                value: 0
              }, {
                label: '不开启',
                value: 1
              }],
              rules: [{
                required: true,
                message: "请选开启状态",
                trigger: "blur",
              }, ],
            }, {
              // labelWidth: 100,
              label: '投票限制',
              prop: 'voteRestrictions',
              type: 'radio',
              button: true,
              // row: true,
              // offset: 6,
              dicData: [{
                label: '一人一票',
                value: 0
              }, {
                label: '一户一票',
                value: 1
              }],
              rules: [{
                required: true,
                message: "请选投票限制",
                trigger: "blur",
              }, ],
            },
            {
              label: "投票截止时间",
              // row: true,
              // offset: 6,
              prop: "endTime",
              type: "datetime",
              format: "yyyy-MM-dd hh:mm:ss",
              valueFormat: "timestamp",
              rules: [{
                required: true,
                message: "请选截止时间",
                trigger: "blur",
              }, ],
            },
            // {
            //   label: "视频",
            //   prop: "videoUrl",