Browse Source

增加数据源模块

qin_v12
hreenshan112 11 months ago
parent
commit
6f6ca837f5
  1. 8
      src/api/DesignForm/requestapi.ts
  2. 108
      src/components/DesignForm/formControlPropertiNew.vue
  3. 1
      src/components/dataSource/index.vue

8
src/api/DesignForm/requestapi.ts

@ -613,3 +613,11 @@ export function editAppMenusIcon(data: any) {
data: data
});
}
//获取有源数据表字段
export function gainDataStorceAllField(data: any) {
return request({
url: '/systemapi/app/gainDataStorceAllField',
method: 'post',
data: data
});
}

108
src/components/DesignForm/formControlPropertiNew.vue

@ -15,7 +15,11 @@ import { ElMessage } from "element-plus";
import { formatNumber } from "@/api/DesignForm/utils";
import { PublicAtrr } from "@/api/DesignForm/types";
import { chineseToPinyin, customerFormGroupList } from "@/api/DesignForm/requestapi";
import {
chineseToPinyin,
customerFormGroupList,
gainDataStorceAllField,
} from "@/api/DesignForm/requestapi";
import request from "@/utils/request";
//
@ -181,7 +185,7 @@ const formAttr = computed(() => {
{
label: "表单名称",
placeholder: "用于保存的表单名称",
value: props.formOtherData.formName,
value: formData.value.formName,
key: "formName",
hide: isSearch,
disabled: false,
@ -3290,6 +3294,14 @@ const gainFormGroupList = () => {
})
.finally(() => {
loadingmore.value = false;
console.log("组件加载完毕--------1----------->", formData.value);
console.log("组件加载完毕--------2----------->", props.formList);
console.log("组件加载完毕--------3----------->", state.dataSourceList);
if (formData.value.dataSource == "yes" && state.dataSourceList.length < 1) {
console.log("组件加载完毕--------4----------->", state.dataSourceList);
tableFileList();
}
});
};
let asfs: any[] = [];
@ -3381,11 +3393,50 @@ watch(
);
onMounted(() => {
//console.log("------------------->",props.formData,props.formList)
gainFormGroupList();
});
watch(
() => state.tabsName,
(val: string) => {
console.log("监听字段切换", val);
if (val == "first") {
if (formData.value.dataSource == "yes" && state.dataSourceList.length < 1) {
console.log("组件加载完毕--------4----------->", formData.value);
tableFileList();
}
}
},
{
deep: true,
}
);
/**
@ 作者: 秦东
@ 时间: 2025-01-03 14:57:18
@ 功能: 获取有源数据库表单
*/
const tableFileList = () => {
let sendData = {
id: formData.value.dataSourceConfig.id,
sqlType: formData.value.dataSourceConfig.dsn.sqlType,
name: formData.value.dataSourceConfig.dsn.dataBaseName,
tableName: formData.value.dataSourceConfig.tableKey,
host: formData.value.dataSourceConfig.dsn.ip,
prot: formData.value.dataSourceConfig.dsn.port,
user: formData.value.dataSourceConfig.dsn.userName,
pwd: formData.value.dataSourceConfig.dsn.password,
};
gainDataStorceAllField(sendData)
.then((data) => {
console.log("获取有源数据库表单", data);
// formGroup.value = data.data;
state.dataSourceList = data.data;
})
.finally(() => {});
};
/**
@ 作者: 秦东
@ 时间: 2024-03-19 09:17:51
@ -3601,28 +3652,29 @@ watch(
(val: string) => {
if (val == "yes") {
formAttr.value.forEach((item) => {
console.log(item.label, "item.", item.type);
console.log(item.label, "====", "item.", item.type);
if (!item.hide) {
if (!item.type) {
// console.log(item.label, "item.", item.type);
item.disabled = true;
}
}
// if (item.key == "formName" || item.key == "name") {
// item.disabled = true;
// }
});
} else {
formData.value.dataSourceConfig.id = "";
formData.value.dataSourceConfig.dataBaseName = "";
formData.value.dataSourceConfig.tableName = "";
formData.value.dataSourceConfig.tableKey = "";
formData.value.dataSourceConfig.dsn = {
dataBaseName: "",
ip: "",
port: 0,
userName: "",
password: "",
};
formData.value.dataSourceConfig.id = "";
formData.value.dataSourceConfig.dataBaseName = "";
formData.value.dataSourceConfig.tableName = "";
formData.value.dataSourceConfig.tableKey = "";
formData.value.dataSourceConfig.dsn = {
dataBaseName: "",
ip: "",
port: 0,
userName: "",
password: "",
};
formAttr.value.forEach((item) => {
console.log(item.label, "item.", item.type);
@ -3632,6 +3684,9 @@ watch(
item.disabled = false;
}
}
// if (item.key == "formName" || item.key == "name") {
// item.disabled = false;
// }
});
}
},
@ -3672,9 +3727,18 @@ const updataBase = (val: any) => {
// dataList.value = val.fields;
state.dataSourceList = val.fields;
console.log("设定关联数据------1-------》", state.dataSourceList);
console.log("设定关联数据------2-------》", val.fields);
console.log("设定关联数据------3-------》", state.dataSourceList);
formData.value.name = val.tableKey;
formData.value.formName = val.tableName;
// formAttr.value.forEach((item) => {
// if (item.key == "formName" || item.key == "name") {
// item.disabled = true;
// }
// });
// console.log("------1-------", state.dataSourceList);
// console.log("------2-------", val.fields);
// console.log("------3-------", state.dataSourceList);
};
</script>
<template>
@ -4620,8 +4684,6 @@ const updataBase = (val: any) => {
</el-form>
</el-tab-pane>
<el-tab-pane label="表单配置" name="second">
{{ formData }}<br />
{{ formData.dataSource }}
<el-form size="small" class="form">
<el-divider content-position="left">基础配置</el-divider>
<el-form-item v-if="formConfig.classify != 4" class="form_cont">

1
src/components/dataSource/index.vue

@ -204,6 +204,7 @@ const pickData = () => {
tableKey: pickTable.tableKey,
fields: pickTable.fields,
dsn: {
sqlType: dataBaseLiskt.type,
dataBaseName: dataBaseLiskt.dataBaseName,
ip: dataBaseLiskt.ip,
port: dataBaseLiskt.port,

Loading…
Cancel
Save