shuishen
2024-01-24 d16d10d94fddff86bdfd87113e7fd2cebe8b7cd7
src/views/article/components/discussionManageChild.vue
@@ -1,12 +1,16 @@
<template>
  <div>
    <el-dialog title="" append-to-body :visible.sync="dialogVisibles" width="60%" :before-close="handleClose">
    <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>
  </div>
</template>
<script>
  import {
    getPersonPublicSelect
  } from "@/api/public"
  import {
    getListPd,
    getDetailPd,
@@ -83,24 +87,13 @@
          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,
              row: true,
              span: 6,
              offset: 8,
              value: 0,
              dicData: [{
                label: '开启',
@@ -119,7 +112,9 @@
              prop: 'voteRestrictions',
              type: 'radio',
              button: true,
              span: 6,
              row: true,
              span: 12,
              offset: 8,
              dicData: [{
                label: '一人一票',
                value: 0
@@ -138,7 +133,9 @@
              prop: 'signatureFlag',
              type: 'radio',
              button: true,
              row: true,
              span: 6,
              offset: 8,
              dicData: [{
                label: '不需要',
                value: 0
@@ -152,157 +149,58 @@
                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: '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",
              hide: true,
              type: "table",
              display: false,
              type: 'select',
              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",
                    search: true,
                    searchSpan: 4,
                    rules: [{
                      required: true,
                      message: "请输入姓名",
                      trigger: "blur",
                    }, ],
                  },
                  {
                    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: {
                pageSize: 10,
                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
                    })
                  })
                }
              },
              offset: 8,
              remote: true,
              hide: true,
              row: true,
              dicUrl: "",
              props: {
                label: 'name',
                value: 'id'
              }
                value: 'id',
              },
              dicData: [],
              rules: [{
                required: true,
                message: '请输入姓名',
                trigger: 'blur'
              }],
            },
            {
              label: "截止时间",
              span: 6,
              offset: 8,
              row: true,
              prop: "endTime",
              type: "datetime",
              format: "yyyy-MM-dd hh:mm:ss",
@@ -324,9 +222,14 @@
        discussion: {},
      }
    },
    created() {
      this.getUserList()
    },
    mounted() {
    },
    watch: {
      'disCussFrom.appointUser': {
        handler(newData) {
@@ -337,20 +240,6 @@
            column.display = false
          }
        },
      },
      "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
            // })
          })
        },
        immediate: true,
      },
    },
    computed: {
@@ -364,6 +253,12 @@
      }
    },
    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
@@ -383,6 +278,7 @@
        )
      },
      init(data) {
        this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm()
        this.dialogVisibles = true
        this.disCussFrom = {}
        this.discussion = data
@@ -406,7 +302,15 @@
          const data = res.data.data
          this.page.total = data.total
          this.disCussFrom = data.records[0]
          this.loading = false
          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
            })
          }
        })
      }
    }