ShiftRuleDialog.vue 1.58 KB
<template>
  <ht-dialog
      :single="single"
      :data="data"
      :table-columns="tableColumns"
      :pagination="pagination"
      search-placeholder="名称或编码"
      dialog-title="轮班对话框"
      quick-search-props="name,key"
      :destroy-on-close="destroyOnClose"
      @load="handleLoad"
      @onConfirm="onConfirm"
      ref="htDialog"
      :append-to-body='true'
  />
</template>

<script>
  import uc from "@/api/uc.js";

  export default {
    name: "shift-rule-dialog",
    props: {
      value: Array,
      name: String,
      single: Boolean,
      destroyOnClose:{
        type: Boolean,
        default: false
      }
    },
    data() {
      return {
        data: [],
        tableColumns: [
          { prop: "name", label: "名称" },
          { prop: "key", label: "编码" },
          { prop: "desc", label: "描述" }
        ],
        pagination: {
          page: 1,
          pageSize: 50,
          total: 0
        }
      };
    },
    methods: {
      showDialog() {
        this.$refs.htDialog.showDialog();
      },
      handleLoad(param, cb) {
        uc.ruleList(param)
          .then(data => {
            this.data = data.rows;
            this.pagination.page = data.page;
            this.pagination.pageSize = data.pageSize;
            this.pagination.total = data.total;
            cb();
          })
          .catch(err => {
            cb();
          });
      },
      onConfirm(selection) {
        this.$emit("onConfirm", selection,this.name);
        this.$emit("input", selection);
      }
    }
  }
</script>

<style scoped>

</style>