From 4d7d12b5daaabfdb64ec435dd9585ac543528779 Mon Sep 17 00:00:00 2001 From: zhangxiaodi1 Date: Wed, 6 Nov 2024 11:38:48 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E6=A8=A1=E5=9E=8B=E8=A7=84?= =?UTF-8?q?=E5=88=99=E5=8A=9F=E8=83=BD=202.=E4=BF=AE=E6=94=B9=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=A8=A1=E5=9E=8B=E7=9A=84"=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E8=A7=84=E5=88=99"=E6=8C=89=E9=92=AE=E8=B7=B3=E8=BD=AC?= =?UTF-8?q?=E5=88=B0=E6=A8=A1=E5=9E=8B=E5=8F=82=E6=95=B0=E4=B8=BA=E8=B7=B3?= =?UTF-8?q?=E8=BD=AC=E5=88=B0=E6=A8=A1=E5=9E=8B=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/dataset/RepStore/index.ts | 63 ++++ src/api/dataset/RepStore/types.ts | 64 ++++ src/router/index.ts | 14 +- .../dataset/RepDataModel/RepDataModel.vue | 2 +- src/views/dataset/RepStore/RepStore.vue | 298 ++++++++++++++++++ .../dataset/RepStore/components/Detail.vue | 71 +++++ .../dataset/RepStore/components/Write.vue | 171 ++++++++++ src/views/dataset/RepStore/constants.ts | 21 ++ .../RepStoreParameter/RepStoreParameter.vue | 10 +- 9 files changed, 705 insertions(+), 9 deletions(-) create mode 100644 src/api/dataset/RepStore/index.ts create mode 100644 src/api/dataset/RepStore/types.ts create mode 100644 src/views/dataset/RepStore/RepStore.vue create mode 100644 src/views/dataset/RepStore/components/Detail.vue create mode 100644 src/views/dataset/RepStore/components/Write.vue create mode 100644 src/views/dataset/RepStore/constants.ts diff --git a/src/api/dataset/RepStore/index.ts b/src/api/dataset/RepStore/index.ts new file mode 100644 index 0000000..33984df --- /dev/null +++ b/src/api/dataset/RepStore/index.ts @@ -0,0 +1,63 @@ +import request from '@/config/axios'; +import type { TableData } from './types'; + +/** 获取表格数据 */ +export const getRepStoreListApi = (data: any) => { + return request.postJson({ url: '/RepStore/spi/dataset/RepStore/RepStoreQueryPage', data }); +}; + +/** 批量删除 */ +export const delRepStoreListApi = (list: string[] | number[]): Promise => { + const _list = list.map(v => { + return { + modelCode: v.modelCode, + beginDate: v.beginDate, + endDate: v.endDate, + ruleId: v.ruleId, + }; + }); + return request.postJson({ + url: '/RepStore/spi/dataset/RepStore/RepStoreBatchDelete', + data: { + list: _list, + }, + }); +}; + +/** 删除 */ +export const delRepStoreApi = (modelCode?: string, beginDate?: string, endDate?: string, ruleId?: string): Promise => { + return request.postJson({ url: '/RepStore/spi/dataset/RepStore/RepStoreDelete', data: { modelCode, beginDate, endDate, ruleId } }); +}; + +/** 保存 */ +export const saveRepStoreApi = (data: Partial): Promise => { + return request.postJson({ url: '/RepStore/spi/dataset/RepStore/RepStoreSave', data }); +}; + +/** 查询单条数据 */ +export const queryRepStoreApi = (modelCode?: string, beginDate?: string, endDate?: string, ruleId?: string): Promise => { + return request.postJson({ url: '/RepStore/spi/dataset/RepStore/RepStoreQueryOne', data: { modelCode, beginDate, endDate, ruleId } }); +}; + +/** 同步导入 */ +export const importExcelApiUrl = '/RepStore/sui/dataset/RepStore/RepStoreImportExcel'; + +/** 异步导入 */ +export const importExcelAsyncApiUrl = '/RepStore/sui/dataset/RepStore/RepStoreImportAsyncExcel'; + +/** 导出 */ +export const exportExcelApi = (params: any) => { + return request.doExport({ url: '/RepStore/sdi/dataset/RepStore/RepStoreExportXls', params }); +}; + +/** 获取某个字典 */ +export const getCsckCheckType = ({ paramName, systemCode }): Promise => { + return request.postJson({ + url: '/param/spi/param/systemparam', + data: { + paramName: paramName, + systemCode: systemCode, + }, + }); +}; + diff --git a/src/api/dataset/RepStore/types.ts b/src/api/dataset/RepStore/types.ts new file mode 100644 index 0000000..61f9309 --- /dev/null +++ b/src/api/dataset/RepStore/types.ts @@ -0,0 +1,64 @@ +/* eslint-disable lines-around-comment */ + +export type TableData = { + /** 模型编码 */ + modelCode?: string + /** 开始日期 */ + beginDate?: string + /** 结束日期 */ + endDate?: string + /** 数据源 */ + dscode?: string + /** 规则类型 */ + storeType?: string + /** 规则内容 */ + storeContent?: string + /** 操作类型 */ + storeOperateType?: string + /** 存储规则id */ + ruleId?: string + /** 数据库用户 */ + scheme?: string + /** 表名 */ + tableName?: string + /** 校验结果表的表名 */ + validateResultTable?: string + /** 数据规则 */ + dataRule?: string + /** 备份数据源 */ + redscode?: string +} + +export interface DictItem { + dictId: string; + dictName: string; +} + +export type FormModel = { + /** 模型编码 */ + modelCode?: string + /** 开始日期 */ + beginDate?: string + /** 结束日期 */ + endDate?: string + /** 数据源 */ + dscode?: string + /** 规则类型 */ + storeType?: string + /** 规则内容 */ + storeContent?: string + /** 操作类型 */ + storeOperateType?: string + /** 存储规则id */ + ruleId?: string + /** 数据库用户 */ + scheme?: string + /** 表名 */ + tableName?: string + /** 校验结果表的表名 */ + validateResultTable?: string + /** 数据规则 */ + dataRule?: string + /** 备份数据源 */ + redscode?: string +} diff --git a/src/router/index.ts b/src/router/index.ts index 1b03abd..b96db87 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -1939,7 +1939,19 @@ export const asyncRouterMap: AppRouteRecordRaw[] = [ type:"ybt", sort:12, } - } + }, + { + path: 'repStore', + component: () => import('@/views/dataset/RepStore/RepStore.vue'), + name: 'repStore', + menuId: 'repStore', + meta: { + title: '模型规则', + alwaysShow: true, + type:"ybt", + sort:13, + } + }, ] }, { diff --git a/src/views/dataset/RepDataModel/RepDataModel.vue b/src/views/dataset/RepDataModel/RepDataModel.vue index 317df36..82d6a40 100644 --- a/src/views/dataset/RepDataModel/RepDataModel.vue +++ b/src/views/dataset/RepDataModel/RepDataModel.vue @@ -183,7 +183,7 @@ const action = async (row: TableData, type: string) => { const getModelParam = (data)=>{ console.log(data); router.push({ - name:'repStoreParameter', + name:'repStore', query:{ modelCode:data.modelCode, } diff --git a/src/views/dataset/RepStore/RepStore.vue b/src/views/dataset/RepStore/RepStore.vue new file mode 100644 index 0000000..504bc0c --- /dev/null +++ b/src/views/dataset/RepStore/RepStore.vue @@ -0,0 +1,298 @@ + + + \ No newline at end of file diff --git a/src/views/dataset/RepStore/components/Detail.vue b/src/views/dataset/RepStore/components/Detail.vue new file mode 100644 index 0000000..3ffb295 --- /dev/null +++ b/src/views/dataset/RepStore/components/Detail.vue @@ -0,0 +1,71 @@ + + + diff --git a/src/views/dataset/RepStore/components/Write.vue b/src/views/dataset/RepStore/components/Write.vue new file mode 100644 index 0000000..e040b11 --- /dev/null +++ b/src/views/dataset/RepStore/components/Write.vue @@ -0,0 +1,171 @@ + + + + diff --git a/src/views/dataset/RepStore/constants.ts b/src/views/dataset/RepStore/constants.ts new file mode 100644 index 0000000..a4cf51e --- /dev/null +++ b/src/views/dataset/RepStore/constants.ts @@ -0,0 +1,21 @@ +export const OPERATION_TYPE_LIST = [//操作类型,1表,2sql + { + value:"1", + label:"表" + }, + { + value:"2", + label:"sql" + } +] + +export const RULE_TYPE_LIST = [//规则类型 1只读,2读写) + { + value:"1", + label:"只读" + }, + { + value:"2", + label:"读写" + } +] \ No newline at end of file diff --git a/src/views/dataset/RepStoreParameter/RepStoreParameter.vue b/src/views/dataset/RepStoreParameter/RepStoreParameter.vue index 34a2423..4b013a9 100644 --- a/src/views/dataset/RepStoreParameter/RepStoreParameter.vue +++ b/src/views/dataset/RepStoreParameter/RepStoreParameter.vue @@ -22,12 +22,9 @@ import { Dialog } from '@/components/Dialog' import { getWidth } from '@/utils'; import Detail from './components/Detail.vue' import { Upload } from '@/components/Upload' -import {useRoute} from "vue-router" -const route = useRoute(); const { t } = useI18n() const pageQuery = ref(route || null); -const modelCode = pageQuery.value?.query?.modelCode; -const ids = ref([]) + const { tableRegister, tableState, tableMethods } = useTable({ fetchDataApi: async () => { @@ -125,8 +122,7 @@ const searchSchema = reactive([ field: 'modelCode', label: '模型编码', componentProps: {}, - component: 'Input', - value:modelCode + component: 'Input' }, { field: 'name', @@ -141,7 +137,7 @@ const setSearchParams = (data: any) => { searchParams.value = data getList() } -setSearchParams({modelCode:modelCode}) + const dialogVisible = ref(false) const dialogTitle = ref('')