shuishen
2024-04-18 4522ab3fe8bd45ee753ef187448c1e884bbc601f
src/views/article/rotation.vue
@@ -1,4 +1,4 @@
<!-- 走访日志 -->
<!-- 轮播图 -->
<template>
  <basic-container>
    <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
@@ -33,7 +33,9 @@
  export default {
    data() {
      return {
        form: {},
        form: {
          publicFlag: 2
        },
        query: {},
        loading: true,
        page: {
@@ -92,39 +94,68 @@
                  label: "综治",
                  value: 2
                }
              ],
              rules: [{
                required: true,
                message: "请选择类型",
                trigger: "blur",
              }, ],
            }, {
              width: 110,
              labelWidth: 100,
              label: "是否公开",
              prop: "publicFlag",
              span: 12,
              searchSpan: 4,
              type: "select",
              type: "select",
              dicData: [{
                  label: "公开",
                  value: 2
                }, {
                  label: "限定公开",
                  value: 1
                },
              ]
            },
            // {
            //   width: 156,
            //   labelWidth: 100,
            //   overHidden: true,
            //   label: "所属社区",
            //   // parent: false,
            //   prop: "communityCode",
            //   multiple: true,
            //   tags: true,
            //   hide: true,
            //   dateType: "string",
            //   type: "tree",
            //   dicUrl: "/api/blade-system/region/tree?deptNature={{type}}",
            //   props: {
            //     label: "name",
            //     value: "id"
            //   },
            //   rules: [{
            //     required: true,
            //     message: "请选择所属社区",
            //     trigger: "blur",
            //   }, ],
            // },
            {
              label: "范围",
              prop: "districtIds",
              width: 156,
              labelWidth: 100,
              overHidden: true,
              label: "所属社区",
              // parent: false,
              prop: "communityCode",
              multiple: true,
              tags: true,
              hide: true,
              dataType: "string",
              addDisplay: false,
              editDisplay: false,
              type: "tree",
              dicUrl: "/api/blade-system/region/tree?deptNature={{type}}",
              props: {
                label: "name",
                value: "id"
              },
              rules: [{
                required: true,
                message: "请选择所属社区",
                trigger: "blur",
              }, ],
            },
            {
              label: "公开范围",
              prop: "rotationRange",
              width: 156,
              labelWidth: 100,
              tags: true,
              type: "tree",
              multiple: true,
              // dateType: "string",
              dataType: "string",
              editDisplay: false,
              addDisplay: false,
              cascader: ['articleId'],
              dicUrl: "/api/blade-district/district/getDistrictTree?filterFlag=1",
              rules: [{
@@ -136,7 +167,6 @@
                label: "name",
                value: 'id'
              },
              // hide: true,
            },
            {
              hide: true,
@@ -145,10 +175,12 @@
              prop: "articleId",
              search: false,
              viewDisabled: false,
              editDisplay: false,
              addDisplay: false,
              type: 'select',
              dicUrl: `/api/blade-article/article/getArticleByDistrictId?type=4&eventType=1&districtId={{districtIds}}`,
              dicUrl: `/api/blade-article/article/getArticleByDistrictId?type=4&eventType=1&districtId={{rotationRange}}`,
              formslot: true,
              cascader: ['vote'],
              // cascader: ['vote'],
              props: {
                label: "title",
                value: "id"
@@ -207,7 +239,41 @@
        data: [],
      }
    },
    watch: {},
    watch: {
      'form.publicFlag': {
        handler(newData) {
          const column = this.findObject(this.option.column, "rotationRange")
          if (newData == 1) {
            column.editDisplay = true
            column.addDisplay = true
          } else {
            column.editDisplay = false
            column.addDisplay = false
          }
          const column2 = this.findObject(this.option.column, "articleId")
          if (newData == 1) {
            column2.editDisplay = true
            column2.addDisplay = true
          } else {
            column2.editDisplay = false
            column2.addDisplay = false
          }
        },
      },
      'form.type': {
        handler(newData) {
          const column = this.findObject(this.option.column, "communityCode")
          if (newData != 3) {
            column.editDisplay = true
            column.addDisplay = true
          } else {
            column.editDisplay = false
            column.addDisplay = false
          }
        },
      },
    },
    computed: {
      ...mapGetters(["permission", "userInfo"]),
      permissionList() {
@@ -228,6 +294,16 @@
    },
    methods: {
      rowSave(row, done, loading) {
        // if (row.rotationRange) {
        //   row.rotationRange = JSON.stringify(row.rotationRange)
        // }
        if (row.communityCode) {
          row.communityCode = JSON.stringify(row.communityCode)
        }
        if (row.publicFlag == 2) {
          row.rotationRange = ''
          // row.rotationRange = JSON.stringify(row.rotationRange)
        }
        if (row.url.length > 0) {
          var urls = []
          var split = row.url.split(",")
@@ -253,6 +329,16 @@
        )
      },
      rowUpdate(row, index, done, loading) {
        // if (row.rotationRange) {
        //   row.rotationRange = JSON.stringify(row.rotationRange)
        // }
        if (row.communityCode) {
          row.communityCode = JSON.stringify(row.communityCode)
        }
        if (row.publicFlag == 2) {
          row.rotationRange = ''
          // row.rotationRange = JSON.stringify(row.rotationRange)
        }
        if (row.url.length > 0) {
          var urls = []
          var split = row.url.split(",")
@@ -337,6 +423,12 @@
        if (["edit", "view"].includes(type)) {
          getRotation(this.form.id).then((res) => {
            this.form = res.data.data
            // if (this.form.rotationRange) {
            //   this.form.rotationRange = JSON.parse(this.form.rotationRange)
            // }
            // if (this.form.communityCode) {
            //   this.form.communityCode = JSON.parse(this.form.communityCode)
            // }
            if (this.form.url.length > 0) {
              var urls = []
              var names = this.form.url.split(",")
@@ -390,6 +482,12 @@
          this.page.total = data.total
          this.data = data.records
          this.data.forEach(item => {
            // if (item.rotationRange) {
            //   item.rotationRange = JSON.parse(item.rotationRange)
            // }
            // if (item.communityCode) {
            //   item.communityCode = JSON.parse(item.communityCode)
            // }
            if (item.url.length > 0) {
              var urls = []
              var names = item.url.split(",")