diff --git a/src/api/reporting/RepTemplate/RepTemplate/index.ts b/src/api/reporting/RepTemplate/RepTemplate/index.ts index 29fa3cb..9ebe720 100644 --- a/src/api/reporting/RepTemplate/RepTemplate/index.ts +++ b/src/api/reporting/RepTemplate/RepTemplate/index.ts @@ -47,8 +47,8 @@ export const exportTemplateApi = (params: any) => { return request.doExport({ url: '/RepTemplate/sdi/reporting/RepTemplate/RepTemplateExportXls', params }); }; -/** 获取某个字典 */ -export const getCsckCheckType = ({ paramName, systemCode }): Promise => { +/** 获取报告分类 */ +export const getCategory = ({ paramName, systemCode }): Promise => { return request.postJson({ url: '/param/spi/param/systemparam', data: { diff --git a/src/api/reporting/RepTemplate/RepTemplate/types.ts b/src/api/reporting/RepTemplate/RepTemplate/types.ts index af61baa..335ce97 100644 --- a/src/api/reporting/RepTemplate/RepTemplate/types.ts +++ b/src/api/reporting/RepTemplate/RepTemplate/types.ts @@ -53,4 +53,4 @@ export type FormModel = { tDescription?: string /** 所属机构 */ organCode?: string -} +} \ No newline at end of file diff --git a/src/router/index.ts b/src/router/index.ts index db5f60a..8fabd00 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -1818,7 +1818,16 @@ export const asyncRouterMap: AppRouteRecordRaw[] = [ name: 'indexClassManage', menuId: 'indexClassManage', meta: { - title: '指标分类管理', + title: '指标分类管理' + } + }, + { + path: 'indexSearchServiceMs', + component: () => import('@/views/dataset/IndexSearchServiceMs/IndexSearchServiceMs.vue'), + name: 'IndexSearchServiceMs', + menuId: 'indexSearchServiceMs', + meta: { + title: '指标查询', alwaysShow: true, type:"ybt", sort:4, diff --git a/src/views/dataset/IndexClassMs/IndexClassMs.vue b/src/views/dataset/IndexClassMs/IndexClassMs.vue index 4eee44d..e2d0862 100644 --- a/src/views/dataset/IndexClassMs/IndexClassMs.vue +++ b/src/views/dataset/IndexClassMs/IndexClassMs.vue @@ -27,8 +27,11 @@ import { ContentWrap } from '@/components/ContentWrap' import Write from './components/Write.vue' import Detail from './components/Detail.vue' import { Dialog } from '@/components/Dialog' +import router from '@/router' - +defineOptions({ + name: 'IndexSearchServiceMs', +}); const { t } = useI18n() const ids = ref([]) @@ -55,6 +58,10 @@ const { tableRegister, tableState, tableMethods } = useTable({ const { loading, dataList, total, currentPage, pageSize } = tableState const { getList, refresh } = tableMethods +const lookRule = async (row: any) => { + router.push(`/dataset/indexSearchServiceMs`) +}; + const tableColumns = reactive([ { field: 'selection', @@ -92,6 +99,9 @@ const tableColumns = reactive([ default: (data: any) => { return ( <> + action(data.row, 'edit')}> + {t('tableDemo.edit')} + ([ }} onConfirm={() => delData(data.row)} > - action(data.row, 'detail')}> + lookRule(data.row)}> {'查询'} diff --git a/src/views/dataset/IndexClassMs/components/Write.vue b/src/views/dataset/IndexClassMs/components/Write.vue index 3506d79..4d75c98 100644 --- a/src/views/dataset/IndexClassMs/components/Write.vue +++ b/src/views/dataset/IndexClassMs/components/Write.vue @@ -23,27 +23,33 @@ const { setValues, getFormData, getElFormExpose } = formMethods const formSchema = reactive([ { field: 'dicid', - label: '分类编号' + label: '分类编号', + component: 'Input', }, { field: 'dicname', - label: '分类名称' + label: '分类名称', + component: 'Input', }, { field: 'dicvalue', - label: '分类值' + label: '分类值', + component: 'Input', }, { field: 'parentname', - label: '上级分类' + label: '上级分类', + component: 'Input', }, { field: 'description', - label: '分类描述' + label: '分类描述', + component: 'Input', }, { field: 'status', - label: '分类状态' + label: '分类状态', + component: 'Input', } ]) diff --git a/src/views/dataset/IndexMannageMs/IndexMannageMs.vue b/src/views/dataset/IndexMannageMs/IndexMannageMs.vue index d6e0156..f1fd430 100644 --- a/src/views/dataset/IndexMannageMs/IndexMannageMs.vue +++ b/src/views/dataset/IndexMannageMs/IndexMannageMs.vue @@ -19,7 +19,7 @@ import RuleConfig from './components/Ruleconfig.vue' import Write from './components/Write.vue' import { Dialog } from '@/components/Dialog' import { getWidth } from '@/utils'; -import { method } from 'lodash-es' +import { INDEX_CATAGOTY_LIST } from './constants' const { t } = useI18n() /** @@ -197,7 +197,9 @@ const indexDefineSearchSchema = reactive([ { field: 'tCategory', label: '指标计算类型', - componentProps: {}, + componentProps: { + options:INDEX_CATAGOTY_LIST + }, component: 'Select' }, { diff --git a/src/views/dataset/IndexMannageMs/constants.ts b/src/views/dataset/IndexMannageMs/constants.ts index e69de29..b483b84 100644 --- a/src/views/dataset/IndexMannageMs/constants.ts +++ b/src/views/dataset/IndexMannageMs/constants.ts @@ -0,0 +1,11 @@ +//指标计算类型 +export const INDEX_CATAGOTY_LIST = [ + { + value:"1", + label:"自动" + }, + { + value:"0", + label:"手动" + }, +] \ No newline at end of file diff --git a/src/views/dataset/IndexSearchServiceMs/IndexSearchServiceMs.vue b/src/views/dataset/IndexSearchServiceMs/IndexSearchServiceMs.vue index 395f3e3..fb2c005 100644 --- a/src/views/dataset/IndexSearchServiceMs/IndexSearchServiceMs.vue +++ b/src/views/dataset/IndexSearchServiceMs/IndexSearchServiceMs.vue @@ -23,6 +23,9 @@ import { useValidator } from '@/hooks/web/useValidator' import { getLoginOrganCodeByUserInfo } from '@/utils/auth' import { getOrganTree } from '@/api/common' +defineOptions({ + name: 'IndexSearchServiceMs', +}); const { t } = useI18n() const { required } = useValidator(); @@ -64,11 +67,11 @@ const tableColumns = reactive([ }, { field: 'createTime', - label: '机构' + label: '机构名称' }, { field: 'tName', - label: '日期' + label: '数据日期' }, { field: 'tCategory', @@ -84,16 +87,17 @@ const searchSchema = reactive([ { field: 'orgCode', label: '机构', + colProps: { span: 100 }, componentProps: { checkStrictly: true, - nodeKey: 'id', - props: { children: 'childs', label: 'nodeName' }, + nodeKey: 'key', + props: { children: 'childrens', label: 'value' }, filterable: true, multiple: true, collapseTags: true, showCheckbox: true, - // style: { minWidth: '300px' }, - style: 'width: 100%', + style: { minWidth: '200px' }, + //style: 'width: 100%', checkOnClickNode: true, }, component: 'TreeSelect', @@ -111,10 +115,13 @@ const searchSchema = reactive([ }, }, { - field: 'tName', + field: 'Datadate', label: '日期', - componentProps: {}, - component: 'Input', + componentProps: { + type: 'date', + valueFormat: 'YYYYMMDD', + }, + component: 'DatePicker', formItemProps: { rules: [required()], }, @@ -223,7 +230,7 @@ const onSelectionChange = (selection: TableData[]) => { disabled.value = selection.length === 0 } const onContextMenu = (row: any, column: any, cell: HTMLTableCellElement, event: Event) => { - console.log(row,column,cell,event); + } @@ -248,14 +255,7 @@ const onContextMenu = (row: any, column: any, cell: HTMLTableCellElement, event: @register="tableRegister" @refresh="refresh" @cell-contextmenu="onContextMenu" - > - - + /> diff --git a/src/views/reporting/RepDataProblem/RepDataProblem.vue b/src/views/reporting/RepDataProblem/RepDataProblem.vue index 7779aa5..c283f52 100644 --- a/src/views/reporting/RepDataProblem/RepDataProblem.vue +++ b/src/views/reporting/RepDataProblem/RepDataProblem.vue @@ -17,10 +17,17 @@ import { FormSchema } from '@/components/Form' import { ContentWrap } from '@/components/ContentWrap' import Write from './components/Write.vue' import { Dialog } from '@/components/Dialog' -import { getWidth } from '@/utils'; +import { getWidth, transfDictList } from '@/utils'; import Detail from './components/Detail.vue' +import { useValidator } from '@/hooks/web/useValidator' +import { getOrganTree } from '@/api/common' +import { getLoginOrganCodeByUserInfo } from '@/utils/auth' +import { getCategory } from '@/api/reporting/RepTemplate/RepTemplate' -const { t } = useI18n() +const { t } = useI18n(); +const { required } = useValidator(); +// 获取当前用户机构号 +const loginOrganCode = getLoginOrganCodeByUserInfo(); const ids = ref([]) @@ -92,29 +99,64 @@ const tableColumns = reactive([ const searchSchema = reactive([ { - field: 'createTime', - label: '生成时间', - componentProps: {type: 'daterange'}, - component: 'DatePicker' + field: 'organCode', + label: '机构', + colProps: { span: 100 }, + componentProps: { + checkStrictly: true, + nodeKey: 'key', + props: { children: 'childrens', label: 'value' }, + filterable: true, + multiple: true, + collapseTags: true, + showCheckbox: true, + style: { minWidth: '200px' }, + //style: 'width: 100%', + checkOnClickNode: true, + }, + component: 'TreeSelect', + optionApi: async () => { + const res = await getOrganTree({ + treeid: '1', + systemCode: 'portal', + loginOrganCode, + }); + return res.body.result; + }, + value: loginOrganCode, + formItemProps: { + rules: [required()], + }, }, { - field: 'tName', - label: '报告名称', - componentProps: {}, - component: 'Input' + field: 'dataDate', + label: '日期', + componentProps: { + type: 'date', + valueFormat: 'YYYYMMDD', + }, + component: 'DatePicker', + formItemProps: { + rules: [required()], + }, }, { field: 'tCategory', label: '报告分类', - componentProps: {}, - component: 'Select' + optionApi: async () => { + const res = await getCategory({ paramName: 'reportingType_param', systemCode: 'ordb' }); + return transfDictList(res.body.result); + }, + value: '1', + component: 'Select' }, { - field: 'organCode', - label: '所属机构', + field: 'tName', + label: '报告名称', componentProps: {}, - component: 'Select' + component: 'Input' } + ]) const searchParams = ref({}) diff --git a/src/views/reporting/RepTemplate/RepTemplate.vue b/src/views/reporting/RepTemplate/RepTemplate.vue index 08965ec..e34d917 100644 --- a/src/views/reporting/RepTemplate/RepTemplate.vue +++ b/src/views/reporting/RepTemplate/RepTemplate.vue @@ -7,19 +7,21 @@ import { delRepTemplateApi, exportTemplateApi, queryRepTemplateApi, + getCategory, } from '@/api/reporting/RepTemplate/RepTemplate' import { TableData } from '@/api/reporting/RepTemplate/RepTemplate/types' import { useTable } from '@/hooks/web/useTable' import { useI18n } from '@/hooks/web/useI18n' import { Table, TableColumn } from '@/components/Table' -import { ElButton, ElLink, ElLoading, ElPopconfirm, ElMessage } from 'element-plus' +import { ElButton, ElLink, ElLoading, ElPopconfirm, ElMessage, ElTag } from 'element-plus' import { Search } from '@/components/Search' import { FormSchema } from '@/components/Form' import { ContentWrap } from '@/components/ContentWrap' import Write from './components/Write.vue' import { Dialog } from '@/components/Dialog' -import { getWidth } from '@/utils'; +import { getWidth, transfDictList } from '@/utils'; import Detail from './components/Detail.vue' +import { REPORTING_TATUS_LIST } from './constants' const { t } = useI18n() @@ -75,10 +77,6 @@ const tableColumns = reactive([ field: 'uploadUser', label: '上传人' }, - { - field: 'tStatus', - label: '状态' - }, { field: 'tVersion', label: '版本' @@ -95,6 +93,19 @@ const tableColumns = reactive([ field: 'tDescription', label: '描述' }, + { + field: 'tStatus', + label: '状态', + formatter:(row:Recordable,_:TableColumn) =>{ + const state=REPORTING_TATUS_LIST.find((item)=>item.value===row.tStatus) + if(state&&state.value =='1'){ + return {state.label} + } + else{ + return 停用 + } + } + }, { field: 'action', label: t('tableDemo.action'), @@ -131,17 +142,15 @@ const tableColumns = reactive([ ].map(item => ({ minWidth: item.label ? getWidth(item.label) : 120, ...item }) as TableColumn)) const searchSchema = reactive([ - { - field: 'tName', - label: '名称', - componentProps: {}, - component: 'Input' - }, { field: 'tCategory', label: '报告分类', - componentProps: {}, - component: 'Select' + component: 'Select', + optionApi: async () => { + const res = await getCategory({ paramName: 'reportingType_param', systemCode: 'ordb' }); + return transfDictList(res.body.result); + }, + value: '1' }, { field: 'createUser', @@ -149,6 +158,12 @@ const searchSchema = reactive([ componentProps: {}, component: 'Input' }, + { + field: 'tName', + label: '名称', + componentProps: {}, + component: 'Input' + }, { field: 'createTime', label: '上传时间', @@ -249,7 +264,6 @@ const disabled = ref(true) const onSelectionChange = (selection: TableData[]) => { disabled.value = selection.length === 0 } - + diff --git a/src/views/reporting/RepTemplate/constants.ts b/src/views/reporting/RepTemplate/constants.ts index e69de29..627a70b 100644 --- a/src/views/reporting/RepTemplate/constants.ts +++ b/src/views/reporting/RepTemplate/constants.ts @@ -0,0 +1,11 @@ +//报告状态选择列表 +export const REPORTING_STATUS_LIST = [ + { + value:"1", + label:"启用" + }, + { + value:"0", + label:"停用" + }, +] \ No newline at end of file