From 4522ab3fe8bd45ee753ef187448c1e884bbc601f Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 18 Apr 2024 11:09:27 +0800
Subject: [PATCH] Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/jczz_web
---
src/views/article/components/discussionManageChild.vue | 691 ++++++++++++++++++++++++++++++++-------------------------
1 files changed, 388 insertions(+), 303 deletions(-)
diff --git a/src/views/article/components/discussionManageChild.vue b/src/views/article/components/discussionManageChild.vue
index 92ec700..3adc6a6 100644
--- a/src/views/article/components/discussionManageChild.vue
+++ b/src/views/article/components/discussionManageChild.vue
@@ -1,336 +1,421 @@
<template>
<div>
- <el-dialog title="" append-to-body :visible.sync="dialogVisibles" width="50%" :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>
+
+ <userList ref="userList" @selectPersonList="selectPersonList"></userList>
+
</div>
</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 option from "@/option/discuss/publicDiscuss"
+ import {
+ mapGetters
+ } from "vuex"
+ import {
+ getDictionary
+ } from '@/api/system/dict'
+ import userList from "./userList.vue";
-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
- },
+ let formData = {}
+ export default {
+ components: {
+ userList
+ },
+ 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
+ // 选择行
+ 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: '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
+ }, {
+ label: '指定用户',
+ value: 1
+ }],
+ rules: [{
+ required: true,
+ message: "请选择是否指定用户",
+ trigger: "blur",
+ }, ],
+ 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",
+ rules: [{
+ required: true,
+ message: "请选择截止时间",
+ trigger: "blur",
+ }, ],
+ }
+ ]
},
- {
- 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'
- }],
- },
+ // 表单列表
+ froms: {
+ openFlag: 0,
+ voteRestrictions: 1,
+ signatureFlag: 1,
+ voteNumberPublic: 1,
+ appointUser: 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",
- },],
- }
- ]
+ },
+ 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
+ }
+ },
},
- // 表单列表
- 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: {
+ 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")
- if (newData == 1) {
- column.display = true
- } else {
- column.display = false
+ 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.$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) => {
+ window.console.log(error)
+ }
+ )
+ },
+ init(data) {
+ console.log("===init===", data)
+ this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm()
+ this.dialogVisibles = true
+ 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.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm()
+ this.froms = {
+ openFlag: 0,
+ voteRestrictions: 1,
+ signatureFlag: 1,
+ appointUser: 0,
}
},
- },
- },
- 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)
+ opens() {
+ console.log("******opens*******")
+ // this.dialogVisibles = false
+ this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm()
+ this.froms = {
+ openFlag: 0,
+ voteRestrictions: 1,
+ signatureFlag: 1,
+ appointUser: 0,
}
- )
- },
- 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()
+ 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 = {
+ openFlag: 0,
+ voteRestrictions: 1,
+ signatureFlag: 1,
+ appointUser: 0,
+ }
+ } else {
+ console.log(">>>>>onLoad", data.records[0])
+ this.froms = data.records[0]
- console.log(this.$refs, 90999)
- },
+ 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(data, params = {
- eventType: 1,
- articleId: data.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
- })
- }
- })
}
}
-}
</script>
<style lang="scss" scoped>
-.el-pagination {
- margin-top: 20px;
-}
+ .el-pagination {
+ margin-top: 20px;
+ }
</style>
\ No newline at end of file
--
Gitblit v1.9.3