| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getPersonPublicSelect |
| | | } from "@/api/public" |
| | | import { |
| | | getPersonPublicSelect |
| | | } from "@/api/public" |
| | | |
| | | import { |
| | | getListPd, |
| | | getDetailPd, |
| | | addPd, |
| | | updatePd, |
| | | removePd |
| | | } from "@/api/discuss/publicDiscuss" |
| | | import { |
| | | getListPd, |
| | | getDetailPd, |
| | | addPd, |
| | | updatePd, |
| | | removePd |
| | | } from "@/api/discuss/publicDiscuss" |
| | | |
| | | import { |
| | | getPage |
| | | } from "@/api/discuss/userTopics" |
| | | import { |
| | | getPage |
| | | } from "@/api/discuss/userTopics" |
| | | |
| | | import option from "@/option/discuss/publicDiscuss" |
| | | import { |
| | | mapGetters |
| | | } from "vuex" |
| | | import { |
| | | getDictionary |
| | | } from '@/api/system/dict' |
| | | import option from "@/option/discuss/publicDiscuss" |
| | | import { |
| | | mapGetters |
| | | } from "vuex" |
| | | import { |
| | | getDictionary |
| | | } from '@/api/system/dict' |
| | | |
| | | import { |
| | | getList as getHouseholdList, |
| | | getDetatils as getHouseholdDetail |
| | | } from "@/api/userHouse/list/houseHold" |
| | | import { |
| | | getList as getHouseholdList, |
| | | getDetatils as getHouseholdDetail |
| | | } from "@/api/userHouse/list/houseHold" |
| | | |
| | | import { getUserlnfoByDistrictlds } from "@/api/system/user" |
| | | import { |
| | | getUserlnfoByDistrictlds |
| | | } from "@/api/system/user" |
| | | |
| | | export default { |
| | | 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: '', |
| | | // 是否展示弹框 |
| | | box: false, |
| | | // 是否显示查询 |
| | | search: true, |
| | | // 加载中 |
| | | loading: true, |
| | | // 是否为查看模式 |
| | | view: false, |
| | | // 查询信息 |
| | | query: {}, |
| | | // 分页信息 |
| | | page: { |
| | | pageSize: 10, |
| | | pageSizes: [10, 20, 30, 50, 100], |
| | | currentPage: 1, |
| | | total: 0 |
| | | }, |
| | | |
| | | // 选择行 |
| | | selectionList: [], |
| | | // 表单配置 |
| | | option: { |
| | | height: "auto", |
| | | calcHeight: 54, |
| | | align: 'center', |
| | | menuAlign: 'center', |
| | | addBtn: false, |
| | | searchMenuSpan: 3, |
| | | menuWidth: 500, |
| | | column: [{ |
| | | label: '开启投票', |
| | | prop: 'openFlag', |
| | | type: 'radio', |
| | | button: true, |
| | | row: true, |
| | | span: 12, |
| | | offset: 8, |
| | | value: 0, |
| | | dicData: [{ |
| | | label: '开启', |
| | | value: 0 |
| | | }, { |
| | | label: '不开启', |
| | | value: 1 |
| | | }], |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择开启状态", |
| | | trigger: "blur", |
| | | },], |
| | | }, { |
| | | label: '投票限制', |
| | | prop: 'voteRestrictions', |
| | | 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: 'signatureFlag', |
| | | 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 |
| | | export default { |
| | | data() { |
| | | return { |
| | | dialogVisibles: false, |
| | | userParams: {}, |
| | | // 分页信息 |
| | | pageUser: { |
| | | pageSize: 10, |
| | | pageSizes: [10, 20, 30, 50, 100], |
| | | currentPage: 1, |
| | | total: 0 |
| | | }, |
| | | { |
| | | label: '指定用户', |
| | | prop: 'appointUser', |
| | | 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 |
| | | }, |
| | | { |
| | | display: false, |
| | | label: "选择用户", |
| | | prop: "userIds", |
| | | tags: true, |
| | | type: "tree", |
| | | 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' |
| | | }], |
| | | discussForm: {}, |
| | | dialogVisiblesEdit: false, |
| | | dialogVisiblesUser: false, |
| | | editFlag: false, |
| | | ontitle: '编辑议题', |
| | | // 弹框标题 |
| | | title: '', |
| | | // 是否展示弹框 |
| | | box: false, |
| | | // 是否显示查询 |
| | | search: true, |
| | | // 加载中 |
| | | loading: true, |
| | | // 是否为查看模式 |
| | | view: false, |
| | | // 查询信息 |
| | | query: {}, |
| | | // 分页信息 |
| | | page: { |
| | | pageSize: 10, |
| | | pageSizes: [10, 20, 30, 50, 100], |
| | | currentPage: 1, |
| | | total: 0 |
| | | }, |
| | | |
| | | { |
| | | 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", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择截止时间", |
| | | trigger: "blur", |
| | | },], |
| | | } |
| | | ] |
| | | // 选择行 |
| | | selectionList: [], |
| | | // 表单配置 |
| | | option: { |
| | | height: "auto", |
| | | calcHeight: 54, |
| | | align: 'center', |
| | | menuAlign: 'center', |
| | | addBtn: false, |
| | | searchMenuSpan: 3, |
| | | menuWidth: 500, |
| | | column: [{ |
| | | label: '开启投票', |
| | | prop: 'openFlag', |
| | | type: 'radio', |
| | | button: true, |
| | | row: true, |
| | | span: 12, |
| | | offset: 8, |
| | | value: 0, |
| | | dicData: [{ |
| | | label: '开启', |
| | | value: 0 |
| | | }, { |
| | | label: '不开启', |
| | | value: 1 |
| | | }], |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择开启状态", |
| | | trigger: "blur", |
| | | }, ], |
| | | }, { |
| | | label: '投票限制', |
| | | prop: 'voteRestrictions', |
| | | 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: 'signatureFlag', |
| | | 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 |
| | | }, { |
| | | label: '指定用户', |
| | | value: 1 |
| | | }], |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择是否指定用户", |
| | | trigger: "blur", |
| | | }, ], |
| | | value: 0 |
| | | }, |
| | | { |
| | | display: false, |
| | | label: "选择用户", |
| | | prop: "userIds", |
| | | tags: true, |
| | | type: "tree", |
| | | 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' |
| | | }], |
| | | }, |
| | | |
| | | { |
| | | 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", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择截止时间", |
| | | trigger: "blur", |
| | | }, ], |
| | | } |
| | | ] |
| | | }, |
| | | // 表单列表 |
| | | disCussFrom: {}, |
| | | dialogVisibles: false, |
| | | articleId: '', |
| | | discussion: {}, |
| | | } |
| | | }, |
| | | created() { |
| | | this.getUserList() |
| | | }, |
| | | |
| | | mounted() { |
| | | |
| | | }, |
| | | |
| | | watch: { |
| | | 'disCussFrom.appointUser': { |
| | | handler(newData) { |
| | | const column = this.findObject(this.option.column, "userIds") |
| | | if (newData == 1) { |
| | | column.display = true |
| | | } else { |
| | | column.display = false |
| | | } |
| | | }, |
| | | }, |
| | | // 表单列表 |
| | | disCussFrom: {}, |
| | | dialogVisibles: false, |
| | | articleId: '', |
| | | discussion: {}, |
| | | } |
| | | }, |
| | | created() { |
| | | this.getUserList() |
| | | }, |
| | | |
| | | mounted() { |
| | | |
| | | }, |
| | | |
| | | watch: { |
| | | 'disCussFrom.appointUser': { |
| | | handler(newData) { |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | | ids() { |
| | | let ids = [] |
| | | this.selectionList.forEach(ele => { |
| | | ids.push(ele.id) |
| | | }) |
| | | return ids.join(",") |
| | | } |
| | | }, |
| | | methods: { |
| | | getUserList() { |
| | | let dicUrl = `/api/blade-household/household/selectHouseholdList?searchKey={{key}}&limit=20` |
| | | const column = this.findObject(this.option.column, "userIds") |
| | | if (newData == 1) { |
| | | column.display = true |
| | | } else { |
| | | column.display = false |
| | | } |
| | | column.dicUrl = dicUrl |
| | | }, |
| | | }, |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | | ids() { |
| | | let ids = [] |
| | | this.selectionList.forEach(ele => { |
| | | ids.push(ele.id) |
| | | }) |
| | | return ids.join(",") |
| | | } |
| | | }, |
| | | methods: { |
| | | getUserList() { |
| | | let dicUrl = `/api/blade-household/household/selectHouseholdList?searchKey={{key}}&limit=20` |
| | | const column = this.findObject(this.option.column, "userIds") |
| | | column.dicUrl = dicUrl |
| | | }, |
| | | |
| | | handleSubmit(row, done) { |
| | | row.articleId = this.articleId |
| | | row.eventType = 1 |
| | | row.userIds = JSON.stringify(row.userIds) |
| | | addPd(row).then( |
| | | () => { |
| | | this.onLoad(this.discussion) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }) |
| | | done() |
| | | this.dialogVisibles = false |
| | | }, |
| | | (error) => { |
| | | window.console.log(error) |
| | | } |
| | | ) |
| | | }, |
| | | init(data) { |
| | | console.log("====>", data); |
| | | this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm() |
| | | this.dialogVisibles = true |
| | | this.disCussFrom = {} |
| | | // this.disCussFrom = data; |
| | | this.discussion = data |
| | | this.articleId = data.id |
| | | this.onLoad(data) |
| | | }, |
| | | handleSubmit(row, done) { |
| | | row.articleId = this.articleId |
| | | row.eventType = 1 |
| | | row.userIds = JSON.stringify(row.userIds) |
| | | addPd(row).then( |
| | | () => { |
| | | this.onLoad(this.discussion) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }) |
| | | done() |
| | | this.dialogVisibles = false |
| | | }, |
| | | (error) => { |
| | | window.console.log(error) |
| | | } |
| | | ) |
| | | }, |
| | | init(data) { |
| | | console.log("====>", data); |
| | | this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm() |
| | | this.dialogVisibles = true |
| | | this.disCussFrom = {} |
| | | // this.disCussFrom = data; |
| | | this.discussion = data |
| | | this.articleId = data.id |
| | | this.onLoad(data) |
| | | }, |
| | | |
| | | handleClose() { |
| | | this.dialogVisibles = false |
| | | this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm() |
| | | handleClose() { |
| | | this.dialogVisibles = false |
| | | this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm() |
| | | |
| | | console.log(this.$refs, 90999) |
| | | }, |
| | | console.log(this.$refs, 90999) |
| | | }, |
| | | |
| | | onLoad(data, params = { |
| | | eventType: 1, |
| | | articleId: data.id |
| | | }) { |
| | | this.loading = true |
| | | onLoad(row, params = { |
| | | eventType: 1, |
| | | articleId: row.id |
| | | }) { |
| | | 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] |
| | | if (this.disCussFrom.userIds) { |
| | | // getPersonPublicSelect({ |
| | | // id: this.disCussFrom.userIds |
| | | // }).then(res => { |
| | | // const column = this.findObject(this.option.column, "userIds") |
| | | // column.dicData = res.data.data |
| | | // this.loading = false |
| | | // }) |
| | | getUserlnfoByDistrictlds(data.articleRange).then(res => { |
| | | console.log(res); |
| | | const column = this.findObject(this.option.column, "userIds") |
| | | column.dicData = res.data.data |
| | | }) |
| | | } |
| | | }) |
| | | 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] |
| | | if (this.disCussFrom.userIds) { |
| | | this.disCussFrom.userIds = JSON.parse(this.disCussFrom.userIds) |
| | | // getPersonPublicSelect({ |
| | | // id: this.disCussFrom.userIds |
| | | // }).then(res => { |
| | | // const column = this.findObject(this.option.column, "userIds") |
| | | // column.dicData = res.data.data |
| | | // this.loading = false |
| | | // }) |
| | | getUserlnfoByDistrictlds(row.articleRange).then(res => { |
| | | console.log(res); |
| | | const column = this.findObject(this.option.column, "userIds") |
| | | column.dicData = res.data.data |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .el-pagination { |
| | | margin-top: 20px; |
| | | } |
| | | .el-pagination { |
| | | margin-top: 20px; |
| | | } |
| | | </style> |