| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | </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> |
| | | |
| | |
| | | <!-- <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> |
| | |
| | | remove |
| | | } from "@/api/discuss/topics"; |
| | | |
| | | import { |
| | | getPage |
| | | } from "@/api/discuss/userTopics"; |
| | | |
| | | import option from "@/option/discuss/publicDiscuss"; |
| | | import { |
| | | mapGetters |
| | |
| | | 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: '', |
| | |
| | | row: true, |
| | | dicData: [{ |
| | | label: '多选', |
| | | value: 0 |
| | | value: 1 |
| | | }, { |
| | | label: '单选', |
| | | value: 1 |
| | | value: 0 |
| | | }] |
| | | }, { |
| | | label: '排序', |
| | |
| | | }, |
| | | ] |
| | | }, |
| | | optionDiscuss: { |
| | | optionDiscussEdit: { |
| | | column: [{ |
| | | label: "", |
| | | // labelWidth: 20, |
| | | type: 'title', |
| | | prop: "title", |
| | | span: 24, |
| | | row: true, |
| | | offset: 2, |
| | | styles: { |
| | | // color: 'red', |
| | | fontSize: '24px' |
| | | } |
| | | }, { |
| | |
| | | }] |
| | | }, { |
| | | labelWidth: 100, |
| | | label: '多房屋可重复', |
| | | prop: 'repeatVote', |
| | | label: '开启签名', |
| | | prop: 'signatureFlag', |
| | | type: 'radio', |
| | | button: true, |
| | | row: true, |
| | | offset: 6, |
| | | dicData: [{ |
| | | label: '不可以', |
| | | label: '开启', |
| | | value: 0 |
| | | }, { |
| | | label: '可以', |
| | | label: '不开启', |
| | | value: 1 |
| | | }] |
| | | }, { |
| | | labelWidth: 100, |
| | | label: '投票限制', |
| | | prop: 'voteRestrictions', |
| | | type: 'radio', |
| | | button: true, |
| | | row: true, |
| | | offset: 6, |
| | | dicData: [{ |
| | | label: '一人一票', |
| | | value: 0 |
| | | }, { |
| | | label: '一户一票', |
| | | value: 1 |
| | | }] |
| | | }, { |
| | | labelWidth: 100, |
| | | label: '用户限制', |
| | | prop: 'userRestrictions', |
| | | type: 'radio', |
| | | button: true, |
| | | row: true, |
| | | offset: 6, |
| | | dicData: [{ |
| | | label: '不限制', |
| | | value: 0 |
| | | }, { |
| | | label: '必须绑定手机', |
| | | value: 1 |
| | | }, { |
| | | label: '必须绑定房屋', |
| | | value: 2 |
| | | }] |
| | | }, { |
| | | labelWidth: 100, |
| | | label: '票数公开', |
| | | prop: 'voteNumberPublic', |
| | | type: 'radio', |
| | | button: true, |
| | | row: true, |
| | | offset: 6, |
| | | dicData: [{ |
| | | label: '全程公开', |
| | | value: 0 |
| | | }, { |
| | | label: '投票后公开', |
| | | value: 1 |
| | | }, { |
| | | label: '投票结束后公开', |
| | | value: 2 |
| | | }, { |
| | | label: '不公开', |
| | | value: 3 |
| | | }] |
| | | }, |
| | | { |
| | |
| | | format: "yyyy-MM-dd hh:mm:ss", |
| | | valueFormat: "timestamp", |
| | | }, |
| | | // { |
| | | // labelWidth: 100, |
| | | // label: '人数限制', |
| | | // prop: 'numberRestrictions', |
| | | // type: 'number', |
| | | // button: true, |
| | | // row: true, |
| | | // min: 0, |
| | | // max: 99999999, |
| | | // controlsPosition: '', |
| | | // step: 10, |
| | | // offset: 6, |
| | | // }, |
| | | // { |
| | | // labelWidth: 100, |
| | | // label: '指定用户', |
| | | // prop: 'appointUser', |
| | | // type: 'radio', |
| | | // button: true, |
| | | // row: true, |
| | | // offset: 6, |
| | | // dicData: [{ |
| | | // label: '不限制', |
| | | // value: 0 |
| | | // }, { |
| | | // label: '指定用户可见', |
| | | // value: 1 |
| | | // }] |
| | | // }, |
| | | ] |
| | | }, |
| | | disCussFrom: { |
| | |
| | | // 选择行 |
| | | 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() { |
| | |
| | | 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) { |
| | |
| | | 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; |
| | |
| | | |
| | | handleSubmit(form, done) { |
| | | done(); |
| | | form.publicDiscussId = this.publicDiscussId |
| | | add(form).then( |
| | | () => { |
| | | this.$message({ |
| | |
| | | }); |
| | | 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; |
| | |
| | | .el-pagination { |
| | | margin-top: 20px; |
| | | } |
| | | </style> |
| | | </style> |