预算书-基本情况表 功能添加 10.27

master
zhc077 4 weeks ago
parent acb979cfff
commit 8aeadc81b3
  1. 2
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/project/controller/ProjectController.java
  2. 23
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/project/dto/DepartBaseInfoDto.java
  3. 3
      jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/project/dto/DepartExtDto.java
  4. 157
      jeecgboot-vue3/src/views/projectApplication/kejigongguan/yusuanshu/DepartBaseInfoDemo.vue
  5. 100
      jeecgboot-vue3/src/views/projectApplication/kejigongguan/yusuanshu/ProjectBaseINfo.data.tsx
  6. 10
      jeecgboot-vue3/src/views/projectApplication/kejigongguan/yusuanshu/index.vue
  7. 5
      jeecgboot-vue3/src/views/projectApplication/project/Project.api.ts

@ -186,6 +186,8 @@ public class ProjectController extends JeecgController<Project, IProjectService>
DepartExtDto dto = new DepartExtDto(); DepartExtDto dto = new DepartExtDto();
BeanUtils.copyProperties(sysDepart, dto); BeanUtils.copyProperties(sysDepart, dto);
BeanUtils.copyProperties(departExt, dto); BeanUtils.copyProperties(departExt, dto);
ProjectType projectType = iProjectTypeService.getById(project.getProjectTypeid());
dto.setAnnualName(projectType.getAnnualName());
return Result.OK(dto); return Result.OK(dto);
} }

@ -0,0 +1,23 @@
package org.jeecg.modules.demo.project.dto;
import lombok.Data;
/**
* @Description: TODO
* @Author: Z.H.C
* @CreateTime: 2024-10-27 11:56
* @Version: 1.0
*/
@Data
public class DepartBaseInfoDto {
private String annualName;
// private String projectCharger;
private String projectTime;
private String idNO;
private String phone;
private String realName;
private String email;
private String title;;
}

@ -43,6 +43,9 @@ public class DepartExtDto {
@Dict(dicCode = "depart_category") @Dict(dicCode = "depart_category")
@ApiModelProperty(value = "单位性质") @ApiModelProperty(value = "单位性质")
private String category; private String category;
@ApiModelProperty(value = "年度")
private String annualName;
/** /**
* 企业登记注册类型 * 企业登记注册类型
*/ */

@ -0,0 +1,157 @@
<template>
<div v-if="falg">
<PageWrapper>
<Description
title="单位基本情况表:"
:collapseOptions="{ canExpand: false}"
:column="2"
:data="DepartBaseInfoData"
:schema="schema"
/>
</PageWrapper>
<BasicTable @register="registerTimeTable"/>
</div>
<!-- <div>
&lt;!&ndash;引用表格&ndash;&gt;
<BasicTable @register="registerTable"></BasicTable>
</div>-->
</template>
<script lang="ts" setup>
import {ref} from 'vue';
import {Description} from '/@/components/Description/index';
import {PageWrapper} from '/@/components/Page';
import {BasicTable, useTable} from '/@/components/Table';
import {useRoute} from "vue-router";
import {useModal} from "@/components/Modal";
import {list} from '@/views/projectApplication/project/Project.api';
import {getDepartByProjectId} from './FengMian.api';
import {columns2} from "@/views/cooperationDepart/CooperationDepart.data";
import {list2} from "@/views/cooperationDepart/CooperationDepart.api";
const route = useRoute();
const falg = ref(false)
const DepartBaseInfoData: any = {
projectName: '',
projectTime: '',
phone: '',
realName: '',
email: '',
title: '',
};
const [registerTimeTable] = useTable({
title: '单位技术研究资质情况:',
columns: columns2,
pagination: false,
// dataSource: null,
api: listCooperationByProjectId,
showIndexColumn: false,
scroll: {y: 300},
});
async function listCooperationByProjectId() {
let params = {
projectId: route.query.id,
};
console.log(JSON.stringify(params));
return await list2(params);
};
const schema2: any = [
{
field: 'name',
label: '名称'
},
{
field: 'fileNo',
label: '认定(批准)部门及文号'
},
{
label: '认定时间',
field: 'checkDate',
},
];
const schema: any = [
{
field: 'annualName',
label: '年度'
},
{
field: 'departName',
label: '部门名称'
},
{
label: '单位性质',
field: 'category',
},
{
label: '企业登记注册类型',
field: 'type',
},
{
label: '开户银行',
field: 'bankName',
},
{
label: '账号',
field: 'bankNo',
},
{
label: '职工总数',
field: 'employeeNum',
},
{
label: '上年度研发经费',
field: 'lastYearFee',
},
{
label: '注册时间',
field: 'registerDate',
},
{
label: '联系人',
field: 'linkmanName',
},
{
label: '手机',
field: 'linkmanPhone'
},
{
label: '电子邮箱',
field: 'linkmanEmail'
},
];
async function getData() {
let params = {
id: route.query.id,
};
let obj = await getDepartByProjectId(params);
// console.log('data', JSON.stringify(obj))
DepartBaseInfoData.annualName = obj.annualName;
DepartBaseInfoData.departName = obj.departName;
DepartBaseInfoData.linkmanName = obj.linkmanName;
DepartBaseInfoData.linkmanEmail = obj.linkmanEmail;
DepartBaseInfoData.linkmanPhone = obj.linkmanPhone;
DepartBaseInfoData.category = obj.category;
DepartBaseInfoData.address = obj.address;
DepartBaseInfoData.bankNo = obj.bankNo;
DepartBaseInfoData.bankName = obj.bankName;
DepartBaseInfoData.employeeNum = obj.employeeNum;
DepartBaseInfoData.fax = obj.fax;
DepartBaseInfoData.lastYearFee = obj.lastYearFee;
DepartBaseInfoData.mobile = obj.mobile;
DepartBaseInfoData.type = obj.type;
DepartBaseInfoData.registerDate = obj.registerDate;
console.log('DepartBaseInfoData', JSON.stringify(DepartBaseInfoData))
falg.value = true
}
getData();
</script>

@ -1,100 +0,0 @@
import { BasicColumn } from '/@/components/Table/src/types/table';
import { Badge } from 'ant-design-vue';
export const refundTimeTableSchema: BasicColumn[] = [
{
title: '指标类别(参考分值) ',
align:"center",
dataIndex: 'indexClass_dictText'
},
{
title: '序号',
align:"center",
dataIndex: 'seq'
},
{
title: '指标名称 ',
align:"center",
dataIndex: 'indexName'
},
{
title: '预期指标名称(参考举例)',
align:"center",
dataIndex: 'expectIndexName'
},
{
title: '考核方式方法',
align:"center",
dataIndex: 'checkMethod'
},
{
title: '考核指标分值',
align:"center",
dataIndex: 'indexVal'
},
{
title: '备注',
align:"center",
dataIndex: 'remark'
},
/*{
title: '时间',
width: 150,
dataIndex: 't1',
},
{
title: '当前进度',
width: 150,
dataIndex: 't2',
},
{
title: '状态',
width: 150,
dataIndex: 't3',
customRender: ({ record }) => {
return <Badge status="success" text={record.t3} />;
},
},
{
title: '操作员ID ',
width: 150,
dataIndex: 't4',
},
{
title: '耗时',
width: 150,
dataIndex: 't5',
},*/
];
export const refundTimeTableData: any[] = [
{
t1: '2017-10-01 14:10',
t2: '联系客户',
t3: '进行中',
t4: '取货员 ID1234',
t5: '5mins',
},
{
t1: '2017-10-01 14:10',
t2: '取货员出发',
t3: '成功',
t4: '取货员 ID1234',
t5: '5mins',
},
{
t1: '2017-10-01 14:10',
t2: '取货员接单',
t3: '成功',
t4: '系统',
t5: '5mins',
},
{
t1: '2017-10-01 14:10',
t2: '申请审批通过',
t3: '成功',
t4: '用户',
t5: '1h',
},
];

@ -5,14 +5,15 @@
<a-tab-pane key="FengMianDemo" tab="封面" force-render></a-tab-pane> <a-tab-pane key="FengMianDemo" tab="封面" force-render></a-tab-pane>
<a-tab-pane key="TianBaoShuMingDemo" tab="填报说明" force-render></a-tab-pane> <a-tab-pane key="TianBaoShuMingDemo" tab="填报说明" force-render></a-tab-pane>
<a-tab-pane key="ProjectBaseInfoDemo" tab="项目基本情况表"></a-tab-pane> <a-tab-pane key="ProjectBaseInfoDemo" tab="项目基本情况表"></a-tab-pane>
<a-tab-pane key="DepartBaseInfoDemo" tab="部门基本情况表"></a-tab-pane>
<a-tab-pane key="ZhengWenDemo" tab="正文"></a-tab-pane> <a-tab-pane key="ZhengWenDemo" tab="正文"></a-tab-pane>
<a-tab-pane key="XiangMuHeZuoKaiFaDemo" tab="项目合作开发情况"></a-tab-pane> <a-tab-pane key="XiangMuHeZuoKaiFaDemo" tab="项目合作开发情况"></a-tab-pane>
<a-tab-pane key="HeZuoDanWeiDemo" tab="合作单位"></a-tab-pane> <a-tab-pane key="HeZuoDanWeiDemo" tab="合作单位"></a-tab-pane>
<a-tab-pane key="ZhuYaoRenYuanDemo" tab="项目主要参加人员"></a-tab-pane> <!-- <a-tab-pane key="ZhuYaoRenYuanDemo" tab="项目主要参加人员"></a-tab-pane>-->
<!-- <a-tab-pane key="JeecgPdfView" tab="PDF预览"></a-tab-pane>--> <!-- <a-tab-pane key="JeecgPdfView" tab="PDF预览"></a-tab-pane>-->
<a-tab-pane key="XiangMuJiXiaoMuBiaoDemo" tab="项目绩效目标"></a-tab-pane> <!-- <a-tab-pane key="XiangMuJiXiaoMuBiaoDemo" tab="项目绩效目标"></a-tab-pane>-->
<a-tab-pane key="YiJianDemo" tab="意见"></a-tab-pane> <a-tab-pane key="YiJianDemo" tab="意见"></a-tab-pane>
<a-tab-pane key="FuJianDemo" tab="文件上传"></a-tab-pane> <a-tab-pane key="FuJianDemo" tab="附件"></a-tab-pane>
</a-tabs> </a-tabs>
<component :is="currentComponent"></component> <component :is="currentComponent"></component>
</a-card> </a-card>
@ -26,7 +27,7 @@
import FengMianDemo from './FengMianDemo.vue'; import FengMianDemo from './FengMianDemo.vue';
import TianBaoShuMingDemo from './TianBaoShuMingDemo.vue'; import TianBaoShuMingDemo from './TianBaoShuMingDemo.vue';
import ProjectBaseInfoDemo from './ProjectBaseInfoDemo.vue'; import ProjectBaseInfoDemo from './ProjectBaseInfoDemo.vue';
import JiBenXinXiDemo from '../xiangmushu/JiBenXinXiDemo.vue'; import DepartBaseInfoDemo from './DepartBaseInfoDemo.vue';
import XiangMuJiXiaoMuBiaoDemo from '../xiangmushu/XiangMuJiXiaoMuBiaoDemo.vue'; import XiangMuJiXiaoMuBiaoDemo from '../xiangmushu/XiangMuJiXiaoMuBiaoDemo.vue';
import YiJianDemo from '../xiangmushu/YiJianDemo.vue'; import YiJianDemo from '../xiangmushu/YiJianDemo.vue';
import HeZuoDanWeiDemo from '../xiangmushu/HeZuoDanWeiDemo.vue'; import HeZuoDanWeiDemo from '../xiangmushu/HeZuoDanWeiDemo.vue';
@ -48,6 +49,7 @@
TianBaoShuMingDemo: TianBaoShuMingDemo, TianBaoShuMingDemo: TianBaoShuMingDemo,
FengMianDemo: FengMianDemo, FengMianDemo: FengMianDemo,
ProjectBaseInfoDemo: ProjectBaseInfoDemo, ProjectBaseInfoDemo: ProjectBaseInfoDemo,
DepartBaseInfoDemo: DepartBaseInfoDemo,
ZhengWenDemo: ZhengWenDemo, ZhengWenDemo: ZhengWenDemo,
XiangMuHeZuoKaiFaDemo: XiangMuHeZuoKaiFaDemo, XiangMuHeZuoKaiFaDemo: XiangMuHeZuoKaiFaDemo,
XiangMuJiXiaoMuBiaoDemo: XiangMuJiXiaoMuBiaoDemo, XiangMuJiXiaoMuBiaoDemo: XiangMuJiXiaoMuBiaoDemo,

@ -6,6 +6,7 @@ const {createConfirm} = useMessage();
enum Api { enum Api {
list = '/project/project/list', list = '/project/project/list',
projectType = '/projectType/getProjectTypeList', projectType = '/projectType/getProjectTypeList',
departBaseInfo = '/projectType/getDepartBaseInfo',
save = '/project/project/add', save = '/project/project/add',
edit = '/project/project/edit', edit = '/project/project/edit',
deleteOne = '/project/project/delete', deleteOne = '/project/project/delete',
@ -34,6 +35,10 @@ export const list = (params) =>
export const getProjectTypeList = (params) => export const getProjectTypeList = (params) =>
defHttp.get({url: Api.projectType, params}); defHttp.get({url: Api.projectType, params});
export const getDepartBaseInfo = (params) =>
defHttp.get({url: Api.departBaseInfo, params});
/** /**
* 删除单个 * 删除单个
*/ */

Loading…
Cancel
Save