tableMixin.js 2.46 KB
import { mapGetters } from 'vuex'
// 引入详情弹框
import dataDetails from "@/components/EditDialog";
let mixin = {
  data () {
    return {
      title: '',
      formData: {
        pageSize: 10
      }
    }
  },
  components: {
    dataDetails,
  },
  computed: {
    ...mapGetters(['dicData'])
  },
  mounted () {
    this.handleSearch()
  },
  methods: {
    // 表格索引得问题
    /**
     * @description: 表格索引得问题
     * @param {*} index
     * @author: renchao
     */
    indexMethod (index) {
      return index + 1 + (this.form.currentPage - 1) * this.formData.pageSize;
    },
    /**
     * @description: handleSizeChange
     * @param {*} val
     * @author: renchao
     */
    handleSizeChange (val) {
      this.formData.pageSize = val
      this.featchData()
    },
    /**
     * @description: handleSearch
     * @author: renchao
     */
    handleSearch () {
      this.form.currentPage = 1
      this.tableData.data = []
      if (this.featchData) {
        this.featchData()
      }
      if (this.queryClick) {
        this.queryClick()
      }
    },
    /**
     * @description: handleCurrentChange
     * @param {*} val
     * @author: renchao
     */
    handleCurrentChange (val) {
      this.form.currentPage = val
      this.featchData()
    },
    /**
     * @description: handleSubmit
     * @author: renchao
     */
    handleSubmit () {
      this.tableData.data = []
      this.featchData()
    },
    // 详情
    /**
     * @description: 详情
     * @param {*} row
     * @author: renchao
     */
    handleEdit (row) {
      this.$refs.editLog.isShow(row);
      if (row.rectypeName) {
        this.title = row.rectypeName
      } else {
        let Title = ''
        this.dicData['A21'].map(item => {
          if (item.DCODE == row.DJLX || item.DCODE == row.djlx) {
            Title = item.DNAME
            return
          }
        })

        this.dicData['A8'].map(item => {
          if (item.DCODE == row.QLLX || item.DCODE == row.qllx) {
            Title += '-' + item.DNAME
            return
          }
        })
        this.title = Title
      }
    },
    // 重置表单
    /**
     * @description: 重置表单
     * @author: renchao
     */
    resetForm () {
      if (!this.form) return
      Object.keys(this.form).forEach((key) => {
        if (key !== 'currentPage') this.form[key] = '';
      })
      this.form.currentPage = 1
      this.tableData.data = []
      this.featchData()
    }
  }
}
export default mixin