main
yangyuanshuai 9 months ago
parent 1732e4bcba
commit 3e0fd44e0a

@ -48,8 +48,8 @@ export const exportExcelApi = (params: any) => {
}; };
/** 生成WordBytes */ /** 生成WordBytes */
export const saveWordBytes = (tId?: string, organCode?: string, dataDate?: string) : Promise<IResponse> => { export const saveWordBytes = (tId?: string, organCode?: string, date?: string) : Promise<IResponse> => {
return request.postJson({ url: '/RepDataProblem/sdi/reporting/RepDataProblem/RepDataProblemSaveWordBytes', data:{tId,organCode,dataDate}}); return request.postJson({ url: '/RepDataProblem/sdi/reporting/RepDataProblem/RepDataProblemSaveWordBytes', data:{tId,organCode,date}});
}; };
/** 获取某个字典 */ /** 获取某个字典 */

@ -3,8 +3,9 @@ import { Form, FormSchema } from '@/components/Form'
import { useForm } from '@/hooks/web/useForm' import { useForm } from '@/hooks/web/useForm'
import { PropType, reactive, watch } from 'vue' import { PropType, reactive, watch } from 'vue'
import { useValidator } from '@/hooks/web/useValidator' import { useValidator } from '@/hooks/web/useValidator'
import { getIndexType } from '@/api/dataset/RepIndexSet'; import { getIndexSetTreeApi, getIndexType } from '@/api/dataset/RepIndexSet';
import { transfDictList } from '@/utils'; import { transfDictList } from '@/utils';
import { getIndexCategoryTreeApi } from '@/api/dataset/IndexCategory';
const { required } = useValidator() const { required } = useValidator()
@ -82,15 +83,18 @@ const formSchema = reactive<FormSchema[]>([
{ {
field: 'frequency', field: 'frequency',
label: '频度', label: '频度',
component: 'Select', optionApi: async () => {
componentProps: { const res = await getIndexType({ paramName: 'frequency_param', systemCode: 'ordb' });
return transfDictList(res.body.result);
}, },
value: '1',
component: 'Select'
}, },
{ {
field: 'isOrgCollect', field: 'isOrgCollect',
label: '是否机构汇总', label: '是否机构汇总',
component: 'Input', component: 'Input',
hidden:true,
componentProps: { componentProps: {
}, },
@ -114,39 +118,92 @@ const formSchema = reactive<FormSchema[]>([
{ {
field: 'itemType1', field: 'itemType1',
label: '业务类型1', label: '业务类型1',
component: 'Input', colProps: { span: 100 },
componentProps: { componentProps: {
checkStrictly: true,
nodeKey: 'id',
props: { children: 'childs', label: 'nodeName' },
filterable: true,
collapseTags: true,
showCheckbox: true,
style: { minWidth: '200px' },
checkOnClickNode: true
}, },
component: 'TreeSelect',
optionApi: async () => {
const res = await getIndexCategoryTreeApi();
const res0=res.filter(item=>item.props.dicvalue=='Class0100');
return res0;
}
}, },
{ {
field: 'itemType2', field: 'itemType2',
label: '业务类型2', label: '业务类型2',
component: 'Input', colProps: { span: 100 },
componentProps: { componentProps: {
checkStrictly: true,
nodeKey: 'id',
props: { children: 'childs', label: 'nodeName' },
filterable: true,
collapseTags: true,
showCheckbox: true,
style: { minWidth: '200px' },
checkOnClickNode: true
}, },
component: 'TreeSelect',
optionApi: async () => {
const res = await getIndexCategoryTreeApi();
const res0=res.filter(item=>item.props.dicvalue=='Class0200');
return res0;
}
}, },
{ {
field: 'itemType3', field: 'itemType3',
label: '业务类型3', label: '业务类型3',
component: 'Input', colProps: { span: 100 },
componentProps: { componentProps: {
checkStrictly: true,
nodeKey: 'id',
props: { children: 'childs', label: 'nodeName' },
filterable: true,
collapseTags: true,
showCheckbox: true,
style: { minWidth: '200px' },
checkOnClickNode: true
}, },
component: 'TreeSelect',
optionApi: async () => {
const res = await getIndexCategoryTreeApi();
const res0=res.filter(item=>item.props.dicvalue=='Class0300');
return res0;
}
}, },
{ {
field: 'itemType4', field: 'itemType4',
label: '业务类型4', label: '业务类型4',
component: 'Input', colProps: { span: 100 },
componentProps: { componentProps: {
checkStrictly: true,
nodeKey: 'id',
props: { children: 'childs', label: 'nodeName' },
filterable: true,
collapseTags: true,
showCheckbox: true,
style: { minWidth: '200px' },
checkOnClickNode: true
}, },
component: 'TreeSelect',
optionApi: async () => {
const res = await getIndexCategoryTreeApi();
const res0=res.filter(item=>item.props.dicvalue=='Class0400');
return res0;
}
}, },
{ {
field: 'itemType5', field: 'itemType5',
label: '业务类型5', label: '业务类型5',
component: 'Input', component: 'TreeSelect',
colProps: { span: 100 },
componentProps: { componentProps: {
}, },
@ -154,6 +211,7 @@ const formSchema = reactive<FormSchema[]>([
{ {
field: 'indexType', field: 'indexType',
label: '指标类型', label: '指标类型',
colProps: { span: 100 },
optionApi: async () => { optionApi: async () => {
const indexType = await getIndexType({ paramName: 'indexType_param', systemCode: 'ordb' }); const indexType = await getIndexType({ paramName: 'indexType_param', systemCode: 'ordb' });
return transfDictList(indexType.body.result); return transfDictList(indexType.body.result);
@ -174,6 +232,7 @@ const formSchema = reactive<FormSchema[]>([
{ {
field: 'indexdataType', field: 'indexdataType',
label: '指标数据类型', label: '指标数据类型',
colProps: { span: 100 },
optionApi: async () => { optionApi: async () => {
const indexDataType = await getIndexType({ paramName: 'indexDataType_param', systemCode: 'ordb' }); const indexDataType = await getIndexType({ paramName: 'indexDataType_param', systemCode: 'ordb' });
return transfDictList(indexDataType.body.result); return transfDictList(indexDataType.body.result);

@ -105,7 +105,8 @@ const tableColumns = reactive<TableColumn[]>([
}, },
{ {
field: 'itemName', field: 'itemName',
label: '指标名称' label: '指标名称',
width:100
}, },
{ {
field: 'businessDefinition', field: 'businessDefinition',
@ -132,6 +133,8 @@ const tableColumns = reactive<TableColumn[]>([
{ {
field: 'beginDate', field: 'beginDate',
label: '生效日期', label: '生效日期',
width:180,
headerAlign:'center',
slots:{ slots:{
default:(data:any)=>{ default:(data:any)=>{
return <span>{data.row.beginDate}{data.row.endDate}</span> return <span>{data.row.beginDate}{data.row.endDate}</span>
@ -263,25 +266,6 @@ const queryOntInfo = (node,data)=>{
<template #default="{ node, data }"> <template #default="{ node, data }">
<span class="r-tree-title"> <span class="r-tree-title">
<span class="r-plain-tree-title" @click="queryOntInfo(node,data)">{{ node.label }}</span> <span class="r-plain-tree-title" @click="queryOntInfo(node,data)">{{ node.label }}</span>
<span>
<ElLink :underline="false" @click="(e) => AddAction(e, data)">
<Icon icon="ep:circle-plus" :size="14" />
</ElLink>
<ElLink :underline="false" @click="() => action(data, 'edit')">
<Icon icon="ep:edit" :size="14" />
</ElLink>
<ElPopconfirm
@confirm="() => delData(data)"
:title="t('common.delTableMsg')"
:width="200"
>
<template #reference>
<ElLink :underline="false">
<Icon icon="ep:remove" :size="14" />
</ElLink>
</template>
</ElPopconfirm>
</span>
</span> </span>
</template> </template>
</ElTree> </ElTree>

@ -173,28 +173,27 @@ const searchSchema = reactive<FormSchema[]>([
field: 'indexsetType', field: 'indexsetType',
label: '指标集类型', label: '指标集类型',
colProps: { span: 100 }, colProps: { span: 100 },
componentProps: { componentProps: {
checkStrictly: true, checkStrictly: true,
nodeKey: 'id', nodeKey: 'id',
props: { children: 'childs', label: 'nodeName' }, props: { children: 'childs', label: 'nodeName' },
filterable: true, filterable: true,
multiple: true, collapseTags: true,
collapseTags: true, showCheckbox: true,
showCheckbox: true, style: { minWidth: '200px' },
style: { minWidth: '200px' }, checkOnClickNode: true
checkOnClickNode: true, },
}, component: 'TreeSelect',
component: 'TreeSelect', optionApi: async () => {
optionApi: async () => { const res = await getIndexSetTreeApi();
const res = await getIndexSetTreeApi(); IndexTypeParamsList.value = res;
IndexTypeParamsList.value = res; indexType_param_LIST.value = res;
indexType_param_LIST.value = res; res.forEach(item => {
res.forEach(item=>{ indexType_param_LIST.value = indexType_param_LIST.value.concat(item.childs);
indexType_param_LIST.value = indexType_param_LIST.value.concat(item.childs); });
}); console.log(indexType_param_LIST, "indexType_param_LIST");
console.log(indexType_param_LIST,"indexType_param_LIST"); return res;
return res; }
}
}, },
{ {
field: 'indexDate', field: 'indexDate',

@ -57,14 +57,20 @@ const tableColumns = reactive<TableColumn[]>([
}, },
{ {
field: 'ruleCode', field: 'ruleCode',
label: '指标集规则清单编码', label: '规则编码'
width:180 },
},
{ {
field: 'ruleName', field: 'ruleName',
label: '规则名称', label: '规则名称',
align: "left", align: "left",
headerAlign: 'left', },
{
field: 'itemId',
label: '指标代码'
},
{
field: 'itemName',
label: '指标名称'
}, },
{ {
field: 'ruleClass', field: 'ruleClass',
@ -75,14 +81,6 @@ const tableColumns = reactive<TableColumn[]>([
} }
} }
}, },
{
field: 'startDate',
label: '启用日期'
},
{
field: 'ruleProperty',
label: '规则属性'
},
{ {
field: 'ruleCycle', field: 'ruleCycle',
label: '规则周期', label: '规则周期',
@ -111,23 +109,32 @@ const tableColumns = reactive<TableColumn[]>([
}, },
{ {
field: 'createAccount', field: 'createAccount',
label: '创建账户' label: '创建账户',
hidden:true
}, },
{ {
field: 'createOrgan', field: 'createOrgan',
label: '创建机构' label: '创建机构',
hidden:true
}, },
{ {
field: 'ruleJson', field: 'ruleJson',
label: '规则json' label: '规则json',
hidden:true
}, },
{ {
field: 'ruleSql', field: 'ruleSql',
label: '规则sql' label: '规则sql',
}, hidden:true
},
{ {
field: 'organCode', field: 'organCode',
label: '机构编码' label: '机构编码',
hidden:true
},
{
field: 'startDate',
label: '启用日期'
}, },
{ {
field: 'failDate', field: 'failDate',
@ -135,19 +142,13 @@ const tableColumns = reactive<TableColumn[]>([
}, },
{ {
field: 'indexCode', field: 'indexCode',
label: '规则加工指标集编号' label: '指标集编码',
hidden:true
}, },
{ {
field: 'machFormulas', field: 'machFormulas',
label: '规则加载所有公式' label: '公式',
}, hidden:true
{
field: 'itemId',
label: '指标代码'
},
{
field: 'itemName',
label: '指标名称'
}, },
{ {
field: 'action', field: 'action',
@ -319,14 +320,14 @@ const exportExcel = async () => {
@refresh="refresh" @refresh="refresh"
> >
<template #buttons> <template #buttons>
<ElDropdown placement="bottom"> <!-- <ElDropdown placement="bottom">
<ElButton type="primary">添加规则</ElButton> <ElButton type="primary">添加规则</ElButton>
<template #dropdown> <template #dropdown>
<ElDropdownMenu> <ElDropdownMenu>
<ElDropdownItem v-for="item in RULE_TYPE_LIST" :key="item.name" @click="AddAction(item.name,'add',{})">{{ item.label }}</ElDropdownItem> <ElDropdownItem v-for="item in RULE_TYPE_LIST" :key="item.name" @click="AddAction(item.name,'add',{})">{{ item.label }}</ElDropdownItem>
</ElDropdownMenu> </ElDropdownMenu>
</template> </template>
</ElDropdown> </ElDropdown> -->
<Upload :url="importExcelApiUrl" :callback="getList"> <ElButton type="primary">导入</ElButton> </Upload> <Upload :url="importExcelApiUrl" :callback="getList"> <ElButton type="primary">导入</ElButton> </Upload>
<ElButton type="primary" @click="exportExcel()"></ElButton> <ElButton type="primary" @click="exportExcel()"></ElButton>

@ -36,7 +36,18 @@ const ids = ref<string[]>([])
/** 生成word */ /** 生成word */
const generatorWord = async (row: TableData) => { const generatorWord = async (row: TableData) => {
saveWordBytes(row.tId,'666','20240303'); //,,
const organCode=row.organCode
const dataDate=row.dataDate;
if(!organCode){
ElMessage.warning("请选择机构");
return false;
}
if(!dataDate){
ElMessage.warning("请选择日期");
return false;
}
saveWordBytes(row.tId,organCode,dataDate);
getList(); getList();
}; };
@ -135,7 +146,7 @@ const searchSchema = reactive<FormSchema[]>([
}, },
value: loginOrganCode, value: loginOrganCode,
formItemProps: { formItemProps: {
rules: [required()], //rules: [required()],
}, },
}, },
{ {
@ -147,7 +158,7 @@ const searchSchema = reactive<FormSchema[]>([
}, },
component: 'DatePicker', component: 'DatePicker',
formItemProps: { formItemProps: {
rules: [required()], //rules: [required()],
}, },
}, },
{ {

@ -121,7 +121,15 @@ const searchSchema = reactive<FormSchema[]>([
{ {
field: 'organId', field: 'organId',
label: '机构', label: '机构',
componentProps: { checkStrictly: true, nodeKey: 'id', props: { children: 'childs', label: 'nodeName' }, filterable: true }, componentProps: {
checkStrictly: true,
nodeKey: 'key',
showCheckbox: true,
props: {
children: 'childs', label: 'value'
},
filterable: true
},
component: 'TreeSelect', component: 'TreeSelect',
optionApi: async () => { optionApi: async () => {
const res = await getOrganTree({ const res = await getOrganTree({

Loading…
Cancel
Save