shuishen
2024-04-18 4522ab3fe8bd45ee753ef187448c1e884bbc601f
src/views/property/ownersCommittee.vue
@@ -4,45 +4,32 @@
      v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen"
      @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
      @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
      <template slot="menuLeft">
      <!--  <template slot="menuLeft">
        <el-button size="small" icon="el-icon-delete" plain v-if="permission.article_delete" @click="handleDelete">删
          除
        </el-button>
      </template>
      </template> -->
      <template slot-scope="{type,size,row }" slot="menu">
      <!-- <template slot-scope="{type,size,row }" slot="menu">
        <el-button v-if="row.publish == '1'" icon="el-icon-close" :size="size" :type="type" @click.stop="updateFb(row)">
          撤销
        </el-button>
        <el-button v-if="row.publish == '0'" icon="el-icon-check" :size="size" :type="type" @click.stop="updateFb(row)">
          发布
        </el-button>
      </template>
      </template> -->
      <template slot-scope="{ row, size }" slot="publish">
      <!-- <template slot-scope="{ row, size }" slot="publish">
        <el-tag :size="size" :type="showStatus(row.publish, 1).type" v-text="showStatus(row.publish, 1).text">
        </el-tag>
      </template>
      </template> -->
      <template slot-scope="{ row, size }" slot="iscomment">
        <el-tag :size="size" :type="showStatus(row.iscomment, 2).type" v-text="showStatus(row.iscomment, 2).text">
        </el-tag>
      </template>
      <!-- <template slot-scope="{ row }" slot="iscomment">
        <el-switch @change="iscommentInput($event, row)" v-model="row.iscomment" :active-value="'1'"
          :inactive-value="'0'" active-color="#13ce66" inactive-color="#ccc">
        </el-switch>
      </template> -->
    </avue-crud>
    <el-dialog title="" append-to-body :visible.sync="dialogVisibles" width="50%" :before-close="handleClose">
      <span slot="title" class="dialog-footer">
        {{ discussForm.ontitle }}
      </span>
      <div id="" v-if="discussForm.eventType == 1">
        <avue-form @submit="handleSubmit" :option="optionDiscuss" v-model="discussForm"></avue-form>
      </div>
      <div id="" v-else>
        <avue-form @submit="handleSubmit" :option="optionEnroll" v-model="discussForm">
        </avue-form>
      </div>
    </el-dialog>
  </basic-container>
</template>
@@ -105,22 +92,25 @@
        datetime: "",
        selectionList: [],
        option: {
          labelWidth: 96,
          labelWidth: 120,
          searchLabelWidth: 96,
          searchShow: true,
          searchMenuSpan: 3,
          menuWidth: 450,
          addBtn: false,
          menu: false,
          height: "auto",
          calcHeight: 54,
          dialogWidth: 950,
          tip: false,
          border: false,
          border: true,
          //stripe:true,
          index: true,
          viewBtn: true,
          selection: true,
          excelBtn: true,
          viewBtn: false,
          // selection: true,
          delBtn: false,
          editBtn: false,
          // excelBtn: true,
          dialogClickModal: false,
          column: [{
              label: "标题",
@@ -129,9 +119,10 @@
              row: true,
              searchSpan: 4,
              search: true,
              searchLabelWidth: 46,
              rules: [{
                required: true,
                message: "请输入招标标题",
                message: "请输入业主大会标题",
                trigger: "blur",
              }, ],
            },
@@ -150,37 +141,42 @@
              // hide: true,
              span: 24,
            },
            // {
            //   label: "招标来源",
            //   prop: "sourceName",
            //   search: true,
            //   searchSpan: 4,
            //   span: 24,
            //   rules: [{
            //     required: true,
            //     message: "请输入招标类型",
            //     trigger: "blur",
            //   }, ],
            // },
            {
              hide: true,
              parent: false,
              label: "公示范围",
              prop: "articleList",
              span: 12,
              minRows: 2,
              type: "cascader",
              multiple: true,
              tags: true,
              type: 'tree',
              dicData: [],
              rules: [{
                required: true,
                message: "请选择招标范围",
                trigger: "blur",
              }, ],
              props: {
                label: "name",
                value: 'id'
              },
              hide: true,
              span: 12,
              rules: [{
                required: true,
                message: "请选择公示范围",
                trigger: "blur",
              }, ],
            },
            {
              width: 100,
              label: "业主大会类型",
              prop: "type",
              value: 5,
              slot: true,
              searchSpan: 4,
              // search: true,
              type: "select",
              rules: [{
                required: true,
                message: "请选择招标类型",
                trigger: "blur",
              }, ],
              dicData: [{
                label: "业主大会",
                value: 5,
              }],
            },
            {
              label: "发布时间",
@@ -202,6 +198,44 @@
              }, ],
            },
            {
              // hide: true,
              parent: false,
              label: "小区名称",
              prop: "districtId",
              type: 'tree',
              dicUrl: `/api/blade-district/district/getDistrictTree`,
              props: {
                label: "name",
                value: "id"
              },
              defaultExpandedKeys: ["361102003"],
              span: 12,
              width: 220,
              overHidden: true,
            },
            {
              width: 110,
              label: "所属街道",
              addDisplay: false,
              editDisplay: false,
              viewDisplay: false,
              prop: "streetName",
              search: true,
              searchSpan: 4
            },
            {
              width: 156,
              overHidden: true,
              label: "所属社区",
              addDisplay: false,
              editDisplay: false,
              viewDisplay: false,
              prop: "communityName",
              search: true,
              searchSpan: 4
            },
            {
              width: 144,
              label: "发布时间",
              prop: "createTime",
@@ -219,7 +253,7 @@
              searchSpan: 4,
              search: true,
              type: "select",
              display:false,
              display: false,
              rules: [{
                required: true,
                message: "请选择发布状态",
@@ -240,7 +274,10 @@
              label: "评论区",
              prop: "iscomment",
              slot: true,
              type: "select",
              type: "switch",
              activeColor: "#13ce66",
              inactiveColor: "#ccc",
              value: '1',
              dicData: [{
                  label: "关闭",
                  value: "0",
@@ -272,95 +309,7 @@
          ],
        },
        data: [],
        optionEnroll: {
          column: [{
              label: "",
              type: 'title',
              prop: "title",
              span: 24,
              row: true,
              offset: 2,
              styles: {
                fontSize: '24px'
              }
            }, {
              label: '开启',
              prop: 'openFlag',
              type: 'radio',
              button: true,
              row: true,
              offset: 6,
              dicData: [{
                label: '开启',
                value: 0
              }, {
                label: '不开启',
                value: 1
              }]
            },
            {
              label: "截止时间",
              row: true,
              offset: 6,
              prop: "endTime",
              type: "datetime",
              format: "yyyy-MM-dd hh:mm:ss",
              valueFormat: "timestamp",
            },
          ]
        },
        optionDiscuss: {
          column: [{
              label: "",
              type: 'title',
              prop: "title",
              span: 24,
              row: true,
              offset: 2,
              styles: {
                fontSize: '24px'
              }
            }, {
              label: '开启投票',
              prop: 'openFlag',
              type: 'radio',
              button: true,
              row: true,
              offset: 6,
              dicData: [{
                label: '开启',
                value: 0
              }, {
                label: '不开启',
                value: 1
              }]
            }, {
              label: '开启签名',
              prop: 'signatureFlag',
              type: 'radio',
              button: true,
              row: true,
              offset: 6,
              dicData: [{
                label: '开启',
                value: 0
              }, {
                label: '不开启',
                value: 1
              }]
            },
            {
              label: "截止时间",
              row: true,
              offset: 6,
              prop: "endTime",
              type: "datetime",
              format: "yyyy-MM-dd hh:mm:ss",
              valueFormat: "timestamp",
            },
          ]
        },
        districtTree: [],
      }
    },
@@ -422,6 +371,14 @@
      }
    },
    methods: {
      iscommentInput(e, data) {
        upcomment(data.id, e).then(() => {
          this.$message({
            type: "success",
            message: "操作成功!",
          })
        })
      },
      openDilog(row, type) {
        this.dialogVisibles = true
@@ -462,7 +419,7 @@
        //   .catch(_ => {});
      },
      rowSave(row, done, loading) {
        row['type'] = 99
        row['type'] = 5
        row.userid = this.userInfo.user_id
        row.articleRange = JSON.stringify(row.articleList)
        if (row.url.length > 0) {
@@ -474,7 +431,10 @@
          })
          row.url = urls.join(",")
        }
        add(row).then(
        add({
          ...row,
          districtId: row.articleList
        }).then(
          () => {
            this.onLoad(this.page)
            this.$message({
@@ -501,7 +461,10 @@
          row.url = urls.join(",")
        }
        update(row).then(
        update({
          ...row,
          district_id: row.articleList
        }).then(
          () => {
            this.onLoad(this.page)
            this.$message({
@@ -611,13 +574,13 @@
        if (dateTime) {
          values = {
            ...params,
            startTime: dateTime[0],
            endTime: dateTime[1],
            startTime: dateTime[0] + ' 00:00:01',
            endTime: dateTime[1] + ' 23:59:59',
            ...this.query,
          }
          values.dateTime = null
        }
        values.type = 99
        values.type = 5
        this.loading = true
        console.log(values)
        getList(page.currentPage, page.pageSize, values).then((res) => {
@@ -637,7 +600,9 @@
          this.loading = false
          this.selectionClear()
        })
        getDistrictTree(params = {}).then((res) => {
        getDistrictTree({
          filterFlag: 1
        }).then((res) => {
          const data = res.data.data
          this.districtTree = data
          const column = this.findObject(this.option.column, "articleList")
@@ -721,8 +686,16 @@
  }
</script>
<style>
<style lang="scss" scoped>
  .avue-upload__icon {
    line-height: 6;
  }
  :deep(.avue-form__menu--center) {
    text-align: left;
  }
  :deep(.avue-form__menu--center .el-button) {
    margin: 0 5px 0 0;
  }
</style>