修改数据模型的样式已经提示信息

main
于阔 9 months ago
parent d9d3291fb1
commit b77aacb812

@ -61,3 +61,17 @@ export const getCsckCheckType = ({ paramName, systemCode }): Promise<IResponse>
});
};
/* 获取数据源列表 */
export const RepStoreGeyDataSource = (params: any) => {
return request.postJson({url:'/RepStore/spi/dataset/RepStore/RepStoreGeyDataSource', params })
}
//获取schema
export const RepStoreGeySchema = (params: any) => {
return request.postJson({url:'/RepStore/spi/dataset/RepStore/RepStoreGeySchema', params })
}
//获取数据库表信息
export const RepStoreGeyTables = (params: any) => {
return request.postJson({url:'/RepStore/spi/dataset/RepStore/RepStoreGeyTables', params })
}

@ -80,9 +80,9 @@ const tableColumns = reactive<TableColumn[]>([
field: 'storeType',
label: '规则类型',
slots:{
default:(data:any)=>{
return <span>{RULE_TYPE_LIST[data.row.storeType -1]?.label}</span>
}
default:(data:any)=>{
return <span>{RULE_TYPE_LIST[data.row.storeType -1]?.label}</span>
}
}
},
{
@ -101,8 +101,9 @@ const tableColumns = reactive<TableColumn[]>([
{
field: 'action',
label: t('tableDemo.action'),
width: 240,
width: 220,
fixed: 'right',
headerAlign:"center",
slots: {
default: (data: any) => {
return (
@ -231,11 +232,12 @@ const save = async () => {
if (formData) {
saveLoading.value = true
const res = await saveRepStoreApi(formData)
.catch(() => {})
.catch(() => {ElMessage.error('保存失败!');})
.finally(() => {
saveLoading.value = false
})
if (res) {
ElMessage.success(res.head.code == '0'?'保存成功':res.head.msg);
dialogVisible.value = false
currentPage.value = 1
getList()
@ -308,7 +310,7 @@ const exportExcel = async () => {
</Table>
</ContentWrap>
<Dialog v-model="dialogVisible" :title="dialogTitle">
<Dialog v-model="dialogVisible" :title="dialogTitle" width="800px">
<Write
v-if="actionType !== 'detail'"
ref="writeRef"

@ -4,58 +4,48 @@ import { TableData } from '@/api/dataset/RepStore/types'
import { Descriptions, DescriptionsSchema } from '@/components/Descriptions'
const detailSchema = ref<DescriptionsSchema[]>([
{
field: 'modelCode',
label: '模型编码 '
},
{
field: 'beginDate',
label: '开始日期'
},
{
field: 'endDate',
label: '结束日期'
},
{
field: 'dscode',
label: '数据源'
},
{
field: 'storeType',
label: '规则类型'
label: '数据源',
},
{
field: 'storeContent',
label: '规则内容'
field: 'redscode',
label: '备份数据源'
},
{
field: 'storeOperateType',
label: '操作类型'
label: '操作类型',
},
{
field: 'ruleId',
label: '存储规则id'
field: 'storeType',
label: '类型',
},
{
field: 'schema',
label: '数据库用户'
label: 'schema',
},
{
field: 'tableName',
label: ''
field:"tableName",
label:'数据表',
},
{
field: 'validateResultTable',
label: '校验结果表的表名'
label: '校验结果表',
},
{
field: 'dataRule',
label: '数据规则'
field:"storeContent",
label:"数据集合",
},
{
field: 'redscode',
label: '备份数据源'
}
field: 'beginDate',
label: '开始日期'
},
{
field: 'endDate',
label: '结束日期'
},
])
defineProps({

@ -3,7 +3,8 @@ import { Form, FormSchema } from '@/components/Form'
import { useForm } from '@/hooks/web/useForm'
import { PropType, reactive, watch } from 'vue'
import { useValidator } from '@/hooks/web/useValidator'
import { OPERATION_TYPE_LIST,RULE_TYPE_LIST } from '../constants';
import { OPERATION_TYPE_LIST,RULE_TYPE_LIST,getRepStoreGeyDataSource,getRepStoreGeySchema,getRepStoreGeyTables } from '../constants';
import {ref} from "vue"
const { required } = useValidator()
@ -21,124 +22,313 @@ const props = defineProps({
const { formRegister, formMethods } = useForm()
const { setValues, getFormData, getElFormExpose } = formMethods
let gradeShow = ref(true);//
//
let dataSource = reactive({
dscode:'',
dsname:'',
});
const formSchema = reactive<FormSchema[]>([
{
field: 'modelCode',
label: '模型编码 ',
component: 'Input',
field: '',
label: '基础信息 ',
component: 'Divider',
},
{
field: 'dscode',
label: '数据源',
component: 'Select',
colProps:{
span:24
},
componentProps: {
on:{
change:async (value)=>{
dataSource = value?formSchema[1].componentProps.options.find(item=>item.dscode==value):{};
if(dataSource.dscode){
formSchema[5].componentProps.options = await getRepStoreGeySchema(dataSource)?await getRepStoreGeySchema(dataSource):[];
formSchema[6].componentProps.options = await getRepStoreGeyTables(dataSource)?await getRepStoreGeyTables(dataSource):[];
}
// formSchema.find(item=>item.field=='schema')?.componentProps.optionsApi = async ()=>{return await getRepStoreGeySchema(dataSource);}
// formSchema.find(item=>item.field=='tableName')?.componentProps.optionsApi = async ()=>{return await getRepStoreGeyTables(dataSource);}
}
}
},
optionApi: async ()=>{return await getRepStoreGeyDataSource()}
},
{
field: 'redscode',
label: '备份数据源',
component: 'Select',
colProps:{
span:24
},
optionApi: async ()=>{return await getRepStoreGeyDataSource()}
},
{
field: 'storeOperateType',
label: '操作类型',
component: 'Select',
colProps:{
span:24
},
componentProps: {
options:OPERATION_TYPE_LIST,
style:{width:'100%'},
},
value:'1'
},
{
field: 'storeType',
label: '类型',
component: 'Select',
colProps:{
span:24
},
componentProps: {
options:RULE_TYPE_LIST,
style:{width:'100%'},
},
value:'1'
},
{
field: 'schema',
label: 'schema',
colProps:{
span:24
},
component: 'Select',
componentProps:{
options:[]
}
},
{
field: 'ruleId',
label: '存储规则id',
component: 'Input',
field:"tableName",
label:'数据表',
colProps:{
span:24
},
component: 'Select',
componentProps:{
options:[]
}
},
{
field: 'validateResultTable',
label: '校验结果表',
component: 'Select',
colProps:{
span:24
},
componentProps: {
},
},
{
field: 'beginDate',
label: '开始日期',
component: 'DatePicker',
field:"storeContent",
label:"数据集合",
component:"Input",
colProps:{
span:24
},
componentProps: {
valueFormat: 'YYYYMMDD',
style:{width:'100%'}
type:'textarea',
},
},
{
field: 'endDate',
label: '结束日期',
component: 'DatePicker',
field:"date",
label:'日期',
component:"DatePicker",
colProps:{
span:24
},
componentProps: {
valueFormat: 'YYYYMMDD',
style:{width:'100%'}
type:'daterange',
style:{width:'100%'},
valueFormat:'YYYYMMDD',
rangeSeparator:'到',
},
},
// {
// field: 'beginDate',
// label: '',
// component: 'DatePicker',
// componentProps: {
// valueFormat: 'YYYYMMDD',
// style:{width:'100%'}
// },
// },
// {
// field: 'endDate',
// label: '',
// component: 'DatePicker',
// componentProps: {
// valueFormat: 'YYYYMMDD',
// style:{width:'100%'}
// },
// },
{
field: 'dscode',
label: '数据源',
component: 'Input',
field:"controlShowGrade",
label: `高级(点击${gradeShow.value?'展开':'收起'})`,
component:"Divider",
componentProps:{
contentPosition:"center",
borderStyle :'dashed',
style:{
fontSize:"20px !important",
color:'rgb(29 127 29) !important',
},
onClick:()=>{
gradeShow.value = !gradeShow.value;
formSchema.forEach(item=>{
if(item.field == 'controlShowGrade'){
item.label = `高级(点击${gradeShow.value?'展开':'收起'})`;
}
for(let i in item){
if(i == 'remove' || i == 'hidden'){
item[i] = gradeShow.value;
}
}
})
},
class:'cursor-pointer'
},
},
{
field:"",
label:"校验结果信息",
component:"Divider",
remove:gradeShow.value
},
{
field:"chkDscode",
label:"校验结果信息数据源",
component:"Select",
colProps:{
span:24
},
componentProps: {
},
hidden:gradeShow.value
},
{
field: 'storeType',
label: '规则类型',
component: 'Select',
field:"chkSchema",
label:"schema",
component:"Select",
colProps:{
span:24
},
componentProps: {
options:RULE_TYPE_LIST,
style:{width:'100%'},
},
value:'1'
hidden:gradeShow.value
},
{
field: 'storeContent',
label: '规则内容',
component: 'Input',
field:"chkTablename",
label:"物理表",
component:"Select",
colProps:{
span:24
},
componentProps: {
},
hidden:gradeShow.value
},
{
field: 'storeOperateType',
label: '操作类型',
component: 'Select',
field:"",
label:"日志数据",
component:"Divider",
remove:gradeShow.value
},
{
field:"logDscode",
label:"校验结果信息数据源",
component:"Select",
colProps:{
span:24
},
componentProps: {
options:OPERATION_TYPE_LIST,
style:{width:'100%'},
},
value:'1'
hidden:gradeShow.value
},
{
field: 'schema',
label: '数据库用户',
component: 'Input',
field:"logSchema",
label:"schema",
component:"Select",
colProps:{
span:24
},
componentProps: {
},
hidden:gradeShow.value
},
{
field: 'tableName',
label: '表名',
component: 'Input',
field:"logTablename",
label:"物理表",
component:"Select",
colProps:{
span:24
},
componentProps: {
},
hidden:gradeShow.value
},
{
field: 'validateResultTable',
label: '校验结果表的表名',
component: 'Input',
field:"",
label:"抽样数据",
component:"Divider",
remove:gradeShow.value
},
{
field:"resDscode",
label:"校验结果信息数据源",
component:"Select",
colProps:{
span:24
},
componentProps: {
},
hidden:gradeShow.value
},
{
field: 'dataRule',
label: '数据规则',
component: 'Input',
field:"resSchema",
label:"schema",
component:"Select",
colProps:{
span:24
},
componentProps: {
},
hidden:gradeShow.value
},
{
field: 'redscode',
label: '备份数据源',
component: 'Input',
field:"resTablename",
label:"物理表",
component:"Select",
colProps:{
span:24
},
componentProps: {
},
}
hidden:gradeShow.value
},
])
const rules = reactive({
modelCode: [required()],
beginDate: [required()],
endDate: [required()],
ruleId: [required()],
dscode: [required()],//
storeType:[required()],//
storeOperateType:[required()],//
storeContent:[required()],//
date:[required()],//
})
const submit = async () => {
@ -147,7 +337,11 @@ const submit = async () => {
console.log(err)
})
if (valid) {
const formData = await getFormData()
const formData = await getFormData();
if(formData.date){
formData.beginDate = formData.date[0];
formData.endDate = formData.date[1];
}
return formData
}
}

@ -1,3 +1,8 @@
import {
RepStoreGeyDataSource,
RepStoreGeySchema,
RepStoreGeyTables
} from '@/api/dataset/RepStore'
export const OPERATION_TYPE_LIST = [//操作类型1表2sql
{
value:"1",
@ -18,4 +23,44 @@ export const RULE_TYPE_LIST = [//规则类型 1只读2读写
value:"2",
label:"读写"
}
]
]
//获取数据源
export async function getRepStoreGeyDataSource(){
let DATASOURCE_LIST = [];
await RepStoreGeyDataSource({}).then(res=>{
if(res.head.code == 0){
DATASOURCE_LIST = res.body.list;
DATASOURCE_LIST = DATASOURCE_LIST.map(item=>{
return {
...item,
value:item.dscode,
label:item.dsname
}
})
}
})
return DATASOURCE_LIST;
}
//获取schema
export async function getRepStoreGeySchema(params){
let SCHEMA_LIST = [];
await RepStoreGeySchema(params).then(res=>{
if(res.head.code == 0){
SCHEMA_LIST = res.body.list;
}
})
return SCHEMA_LIST;
}
//获取数据表
export async function getRepStoreGeyTables(params){
let TABLE_LIST = [];
await RepStoreGeyTables(params).then(res=>{
if(res.head.code == 0){
TABLE_LIST = res.body.list;
}
})
return TABLE_LIST;
}

@ -121,8 +121,9 @@ const tableColumns = reactive<TableColumn[]>([
{
field: 'action',
label: t('tableDemo.action'),
width: 160,
width: 120,
fixed: 'right',
headerAlign:'center',
slots: {
default: (data: any) => {
return (
@ -232,11 +233,12 @@ const save = async () => {
if (formData) {
saveLoading.value = true
const res = await saveRepStoreMappingApi(formData)
.catch(() => {})
.catch(() => {ElMessage.warning('保存失败')})
.finally(() => {
saveLoading.value = false
})
if (res) {
ElMessage.success(res.head.code == '0'?'保存成功':res.head.msg);
dialogVisible.value = false
currentPage.value = 1
getList()

Loading…
Cancel
Save