| | |
| | | <template> |
| | | |
| | | <div> |
| | | <el-dialog title="" append-to-body :visible.sync="dialogVisibles" width="80%" :before-close="handleClose"> |
| | | <avue-form ref="DisCussFrom" :option="option" v-model="disCussFrom" @submit="handleSubmit"></avue-form> |
| | | <el-dialog title="" append-to-body :visible.sync="dialogVisibles" width="50%" :before-close="handleClose" |
| | | @close="handleClose" @open="opens"> |
| | | <avue-form ref="DisCussFrom" :option="option" v-model="froms" @submit="handleSubmit"></avue-form> |
| | | </el-dialog> |
| | | </div> |
| | | |
| | | <userList ref="userList" @selectPersonList="selectPersonList"></userList> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getPersonPublicSelect |
| | | } from "@/api/public" |
| | | |
| | | import { |
| | | getListPd, |
| | | getDetailPd, |
| | |
| | | removePd |
| | | } from "@/api/discuss/publicDiscuss" |
| | | |
| | | import { |
| | | getPage |
| | | } from "@/api/discuss/userTopics" |
| | | |
| | | import option from "@/option/discuss/publicDiscuss" |
| | | import { |
| | | mapGetters |
| | |
| | | import { |
| | | getDictionary |
| | | } from '@/api/system/dict' |
| | | import userList from "./userList.vue"; |
| | | |
| | | |
| | | // import { |
| | | // getList as getHouseholdList, |
| | | // getDetatils as getHouseholdDetail |
| | | // } from "@/api/userHouse/list/houseHold" |
| | | |
| | | import { |
| | | getUserlnfoByDistrictlds |
| | | } from "@/api/system/user" |
| | | |
| | | let formData = {} |
| | | export default { |
| | | components: { |
| | | userList |
| | | }, |
| | | data() { |
| | | return { |
| | | dialogVisibles: false, |
| | | userParams: {}, |
| | | // 分页信息 |
| | | pageUser: { |
| | | pageSize: 10, |
| | | pageSizes: [10, 20, 30, 50, 100], |
| | | currentPage: 1, |
| | | total: 0 |
| | | }, |
| | | discussForm: {}, |
| | | dialogVisiblesEdit: false, |
| | | dialogVisiblesUser: false, |
| | | editFlag: false, |
| | | ontitle: '编辑议题', |
| | | // 弹框标题 |
| | | title: '', |
| | | // 是否展示弹框 |
| | |
| | | view: false, |
| | | // 查询信息 |
| | | query: {}, |
| | | // 分页信息 |
| | | page: { |
| | | pageSize: 10, |
| | | pageSizes: [10, 20, 30, 50, 100], |
| | | currentPage: 1, |
| | | total: 0 |
| | | }, |
| | | |
| | | // 选择行 |
| | | selectionList: [], |
| | |
| | | searchMenuSpan: 3, |
| | | menuWidth: 500, |
| | | column: [{ |
| | | label: 'ID', |
| | | prop: 'id', |
| | | searchSpan: 4, |
| | | display: false, |
| | | }, |
| | | { |
| | | label: '标题', |
| | | prop: 'title', |
| | | searchSpan: 4, |
| | | }, |
| | | { |
| | | label: '参与人数', |
| | | prop: 'topsCount', |
| | | searchSpan: 4, |
| | | display: false, |
| | | }, |
| | | { |
| | | label: '开启投票', |
| | | prop: 'openFlag', |
| | | type: 'radio', |
| | | button: true, |
| | | row: true, |
| | | span: 12, |
| | | offset: 8, |
| | | value: 0, |
| | | dicData: [{ |
| | | label: '开启', |
| | |
| | | prop: 'voteRestrictions', |
| | | type: 'radio', |
| | | button: true, |
| | | row: true, |
| | | span: 12, |
| | | offset: 8, |
| | | dicData: [{ |
| | | label: '一人一票', |
| | | value: 0 |
| | |
| | | prop: 'signatureFlag', |
| | | type: 'radio', |
| | | button: true, |
| | | row: true, |
| | | span: 12, |
| | | offset: 8, |
| | | dicData: [{ |
| | | label: '不需要', |
| | | value: 0 |
| | |
| | | trigger: "blur", |
| | | }, ], |
| | | value: 0 |
| | | }, { |
| | | }, |
| | | { |
| | | label: '票数公开', |
| | | prop: 'voteNumberPublic', |
| | | type: 'radio', |
| | | button: true, |
| | | row: true, |
| | | span: 12, |
| | | offset: 8, |
| | | dicData: [{ |
| | | label: '不需要', |
| | | value: 0 |
| | | }, { |
| | | label: '需要', |
| | | value: 1 |
| | | }], |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择是否票数公开", |
| | | trigger: "blur", |
| | | }, ], |
| | | value: 0 |
| | | }, |
| | | { |
| | | label: '指定用户', |
| | | prop: 'appointUser', |
| | | type: 'radio', |
| | | button: true, |
| | | row: true, |
| | | span: 12, |
| | | offset: 8, |
| | | dicData: [{ |
| | | label: '不限制', |
| | | value: 0 |
| | |
| | | value: 0 |
| | | }, |
| | | { |
| | | display: false, |
| | | label: "选择用户", |
| | | prop: "userName", |
| | | tags: true, |
| | | type: "input", |
| | | multiple: true, |
| | | span: 12, |
| | | offset: 8, |
| | | remote: true, |
| | | hide: true, |
| | | row: true, |
| | | // dicUrl: `/api/blade-system/user/getUserlnfoByDistrictlds?districtlds={{}}`, |
| | | // props: { |
| | | // label: 'name', |
| | | // value: 'id', |
| | | // }, |
| | | // dicData: [], |
| | | rules: [{ |
| | | required: true, |
| | | message: '请输入姓名', |
| | | trigger: 'blur' |
| | | }], |
| | | focus: ({ |
| | | value, |
| | | column |
| | | }) => { |
| | | // this.$message.success('focus事件查看控制台') |
| | | // console.log('获取焦点', value, column) |
| | | // this.$refs.userList && this.$refs.userList.resetForm() |
| | | this.$refs.userList.show(this.discussion.articleRange) |
| | | }, |
| | | }, |
| | | |
| | | { |
| | | label: "截止时间", |
| | | span: 12, |
| | | offset: 8, |
| | | row: true, |
| | | prop: "endTime", |
| | | type: "datetime", |
| | | format: "yyyy-MM-dd hh:mm:ss", |
| | | valueFormat: "yyyy-MM-dd hh:mm:ss", |
| | | format: "yyyy-MM-dd HH:mm:ss", |
| | | valueFormat: "yyyy-MM-dd HH:mm:ss", |
| | | // format: "yyyy-MM-dd hh:mm:ss", |
| | | // valueFormat: "yyyy-MM-dd hh:mm:ss", |
| | | rules: [{ |
| | |
| | | ] |
| | | }, |
| | | // 表单列表 |
| | | disCussFrom: {}, |
| | | froms: { |
| | | openFlag: 0, |
| | | voteRestrictions: 1, |
| | | signatureFlag: 1, |
| | | voteNumberPublic: 1, |
| | | appointUser: 0, |
| | | |
| | | }, |
| | | dialogVisibles: false, |
| | | articleId: '', |
| | | discussion: {}, |
| | | id: "", |
| | | personList: [], |
| | | } |
| | | }, |
| | | created() { |
| | | // this.getUserList() |
| | | }, |
| | | |
| | | mounted() { |
| | | |
| | | }, |
| | | |
| | | watch: { |
| | | 'froms.appointUser': { |
| | | handler(newData) { |
| | | const column = this.findObject(this.option.column, "userName") |
| | | if (newData == 1) { |
| | | column.display = true |
| | | // this.$refs.userList.show() |
| | | } else { |
| | | column.display = false |
| | | } |
| | | }, |
| | | }, |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | handleSubmit(row, done) { |
| | | row.articleId = this.articleId |
| | | row.eventType = 1 |
| | | addPd(row).then( |
| | | selectPersonList(personList) { |
| | | console.log(personList, "++++++++++++") |
| | | this.personList = personList |
| | | let nameList = personList.map(e => { |
| | | return e.name |
| | | }) |
| | | this.froms.userName = nameList.join(",") |
| | | }, |
| | | getuserInfoByDistrictId() { |
| | | getUserlnfoByDistrictlds(this.discussion.articleRange).then(res => { |
| | | const column = this.findObject(this.option.column, "userIds") |
| | | column.dicData = res.data.data.records |
| | | }) |
| | | }, |
| | | getUserList() { |
| | | let dicUrl = `/api/blade-household/household/selectHouseholdList?searchKey={{key}}&limit=20` |
| | | const column = this.findObject(this.option.column, "userIds") |
| | | column.dicUrl = dicUrl |
| | | }, |
| | | |
| | | handleSubmit(form, done) { |
| | | form.articleId = this.articleId |
| | | form.eventType = 1 |
| | | form.userIds = this.personList.map(e => e.id).join(",") |
| | | // form.userIds = JSON.stringify(form.userIds) |
| | | if (form.appointUser == 0) { |
| | | form.userIds = '' |
| | | } |
| | | |
| | | form.id = this.id |
| | | |
| | | addPd(form).then( |
| | | () => { |
| | | this.onLoad(this.discussion) |
| | | // this.onLoad(this.discussion) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }) |
| | | done() |
| | | this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm() |
| | | this.froms = { |
| | | openFlag: 0, |
| | | voteRestrictions: 1, |
| | | signatureFlag: 1, |
| | | appointUser: 0, |
| | | |
| | | } |
| | | this.dialogVisibles = false |
| | | }, |
| | | (error) => { |
| | |
| | | ) |
| | | }, |
| | | init(data) { |
| | | console.log("===init===", data) |
| | | this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm() |
| | | this.dialogVisibles = true |
| | | this.disCussFrom = {} |
| | | this.froms = { |
| | | openFlag: 0, |
| | | voteRestrictions: 1, |
| | | signatureFlag: 1, |
| | | appointUser: 0, |
| | | } |
| | | this.discussion = data |
| | | this.articleId = data.id |
| | | this.onLoad(data) |
| | | }, |
| | | |
| | | handleClose() { |
| | | console.log("******handleClose*******") |
| | | this.dialogVisibles = false |
| | | this.disCussFrom = {} |
| | | this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm() |
| | | |
| | | console.log(this.$refs, 90999) |
| | | this.froms = { |
| | | openFlag: 0, |
| | | voteRestrictions: 1, |
| | | signatureFlag: 1, |
| | | appointUser: 0, |
| | | } |
| | | }, |
| | | |
| | | onLoad(data, params = { |
| | | opens() { |
| | | console.log("******opens*******") |
| | | // this.dialogVisibles = false |
| | | this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm() |
| | | this.froms = { |
| | | openFlag: 0, |
| | | voteRestrictions: 1, |
| | | signatureFlag: 1, |
| | | appointUser: 0, |
| | | } |
| | | }, |
| | | |
| | | onLoad(row, params = { |
| | | eventType: 1, |
| | | articleId: data.id |
| | | articleId: row.id |
| | | }) { |
| | | this.loading = true |
| | | // this.loading = true |
| | | getListPd(1, 10, Object.assign(params, this.query)).then(res => { |
| | | const data = res.data.data |
| | | this.page.total = data.total |
| | | this.disCussFrom = data.records[0] |
| | | this.loading = false |
| | | this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm() |
| | | if (data.records.length <= 0) { |
| | | console.log("--------onLoad------------") |
| | | this.id = '' |
| | | this.froms = { |
| | | openFlag: 0, |
| | | voteRestrictions: 1, |
| | | signatureFlag: 1, |
| | | appointUser: 0, |
| | | } |
| | | } else { |
| | | console.log(">>>>>onLoad", data.records[0]) |
| | | this.froms = data.records[0] |
| | | |
| | | this.id = data.records[0].id |
| | | formData = data.records[0] |
| | | if (this.froms && this.froms.userIds) { |
| | | this.froms.userIds = JSON.parse(this.froms.userIds) |
| | | } |
| | | } |
| | | // this.getuserInfoByDistrictId() |
| | | |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | |
| | | } |
| | | } |
| | | </script> |
| | |
| | | .el-pagination { |
| | | margin-top: 20px; |
| | | } |
| | | </style> |
| | | </style> |