干燥机配套车间生产管理系统/云平台服务端
baoshiwei
2024-05-27 fa3ac93010bea3805438ee3ab0a182bfbf7423da
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
<template>
  <div>
    <BasicModal v-bind="$attrs" @register="registerModal" title="数据对比窗口" :minHeight="300" width="800px" @ok="handleSubmit">
      <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 }" name="dataTable">
                <a-input placeholder="请输入数据库表名" v-model:value="dataTable" 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-model:value="dataId" 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="请选择版本号" @change="handleChange1" v-model:value="dataVersion1">
                  <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="请选择版本号" @change="handleChange2" v-model:value="dataVersion2">
                  <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>
    </BasicModal>
    <DataLogCompareModal @register="registerDataLogCompareModal"></DataLogCompareModal>
  </div>
</template>
<script lang="ts" setup>
  import { BasicModal, useModal, useModalInner } from '/@/components/Modal';
  import { queryDataVerList } from './datalog.api';
  import { reactive, ref, unref } from 'vue';
  import DataLogCompareModal from './DataLogCompareModal.vue';
  const dataId1 = ref('');
  const dataId2 = ref('');
  const dataId = ref('');
  const dataTable1 = ref('');
  const dataID3 = ref('');
  const dataTable = ref('');
  const confirmLoading = ref(false);
  const isUpdate = ref(true);
  const dataVersionList = ref([]);
  let dataLog = reactive({});
  //表单赋值
  const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
    isUpdate.value = !!data?.isUpdate;
    if (unref(isUpdate)) {
      let checkedRows = data.selectedRows;
      dataTable.value = checkedRows[0].dataTable;
      dataId.value = checkedRows[0].dataId;
      dataId1.value = checkedRows[0].id;
      dataId2.value = checkedRows[1].id;
      initDataVersionList();
    }
  });
 
  const [registerDataLogCompareModal, { openModal }] = useModal();
 
  function handleChange1(value) {
    dataId1.value = value;
  }
 
  function handleChange2(value) {
    dataId2.value = value;
  }
 
  function handleSubmit() {
    let result = { dataId1: dataId1.value, dataId2: dataId2.value };
    openModal(true, {
      result,
      isUpdate: true,
    });
    closeModal();
  }
 
  function initDataVersionList() {
    queryDataVerList({ dataTable: dataTable.value, dataId: dataId.value }).then((res) => {
      dataVersionList.value = res.map((value, key, arr) => {
        arr['label'] = value;
        return arr;
      });
      console.info(dataVersionList.value);
    });
  }
</script>
 
<style scoped lang="less">
  .detail-iframe {
    border: 0;
    width: 100%;
    height: 100%;
    min-height: 600px;
  }
</style>