wujingjing
2025-01-02 d1a8061067e21463d8544be8bd840984596ed4a9
src/views/project/yw/systemManage/dataSourceMgr/DataSourceMgr.vue
@@ -24,52 +24,22 @@
               :data="displayTableData"
               highlight-current-row
            >
               <el-table-column type="expand" fixed="left">
                  <template #default="scope">
                     <div class="ml-16">
                        <h3 >数据源配置</h3>
                        <div v-if="scope.row.config" class="mt-3">
                           <div class="w-2/3">
                              <div>
                                 <span >驱动:</span>
                                 <span>{{ scope.row.config.driver }}</span>
                              </div>
                              <div>
                                 <span >地址:</span>
                                 <span>{{ scope.row.config.url }}</span>
                              </div>
                              <div>
                                 <span >用户名:</span>
                                 <span>{{ scope.row.config.user }}</span>
                              </div>
                              <div>
                                 <span >密码:</span>
                                 <span>{{ scope.row.config.pass }}</span>
                              </div>
                           </div>
                        </div>
                     </div>
                  </template>
               </el-table-column>
               -->
               <el-table-column prop="title" label="名称"  fixed="left" show-overflow-tooltip> </el-table-column>
               <el-table-column type="index" label="序号" width="55" fixed="left" align="center"></el-table-column>
               <el-table-column prop="title" label="名称" fixed="left" show-overflow-tooltip> </el-table-column>
               <el-table-column label="数据库类型" prop="db_type" width="140" show-overflow-tooltip> </el-table-column>
               <el-table-column label="类型" prop="type" width="100" show-overflow-tooltip>
               </el-table-column>
               <el-table-column label="类型" prop="type" width="100" show-overflow-tooltip> </el-table-column>
               <el-table-column label="操作" width="200" fixed="right" show-overflow-tooltip>
                  <template #default="scope">
                     <div class="space-x-3 items-center flex">
                        <!-- <el-tooltip effect="dark" content="编辑" placement="top">
                           <i class="ywifont ywicon-bianji !text-[15px] text-blue-400 cursor-pointer" @click="openOptDlg(scope.row)"></i>
                        </el-tooltip> -->
                        <el-tooltip effect="dark" content="数据源配置" placement="top">
                           <i class="ywifont ywicon-shujuguanli !text-[16px] text-blue-400 cursor-pointer" @click="openDataSourceConfigDlg(scope.row)"></i>
                        </el-tooltip>
                        <el-tooltip effect="dark" content="删除" placement="top">
                        <!-- <el-tooltip effect="dark" content="删除" placement="top">
                           <i
                              class="ywifont ywicon-shanchu !text-[17px] text-red-400 cursor-pointer"
                              @click="
@@ -86,60 +56,36 @@
                  </template>
               </el-table-column>
            </el-table>
         </div>
      </template>
      <!-- <OptDlg v-model="optDlgIsShow" :item="optDlgMapRow" @insert="insertOpt" @update="updateOpt" :groupId="currentListID"></OptDlg> -->
      <!-- <MetricPrompt v-model="infoDlgIsShow" :metricItem="infoDlgMapRow"></MetricPrompt>
      <MetricName v-model="metricNameIsShow" :metricItem="metricNameMapRow"></MetricName> -->
      <DataSourceConfigDlg v-model="dataSourceConfigDlgIsShow" :item="dataSourceConfigDlgMapRow"></DataSourceConfigDlg>
   </HMContainer>
</template>
<script setup lang="ts">
import { useDraggable } from '@vueuse/core';
import { deleteCurrentRow } from '/@/utils/util';
import { onMounted, ref } from 'vue';
import { usePageDisplay } from '/@/hooks/usePageDisplay';
import { useQueryTable } from '/@/hooks/useQueryTable';
// import { useTableSort } from '/@/hooks/useTableSort';
// import { useValidateUniqueness } from '/@/hooks/useValidateUniqueness';
import { ElMessage } from 'element-plus';
import { nextTick } from 'vue';
import OptDlg from './optDlg/OptDlg.vue';
import * as dataSourceApi from '/@/api/dataSource';
import { checkSupervisorValidate, updatePublishStatus } from '/@/api/supervisorAdmin';
import Chat from '/@/components/chat/Chat.vue';
import { gotoRoute } from '/@/utils/route';
import { useCompRef } from '/@/utils/types';
import axios, { CancelTokenSource } from 'axios';
import { updatePublishStatus } from '/@/api/supervisorAdmin';
import DataSourceConfigDlg from './components/DataSourceConfigDlg.vue';
import { SupervisorPublished } from '../../lowCode/sqlAmis/types';
import HMContainer from '/@/components/layout/HMContainer.vue';
import { useUpdateData } from '/@/hooks/useUpdateData';
import { SupervisorPublished, supervisorPublishedMap } from '../../lowCode/sqlAmis/types';
import MetricPrompt from './optDlg/MetricPrompt.vue';
import MetricName from './optDlg/MetricName.vue';
//#region ====================== 表格数据,table init ======================
const tableLoading = ref(false);
const tableData = ref([]);
const isDragStatus = ref(false);
const getTableData = async () => {
   // const res = await dataSourceApi.getDataSourceList();
   const res = {
      values:[{
         id:'32',
         title:'数据库43',
         type:'JDBC',
         config:{
            driver:'org.postgresql.Driver',
            url:"jdbc:postgresql://192.168.123.43:5432/hswater_supply?Ap",
            user:"postgres",
            pass:"*****"
         }
      }]
   }
   const res = await dataSourceApi.getDataSourceList();
   tableData.value = res?.values ?? [];
};
//#endregion
@@ -225,7 +171,6 @@
};
//#endregion
//#region ====================== 更新发布状态 ======================
// useUpdateData({
//    event: 'supervisor.publish',
@@ -234,6 +179,14 @@
//    },
// });
//#endregion
//#region ====================== 数据源配置弹窗 ======================
const dataSourceConfigDlgIsShow = ref(false);
const dataSourceConfigDlgMapRow = ref(null);
const openDataSourceConfigDlg = (row?: any) => {
   dataSourceConfigDlgMapRow.value = row;
   dataSourceConfigDlgIsShow.value = true;
};
//#endregion
onMounted(() => {
   getTableData();
});