| | |
| | | <template> |
| | | <div> |
| | | <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> |
| | | <div> |
| | | <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> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | import { |
| | | getPersonPublicSelect |
| | | } from "@/api/public" |
| | | } from "@/api/public" |
| | | |
| | | import { |
| | | import { |
| | | getListPd, |
| | | getDetailPd, |
| | | addPd, |
| | | updatePd, |
| | | removePd |
| | | } from "@/api/discuss/publicDiscuss" |
| | | } from "@/api/discuss/publicDiscuss" |
| | | |
| | | import option from "@/option/discuss/publicDiscuss" |
| | | import { |
| | | import option from "@/option/discuss/publicDiscuss" |
| | | import { |
| | | mapGetters |
| | | } from "vuex" |
| | | import { |
| | | } from "vuex" |
| | | import { |
| | | getDictionary |
| | | } from '@/api/system/dict' |
| | | } 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 { |
| | | import { |
| | | getUserlnfoByDistrictlds |
| | | } from "@/api/system/user" |
| | | } from "@/api/system/user" |
| | | |
| | | let formData = {} |
| | | export default { |
| | | data() { |
| | | return { |
| | | dialogVisibles: false, |
| | | userParams: {}, |
| | | // 弹框标题 |
| | | title: '', |
| | | // 是否展示弹框 |
| | | box: false, |
| | | // 是否显示查询 |
| | | search: true, |
| | | // 加载中 |
| | | loading: true, |
| | | // 是否为查看模式 |
| | | view: false, |
| | | // 查询信息 |
| | | query: {}, |
| | | let formData = {} |
| | | export default { |
| | | data () { |
| | | return { |
| | | dialogVisibles: false, |
| | | userParams: {}, |
| | | // 弹框标题 |
| | | title: '', |
| | | // 是否展示弹框 |
| | | box: false, |
| | | // 是否显示查询 |
| | | search: true, |
| | | // 加载中 |
| | | loading: true, |
| | | // 是否为查看模式 |
| | | view: false, |
| | | // 查询信息 |
| | | query: {}, |
| | | |
| | | // 选择行 |
| | | 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' |
| | | }], |
| | | }, |
| | | // 选择行 |
| | | 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", |
| | | }, ], |
| | | } |
| | | ] |
| | | }, |
| | | // 表单列表 |
| | | froms: {}, |
| | | dialogVisibles: false, |
| | | articleId: '', |
| | | discussion: {}, |
| | | id: "" |
| | | } |
| | | { |
| | | 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", |
| | | },], |
| | | } |
| | | ] |
| | | }, |
| | | // 表单列表 |
| | | froms: {}, |
| | | dialogVisibles: false, |
| | | articleId: '', |
| | | discussion: {}, |
| | | id: "" |
| | | } |
| | | }, |
| | | created() { |
| | | this.getUserList() |
| | | created () { |
| | | this.getUserList() |
| | | }, |
| | | |
| | | mounted() { |
| | | mounted () { |
| | | |
| | | }, |
| | | |
| | | watch: { |
| | | 'froms.appointUser': { |
| | | handler(newData) { |
| | | const column = this.findObject(this.option.column, "userIds") |
| | | if (newData == 1) { |
| | | column.display = true |
| | | } else { |
| | | column.display = false |
| | | } |
| | | 'froms.appointUser': { |
| | | handler (newData) { |
| | | const column = this.findObject(this.option.column, "userIds") |
| | | if (newData == 1) { |
| | | column.display = true |
| | | } else { |
| | | column.display = false |
| | | } |
| | | }, |
| | | }, |
| | | }, |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | | ids() { |
| | | let ids = [] |
| | | this.selectionList.forEach(ele => { |
| | | ids.push(ele.id) |
| | | }) |
| | | return ids.join(",") |
| | | } |
| | | ...mapGetters(["permission"]), |
| | | ids () { |
| | | let ids = [] |
| | | this.selectionList.forEach(ele => { |
| | | ids.push(ele.id) |
| | | }) |
| | | return ids.join(",") |
| | | } |
| | | }, |
| | | methods: { |
| | | getuserInfoByDistrictId() { |
| | | getUserlnfoByDistrictlds(this.discussion.articleRange).then(res => { |
| | | const column = this.findObject(this.option.column, "userIds") |
| | | column.dicData = res.data.data |
| | | }) |
| | | }, |
| | | 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) { |
| | | console.log("**********" + JSON.stringify(form)) |
| | | form.articleId = this.articleId |
| | | form.eventType = 1 |
| | | form.userIds = JSON.stringify(form.userIds) |
| | | if (form.appointUser == 0) { |
| | | form.userIds = '' |
| | | } |
| | | console.log("===>", JSON.stringify(this.froms)) |
| | | form.id = this.id; |
| | | console.log("formData====>", JSON.stringify(formData)) |
| | | addPd(form).then( |
| | | () => { |
| | | // this.onLoad(this.discussion) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | getuserInfoByDistrictId () { |
| | | getUserlnfoByDistrictlds(this.discussion.articleRange).then(res => { |
| | | const column = this.findObject(this.option.column, "userIds") |
| | | column.dicData = res.data.data |
| | | }) |
| | | done() |
| | | }, |
| | | 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 = JSON.stringify(form.userIds) |
| | | if (form.appointUser == 0) { |
| | | form.userIds = '' |
| | | } |
| | | |
| | | form.id = this.id |
| | | |
| | | addPd(form).then( |
| | | () => { |
| | | // this.onLoad(this.discussion) |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }) |
| | | done() |
| | | this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm() |
| | | this.froms = {} |
| | | this.dialogVisibles = false |
| | | }, |
| | | (error) => { |
| | | window.console.log(error) |
| | | } |
| | | ) |
| | | }, |
| | | init (data) { |
| | | console.log("===init===", data) |
| | | this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm() |
| | | this.dialogVisibles = true |
| | | this.froms = {} |
| | | this.discussion = data |
| | | this.articleId = data.id |
| | | this.onLoad(data) |
| | | }, |
| | | |
| | | handleClose () { |
| | | console.log("******handleClose*******") |
| | | this.dialogVisibles = false |
| | | this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm() |
| | | this.froms = {} |
| | | this.dialogVisibles = false |
| | | }, |
| | | (error) => { |
| | | window.console.log(error) |
| | | } |
| | | ) |
| | | }, |
| | | init(data) { |
| | | // console.log("====>", data); |
| | | this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm() |
| | | this.dialogVisibles = true |
| | | this.froms = {} |
| | | this.discussion = data |
| | | this.articleId = data.id |
| | | this.onLoad(data) |
| | | }, |
| | | }, |
| | | |
| | | handleClose() { |
| | | console.log("**********************************************************************************") |
| | | this.dialogVisibles = false |
| | | this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm() |
| | | this.froms = {}; |
| | | console.log("^^^^^", this.froms) |
| | | console.log(this.$refs, 90999) |
| | | }, |
| | | |
| | | opens() { |
| | | console.log("***************************************opens*******************************************") |
| | | // this.dialogVisibles = false |
| | | this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm() |
| | | this.froms = {}; |
| | | console.log("^^^^^", this.froms) |
| | | console.log(this.$refs, 90999) |
| | | }, |
| | | |
| | | 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.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm() |
| | | if (data.records.length <= 0) { |
| | | console.log("----------------------------------") |
| | | opens () { |
| | | console.log("******opens*******") |
| | | // this.dialogVisibles = false |
| | | this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm() |
| | | this.froms = {} |
| | | } else { |
| | | console.log(">>>>>", 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() |
| | | }, |
| | | |
| | | }) |
| | | }, |
| | | 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.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm() |
| | | if (data.records.length <= 0) { |
| | | console.log("--------onLoad------------") |
| | | this.id = '' |
| | | this.froms = {} |
| | | } 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> |
| | | |
| | | <style lang="scss" scoped> |
| | | .el-pagination { |
| | | .el-pagination { |
| | | margin-top: 20px; |
| | | } |
| | | } |
| | | </style> |