main
yangyuanshuai 9 months ago
parent 1732e4bcba
commit 3e0fd44e0a

@ -48,8 +48,8 @@ export const exportExcelApi = (params: any) => {
};
/** 生成WordBytes */
export const saveWordBytes = (tId?: string, organCode?: string, dataDate?: string) : Promise<IResponse> => {
return request.postJson({ url: '/RepDataProblem/sdi/reporting/RepDataProblem/RepDataProblemSaveWordBytes', data:{tId,organCode,dataDate}});
export const saveWordBytes = (tId?: string, organCode?: string, date?: string) : Promise<IResponse> => {
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 { PropType, reactive, watch } from 'vue'
import { useValidator } from '@/hooks/web/useValidator'
import { getIndexType } from '@/api/dataset/RepIndexSet';
import { getIndexSetTreeApi, getIndexType } from '@/api/dataset/RepIndexSet';
import { transfDictList } from '@/utils';
import { getIndexCategoryTreeApi } from '@/api/dataset/IndexCategory';
const { required } = useValidator()
@ -82,15 +83,18 @@ const formSchema = reactive<FormSchema[]>([
{
field: 'frequency',
label: '频度',
component: 'Select',
componentProps: {
optionApi: async () => {
const res = await getIndexType({ paramName: 'frequency_param', systemCode: 'ordb' });
return transfDictList(res.body.result);
},
value: '1',
component: 'Select'
},
{
field: 'isOrgCollect',
label: '是否机构汇总',
component: 'Input',
hidden:true,
componentProps: {
},
@ -114,39 +118,92 @@ const formSchema = reactive<FormSchema[]>([
{
field: 'itemType1',
label: '业务类型1',
component: 'Input',
colProps: { span: 100 },
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',
label: '业务类型2',
component: 'Input',
colProps: { span: 100 },
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',
label: '业务类型3',
component: 'Input',
colProps: { span: 100 },
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',
label: '业务类型4',
component: 'Input',
colProps: { span: 100 },
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',
label: '业务类型5',
component: 'Input',
component: 'TreeSelect',
colProps: { span: 100 },
componentProps: {
},
@ -154,6 +211,7 @@ const formSchema = reactive<FormSchema[]>([
{
field: 'indexType',
label: '指标类型',
colProps: { span: 100 },
optionApi: async () => {
const indexType = await getIndexType({ paramName: 'indexType_param', systemCode: 'ordb' });
return transfDictList(indexType.body.result);
@ -174,6 +232,7 @@ const formSchema = reactive<FormSchema[]>([
{
field: 'indexdataType',
label: '指标数据类型',
colProps: { span: 100 },
optionApi: async () => {
const indexDataType = await getIndexType({ paramName: 'indexDataType_param', systemCode: 'ordb' });
return transfDictList(indexDataType.body.result);

@ -105,7 +105,8 @@ const tableColumns = reactive<TableColumn[]>([
},
{
field: 'itemName',
label: '指标名称'
label: '指标名称',
width:100
},
{
field: 'businessDefinition',
@ -132,6 +133,8 @@ const tableColumns = reactive<TableColumn[]>([
{
field: 'beginDate',
label: '生效日期',
width:180,
headerAlign:'center',
slots:{
default:(data:any)=>{
return <span>{data.row.beginDate}{data.row.endDate}</span>
@ -263,25 +266,6 @@ const queryOntInfo = (node,data)=>{
<template #default="{ node, data }">
<span class="r-tree-title">
<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>
</template>
</ElTree>

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

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

@ -36,7 +36,18 @@ const ids = ref<string[]>([])
/** 生成word */
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();
};
@ -135,7 +146,7 @@ const searchSchema = reactive<FormSchema[]>([
},
value: loginOrganCode,
formItemProps: {
rules: [required()],
//rules: [required()],
},
},
{
@ -147,7 +158,7 @@ const searchSchema = reactive<FormSchema[]>([
},
component: 'DatePicker',
formItemProps: {
rules: [required()],
//rules: [required()],
},
},
{

@ -121,7 +121,15 @@ const searchSchema = reactive<FormSchema[]>([
{
field: 'organId',
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',
optionApi: async () => {
const res = await getOrganTree({

Loading…
Cancel
Save