DataLogList.vue 4.0 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
<template>
  <a-card :bordered="false">
    <!-- 查询区域 -->
    <div class="table-page-search-wrapper">
      <a-form layout="inline">
        <a-row :gutter="24">
          <a-col :md="6" :sm="8">
            <a-form-item label="表名">
              <a-input placeholder="请输入表名" v-model="queryParam.dataTable"></a-input>
            </a-form-item>
          </a-col>
          <a-col :md="6" :sm="8">
            <a-form-item label="数据ID">
              <a-input placeholder="请输入ID" v-model="queryParam.dataId"></a-input>
            </a-form-item>
          </a-col>

          <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
               <a-col :md="6" :sm="24">
                  <a-button type="primary" @click="searchQuery">查询</a-button>
                  <a-button style="margin-left: 8px" @click="searchReset">重置</a-button>
               </a-col>
            </span>
        </a-row>
      </a-form>
    </div>

    <!-- 操作按钮区域 -->
    <div class="table-operator">
      <a-button @click="handleCompare()" type="primary" icon="plus">数据比较</a-button>
    </div>

    <!--table区 -->
    <div>
      <!--已选择的清空 -->
      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
        <i class="anticon anticon-info-circle ant-alert-icon"></i>已选择&nbsp;<a style="font-weight: 600">{{ selectedRowKeys.length }}</a>&nbsp;&nbsp;
        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
      </div>
      <a-table
        ref="table"
        size="middle"
        bordered
        rowKey="id"
        :columns="columns"
        :dataSource="dataSource"
        :pagination="ipagination"
        :loading="loading"
        :rowSelection="{selectedRowKeys: selectedRowKeys,onChange: onSelectChange}"
        @change="handleTableChange"
      >
        <!-- 字符串超长截取省略号显示-->
        <span slot="dataContent" slot-scope="text, record">
          <j-ellipsis :value="text" :length="80" />
        </span>
      </a-table>
    </div>
    <data-log-modal ref="modalForm" @ok="modalFormOk"></data-log-modal>
  </a-card>
</template>

<script>
  import DataLogModal from './modules/DataLogModal'
  import {JeecgListMixin} from '@/mixins/JeecgListMixin'
  import JEllipsis from "@/components/jeecg/JEllipsis";

  export default {
    name: 'DataLogList',
    mixins: [JeecgListMixin],
    components: {
      JEllipsis,
      DataLogModal
    },
    data() {
      return {
        description: '数据日志管理页面',
        //表头
        columns: [
          {
            title: '表名',
            align: 'center',
            dataIndex: 'dataTable'
          }, {
            title: '数据ID',
            align: 'center',
            dataIndex: 'dataId'
          }, {
            title: '版本号',
            align: 'center',
            dataIndex: 'dataVersion'
          }, {
            title: '数据内容',
            align: 'center',
            dataIndex: 'dataContent',
            width: "120px",
            scopedSlots: {customRender: 'dataContent'},
          }, {
            title: '创建人',
            align: 'center',
            dataIndex: 'createBy'
          }
        ],
        url: {
          list: "/sys/dataLog/list",
        },
      }
    },
    methods: {
      handleCompare: function () {
        if (!this.selectionRows || this.selectionRows.length != 2) {
          this.openNotifIcon('请选择两条数据');
          return false;
        } else if (this.selectionRows[0].dataId != this.selectionRows[1].dataId) {
          this.openNotifIcon('请选择相同的数据库表和数据ID进行比较');
          return false;
        } else {
          this.$refs.modalForm.addModal(this.selectionRows);
          this.$refs.modalForm.title = "数据比较";
        }
      },
      openNotifIcon(msg) {
        this.$notification['warning']({
          message: '提示信息',
          description: msg,
        });
      },
    }

  }

</script>
<style scoped>
133
  @import '~@assets/less/common.less'
134
</style>