From ef3743ccb3c663dffdcec1c051312340d4a69fed Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Fri, 23 Feb 2024 16:15:15 +0800
Subject: [PATCH] 议事优化

---
 src/views/article/components/discussionManageChild.vue |  607 +++++++++++++++++++++++++++---------------------------
 1 files changed, 305 insertions(+), 302 deletions(-)

diff --git a/src/views/article/components/discussionManageChild.vue b/src/views/article/components/discussionManageChild.vue
index 92ec700..11312cf 100644
--- a/src/views/article/components/discussionManageChild.vue
+++ b/src/views/article/components/discussionManageChild.vue
@@ -7,330 +7,333 @@
 </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>
\ No newline at end of file

--
Gitblit v1.9.3