From c9b3952131b7273bf4f29c00975b6d737a3aae64 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Mon, 08 Jan 2024 14:46:39 +0800
Subject: [PATCH] 走访日志和议事管理,人员选择更改
---
src/api/public.js | 9
src/views/article/components/discussionManageChild.vue | 669 ++++++++++++++++++++++++-------------------------------
src/views/cGovernance/gridWorkLog.vue | 36 +-
3 files changed, 321 insertions(+), 393 deletions(-)
diff --git a/src/api/public.js b/src/api/public.js
new file mode 100644
index 0000000..16a0894
--- /dev/null
+++ b/src/api/public.js
@@ -0,0 +1,9 @@
+import request from "@/router/axios";
+
+export const getPersonPublicSelect = (params) => {
+ return request({
+ url: "/api/blade-household/household/selectHouseholdList",
+ method: "get",
+ params: params,
+ });
+};
diff --git a/src/views/article/components/discussionManageChild.vue b/src/views/article/components/discussionManageChild.vue
index 807e7a0..84fcfae 100644
--- a/src/views/article/components/discussionManageChild.vue
+++ b/src/views/article/components/discussionManageChild.vue
@@ -1,421 +1,334 @@
<template>
- <div>
- <el-dialog title="" append-to-body :visible.sync="dialogVisibles" width="60%" :before-close="handleClose">
- <avue-form ref="DisCussFrom" :option="option" v-model="disCussFrom" @submit="handleSubmit"></avue-form>
- </el-dialog>
- </div>
+ <div>
+ <el-dialog title="" append-to-body :visible.sync="dialogVisibles" width="60%" :before-close="handleClose">
+ <avue-form ref="DisCussFrom" :option="option" v-model="disCussFrom" @submit="handleSubmit"></avue-form>
+ </el-dialog>
+ </div>
</template>
<script>
- import {
+import { getPersonPublicSelect } from "@/api/public"
+
+import {
getListPd,
getDetailPd,
addPd,
updatePd,
removePd
- } from "@/api/discuss/publicDiscuss"
+} from "@/api/discuss/publicDiscuss"
- import {
+import {
getPage
- } from "@/api/discuss/userTopics"
+} from "@/api/discuss/userTopics"
- 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 {
+import {
getList as getHouseholdList,
getDetatils as getHouseholdDetail
- } from "@/api/userHouse/list/houseHold"
+} from "@/api/userHouse/list/houseHold"
- 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: 'title',
- searchSpan: 4,
- span: 6,
- },
- {
- label: '参与人数',
- prop: 'topsCount',
- searchSpan: 4,
- display: false,
- span: 6,
- },
- {
- label: '开启投票',
- prop: 'openFlag',
- type: 'radio',
- button: true,
- span: 6,
- value: 0,
- dicData: [{
- label: '开启',
- value: 0
- }, {
- label: '不开启',
- value: 1
- }],
- rules: [{
- required: true,
- message: "请选择开启状态",
- trigger: "blur",
- }, ],
- }, {
- label: '投票限制',
- prop: 'voteRestrictions',
- type: 'radio',
- button: true,
- span: 6,
- dicData: [{
- label: '一人一票',
- value: 0
- }, {
- label: '一户一票',
- value: 1
- }],
- rules: [{
- required: true,
- message: "请选择投票限制",
- trigger: "blur",
- }, ],
- value: 0
- }, {
- label: '签名',
- prop: 'signatureFlag',
- type: 'radio',
- button: true,
- span: 6,
- dicData: [{
- label: '不需要',
- value: 0
- }, {
- label: '需要',
- value: 1
- }],
- rules: [{
- required: true,
- message: "请选择是否签名",
- trigger: "blur",
- }, ],
- value: 0
- }, {
- label: '指定用户',
- prop: 'appointUser',
- type: 'radio',
- button: true,
- span: 6,
- dicData: [{
- label: '不限制',
- value: 0
- }, {
- label: '指定用户',
- value: 1
- }],
- rules: [{
- required: true,
- message: "请选择是否指定用户",
- trigger: "blur",
- }, ],
- value: 0
- },
- {
- label: "选择用户",
- prop: "userIds",
- hide: true,
- type: "table",
- display: false,
- span: 6,
- // labelWidth: 120,
- searchSpan: 4,
- search: true,
- children: {
- border: true,
- height: 400,
- searchShow: true,
- searchMenuSpan: 6,
- submitText: "确定",
- selection: true,
- column: [{
- label: "社区",
- prop: "neiName",
- // search: true,
- searchSpan: 4,
- }, {
- label: "姓名",
- prop: "name",
- searchSpan: 4,
- rules: [{
- required: true,
- message: "请输入姓名",
- trigger: "blur",
- }, ],
- display: true,
- hide: true,
- },
- {
- label: "小区",
- prop: "aoiCode",
- searchSpan: 5,
- type: 'tree',
- search: true,
- parent: false,
- dicUrl: `/api/blade-district/district/getDistrictTree`,
- props: {
- label: "name",
- value: "aoiCode"
- },
- // defaultExpandedKeys: ["361102003"],
- span: 12,
- labelWidth: 120,
- width: 220,
- // overHidden: true,
- rules: [{
- required: true,
- message: "请选择小区",
- trigger: "blur",
- }, ],
- // disabled: true
- display: true,
- // hide: true,
- },
-
- {
- label: "楼栋",
- prop: "building",
- search: true,
- searchSpan: 4,
- },
- {
- label: "单元",
- prop: "unit",
- search: true,
- searchSpan: 4,
- },
- {
- label: "地址",
- // search: true,
- searchSpan: 8,
- prop: "currentAddress",
- display: false
- },
- ],
- },
- page: {
+export default {
+ data () {
+ return {
+ dialogVisibles: false,
+ userParams: {},
+ // 分页信息
+ pageUser: {
pageSize: 10,
+ pageSizes: [10, 20, 30, 50, 100],
currentPage: 1,
total: 0
- },
- formatter: (row) => {
- // this.form.phoneNumber = row.phoneNumber
- return row.name
- },
- onLoad: ({
- page,
- value,
- data
- }, callback) => {
- //首次加载去查询对应的值
- if (value) {
- getHouseholdDetail(value).then(res => {
- var resData = res.data.data
- // 查询对应行数据
- callback(resData)
- return
- })
- }
- if (page) {
- this.loading = true
- var params = {
- ...data,
- // townStreetCode: "361102005"
- }
- getHouseholdList(page.currentPage, page.pageSize, Object.assign(params)).then(res => {
- const resData = res.data.data
- var total = resData.total
- var data = resData.records
- this.loading = false
- //分页查询信息
- callback({
- total: total,
- data: data
- })
- })
- }
- },
- props: {
- label: 'name',
- value: 'id'
- }
},
- {
- label: "截止时间",
- span: 6,
- 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: {},
- }
+ 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: 'title',
+ searchSpan: 4,
+ span: 6,
+ },
+ {
+ label: '参与人数',
+ prop: 'topsCount',
+ searchSpan: 4,
+ display: false,
+ span: 6,
+ },
+ {
+ label: '开启投票',
+ prop: 'openFlag',
+ type: 'radio',
+ button: true,
+ span: 6,
+ value: 0,
+ dicData: [{
+ label: '开启',
+ value: 0
+ }, {
+ label: '不开启',
+ value: 1
+ }],
+ rules: [{
+ required: true,
+ message: "请选择开启状态",
+ trigger: "blur",
+ },],
+ }, {
+ label: '投票限制',
+ prop: 'voteRestrictions',
+ type: 'radio',
+ button: true,
+ span: 6,
+ dicData: [{
+ label: '一人一票',
+ value: 0
+ }, {
+ label: '一户一票',
+ value: 1
+ }],
+ rules: [{
+ required: true,
+ message: "请选择投票限制",
+ trigger: "blur",
+ },],
+ value: 0
+ }, {
+ label: '签名',
+ prop: 'signatureFlag',
+ type: 'radio',
+ button: true,
+ span: 6,
+ dicData: [{
+ label: '不需要',
+ value: 0
+ }, {
+ label: '需要',
+ value: 1
+ }],
+ rules: [{
+ required: true,
+ message: "请选择是否签名",
+ trigger: "blur",
+ },],
+ value: 0
+ }, {
+ label: '指定用户',
+ prop: 'appointUser',
+ type: 'radio',
+ button: true,
+ span: 6,
+ dicData: [{
+ label: '不限制',
+ value: 0
+ }, {
+ label: '指定用户',
+ value: 1
+ }],
+ rules: [{
+ required: true,
+ message: "请选择是否指定用户",
+ trigger: "blur",
+ },],
+ value: 0
+ },
+
+ {
+ display: false,
+ label: "选择用户",
+ prop: "userIds",
+ type: 'select',
+ span: 6,
+ remote: true,
+ hide: true,
+ dicUrl: "",
+ props: {
+ label: 'name',
+ value: 'id',
+ },
+ dicData: [],
+ formatter: (row) => {
+ console.log(row, 1212213)
+ return row.name
+ },
+ rules: [
+ {
+ required: true,
+ message: '请输入姓名',
+ trigger: 'blur'
+ }
+ ],
+ },
+
+ {
+ label: "截止时间",
+ span: 6,
+ 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: {},
+ }
},
- mounted() {
+ 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.userIds": {
+ handler (val) {
+ if (val) {
+
+ getPersonPublicSelect({
+ id: val
+ }).then(res => {
+ const column = this.findObject(this.option.column, "userIds")
+ column.dicData = res.data.data
+ })
+
+ }
+ }
},
- },
- "disCussFrom.userIds": {
- // form是表单或者表格绑定的数据集,v-model='form'
- handler(val) {
- this.$nextTick(() => {
- console.log(this.$refs, 66666)
- // getHouseholdDetail(val).then(res => {
- // const data = res.data.data
- // this.form.phoneNumber = data.phoneNumber
- // this.form.currentAddress = data.currentAddress
- // })
- })
+ 'disCussFrom.appointUser': {
+ handler (newData) {
+ const column = this.findObject(this.option.column, "userIds")
+ if (newData == 1) {
+ column.display = true
+ } else {
+ column.display = false
+ }
+ },
},
- immediate: true,
- },
},
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: {
- handleSubmit(row, done) {
- row.articleId = this.articleId
- row.eventType = 1
- addPd(row).then(
- () => {
- this.onLoad(this.discussion)
- this.$message({
- type: "success",
- message: "操作成功!",
- })
- done()
+ getUserList () {
+ let dicUrl = `/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
+ addPd(row).then(
+ () => {
+ this.onLoad(this.discussion)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ this.dialogVisibles = false
+ },
+ (error) => {
+ window.console.log(error)
+ }
+ )
+ },
+ init (data) {
+ this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm()
+ this.dialogVisibles = true
+ this.disCussFrom = {}
+ this.discussion = data
+ this.articleId = data.id
+ this.onLoad(data)
+ },
+
+ handleClose () {
this.dialogVisibles = false
- },
- (error) => {
- window.console.log(error)
- }
- )
- },
- init(data) {
- this.dialogVisibles = true
- this.disCussFrom = {}
- this.discussion = data
- this.articleId = data.id
- this.onLoad(data)
- },
+ 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
- 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
- })
- }
+ 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]
+ this.loading = false
+ })
+ }
}
- }
+}
</script>
<style lang="scss" scoped>
- .el-pagination {
+.el-pagination {
margin-top: 20px;
- }
+}
</style>
diff --git a/src/views/cGovernance/gridWorkLog.vue b/src/views/cGovernance/gridWorkLog.vue
index 9edb103..3b37650 100644
--- a/src/views/cGovernance/gridWorkLog.vue
+++ b/src/views/cGovernance/gridWorkLog.vue
@@ -20,7 +20,7 @@
</template>
<script>
-import { getAllHouseHold } from "@/api/userHouse/list/houseHold"
+import { getPersonPublicSelect } from "@/api/public"
import { getList, remove, update, add, getGridWorkLog } from "@/api/grid/gridWorkLog"
import { getList as getHouseholdList, getDetatils as getHouseholdDetail } from "@/api/userHouse/list/houseHold"
import { mapGetters } from "vuex"
@@ -128,8 +128,7 @@
},
dicData: [],
formatter: (row) => {
- this.form.phone = row.phoneNumber
- this.form.address = row.currentAddress
+ console.log(row, 1111)
return row.name
},
@@ -257,6 +256,24 @@
},
watch: {
+ "form.householdId": {
+ handler (val) {
+ if (val) {
+
+ getPersonPublicSelect({
+ id: val
+ }).then(res => {
+ const column = this.findObject(this.option.column, "householdId")
+ column.dicData = res.data.data
+
+ this.form.phone = res.data.data[0].phoneNumber
+ this.form.address = res.data.data[0].currentAddress
+ })
+
+ }
+ }
+ },
+
'form.personType': {
handler (newData) {
let householdIdColumn = this.findObject(
@@ -330,11 +347,9 @@
methods: {
getUserList (param = '') {
- let dicUrl = `/blade-household/household/selectHouseholdList?labelId=${param}&searchKey={{key}}`
+ let dicUrl = `/blade-household/household/selectHouseholdList?labelId=${param}&searchKey={{key}}&limit=20`
const column = this.findObject(this.option.column, "householdId")
column.dicUrl = dicUrl
-
- console.log(param, this.option.column, 9999)
},
rowSave (row, done, loading) {
@@ -455,15 +470,6 @@
})
this.form.url = urls.join(",")
}
-
- let params = {
- id: this.form.householdId
- }
-
- getAllHouseHold(params).then(res => {
- const column = this.findObject(this.option.column, "householdId")
- column.dicData = res.data.data
- })
})
}
// con
--
Gitblit v1.9.3