<template>
  <div>
    <a-modal
      :width="modalWidth"
      :visible="visible"
      title="数据对比窗口"
      :confirmLoading="confirmLoading"
      @ok="handleOk"
      @cancel="handleCancel"
      cancelText="取消"
    >
      <a-spin :spinning="confirmLoading">
        <a-form @submit="handleSubmit" :form="form" class="form">
          <a-row class="form-row" :gutter="24">
            <a-col :md="12" :sm="8">
              <a-form-item label="数据库表名" :label-col="{ span: 6 }" :wrapper-col="{ span: 15 }">
                <a-input
                  placeholder="请输入数据库表名"
                  v-decorator="['dataTale', {}]"
                  @blur="handleTableBlur"
                  disabled
                />
              </a-form-item>
            </a-col>

            <a-col :md="12" :sm="8">
              <a-form-item label="数据ID" :label-col="{ span: 5 }" :wrapper-col="{ span: 15 }">
                <a-input placeholder="请输入数据ID" v-decorator="['dataId', {}]" @blur="handleIdBlur" disabled />
              </a-form-item>
            </a-col>
          </a-row>

          <a-row class="form-row" :gutter="24">
            <a-col :md="12" :sm="8">
              <a-form-item label="版本号1" :label-col="{ span: 6 }" :wrapper-col="{ span: 15 }">
                <a-select placeholder="请选择版本号" v-decorator="['dataVersion1', {}]" @change="handleChange1">
                  <a-select-option
                    v-for="(log, logindex) in DataVersionList"
                    :key="logindex.toString()"
                    :value="log.id"
                  >
                    {{ log.dataVersion }}
                  </a-select-option>
                </a-select>
              </a-form-item>
            </a-col>
            <a-col :md="12" :sm="8">
              <a-form-item label="版本号2" :label-col="{ span: 5 }" :wrapper-col="{ span: 15 }">
                <a-select placeholder="请选择版本号" v-decorator="['dataVersion2', {}]" @change="handleChange2">
                  <a-select-option
                    v-for="(log, logindex) in DataVersionList"
                    :key="logindex.toString()"
                    :value="log.id"
                  >
                    {{ log.dataVersion }}
                  </a-select-option>
                </a-select>
              </a-form-item>
            </a-col>
          </a-row>
        </a-form>
      </a-spin>
      <data-log-compare-modal ref="modal" @ok="modalFormOk"></data-log-compare-modal>
    </a-modal>
  </div>
</template>

<script>
import { getAction } from '@/api/manage'
import DataLogCompareModal from './DataLogCompareModal'
export default {
  name: 'DataLogModal',
  components: { DataLogCompareModal },
  dataId1: '',
  dataId2: '',
  dataTable1: '',
  dataID3: '',

  data() {
    return {
      modalWidth: 700,
      modaltoggleFlag: true,
      confirmDirty: false,
      title: '操作',
      visible: false,
      model: {},
      confirmLoading: false,
      headers: {},
      form: this.$form.createForm(this),
      url: {
        queryDataVerListUrl: '/sys/dataLog/queryDataVerList'
      },
      DataVersionList: []
    }
  },
  created() {},
  methods: {
    addModal(records) {
      const dataTable = records[0].dataTable
      const dataId = records[0].dataId
      const dataVersion1 = records[0].dataVersion
      const dataVersion2 = records[1].dataVersion
      this.dataId1 = records[0].id
      this.dataId2 = records[1].id
      this.dataTable1 = records[0].dataTable
      this.dataID3 = records[0].dataId
      this.initDataVersionList()
      this.form.resetFields()
      this.visible = true
      this.$nextTick(() => {
        this.form.setFieldsValue({
          dataTale: dataTable,
          dataId: dataId,
          dataVersion1: dataVersion1,
          dataVersion2: dataVersion2
        })
      })
    },
    handleOk() {
      this.close()
      this.$refs.modal.compareModal(this.dataId1, this.dataId2)
      this.$refs.modal.title = '数据比较'
    },
    handleCancel() {
      this.close()
    },
    handleSubmit() {},
    close() {
      this.$emit('close')
      this.visible = false
      this.disableSubmit = false
    },
    modalFormOk() {},
    initDataVersionList() {
      let that = this
      getAction(that.url.queryDataVerListUrl, { dataTable: this.dataTable1, dataId: this.dataID3 }).then(res => {
        if (res.success) {
          this.DataVersionList = res.result
        } else {
          this.DataVersionList = []
          ;(this.dataId1 = ''), (this.dataId2 = ''), console.log(res.message)
        }
      })
    },
    handleChange1(value) {
      this.dataId1 = value
    },
    handleChange2(value) {
      this.dataId2 = value
    },
    handleTableBlur(e) {
      this.dataTable1 = e.target.value
      this.initDataVersionList()
    },
    handleIdBlur(e) {
      this.dataID3 = e.target.value
      this.initDataVersionList()
    }
  }
}
</script>

<style scoped></style>
