pull/480/head
liting 2024-06-11 23:06:24 +08:00
commit b357cd7dd1
4 changed files with 200 additions and 141 deletions

View File

@ -1,9 +1,12 @@
import request from '@/config/axios' import request from '@/config/axios'
import {params} from "vite-plugin-top-level-await";
// 立项 VO // 立项 VO
export interface MainVO { export interface MainVO {
id: number // 主键id id: number // 主键id
projectName: string // 项目名称 projectName: string // 项目名称
projectLeader: String // 负责人
projectLeaderId: number // 负责人Id
year: string // 立项年度 year: string // 立项年度
undertakingUnitName: string // 牵头单位 undertakingUnitName: string // 牵头单位
undertakingUnitId: number // 牵头单位ID undertakingUnitId: number // 牵头单位ID
@ -60,4 +63,9 @@ export const MainApi = {
exportMain: async (params) => { exportMain: async (params) => {
return await request.download({ url: `/apply/main/export-excel`, params }) return await request.download({ url: `/apply/main/export-excel`, params })
}, },
generateDoc: async (id: number)=>{
return await request.download({ url: `/apply/main/generate-doc?id=` + id })
}
} }

View File

@ -124,6 +124,7 @@ export enum DICT_TYPE {
SYSTEM_NOTIFY_TEMPLATE_TYPE = 'system_notify_template_type', SYSTEM_NOTIFY_TEMPLATE_TYPE = 'system_notify_template_type',
SYSTEM_SOCIAL_TYPE = 'system_social_type', SYSTEM_SOCIAL_TYPE = 'system_social_type',
SYSTEM_EDUCATION = "education", // 学历 SYSTEM_EDUCATION = "education", // 学历
PLAN_ID="plan_id",//计划类型
SYSTEM_MAJOR = "major", //专业 SYSTEM_MAJOR = "major", //专业
// ========== 所属技术领域 ========== // ========== 所属技术领域 ==========

View File

@ -4,81 +4,106 @@
ref="formRef" ref="formRef"
:model="formData" :model="formData"
:rules="formRules" :rules="formRules"
label-width="100px" label-width="150px"
v-loading="formLoading" v-loading="formLoading"
> >
<el-form-item label="项目名称" prop="projectName"> <el-row :gutter="20">
<el-input v-model="formData.projectName" placeholder="请输入项目名称" /> <el-col :span="24" >
</el-form-item> <el-form-item label="项目名称" prop="projectName">
<el-form-item label="立项年度" prop="year"> <el-input v-model="formData.projectName" placeholder="请输入项目名称" />
<el-input v-model="formData.year" placeholder="请输入立项年度" /> </el-form-item>
</el-form-item> </el-col>
<el-form-item label="牵头单位" prop="undertakingUnitName"> <el-col :span="6">
<el-input v-model="formData.undertakingUnitName" placeholder="请输入牵头单位" /> <el-form-item label="立项年度" prop="year">
</el-form-item> <el-date-picker v-model="formData.year" type="year" placeholder="请选择立项年度"/>
<el-form-item label="牵头单位ID" prop="undertakingUnitId"> </el-form-item>
<el-input v-model="formData.undertakingUnitId" placeholder="请输入牵头单位ID" /> </el-col>
</el-form-item> <el-col :span="6">
<el-form-item label="主要完成单位" prop="mainUnits"> <el-form-item label="牵头单位" prop="undertakingUnitName">
<el-input v-model="formData.mainUnits" placeholder="请输入主要完成单位" /> <el-input v-model="formData.undertakingUnitName" placeholder="请输入牵头单位" />
</el-form-item> </el-form-item>
<el-form-item label="合作单位" prop="coopUnits"> </el-col>
<el-input v-model="formData.coopUnits" placeholder="请输入合作单位" /> <el-col :span="6" v-if="false">
</el-form-item> <el-form-item label="牵头单位ID" prop="undertakingUnitId" >
<el-form-item label="项目简介—项目目标" prop="briefObjectives"> <el-input v-model="formData.undertakingUnitId" placeholder="请输入牵头单位ID" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="主要完成单位" prop="mainUnits">
<el-input v-model="formData.mainUnits" placeholder="请输入主要完成单位" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="合作单位" prop="coopUnits">
<el-input v-model="formData.coopUnits" placeholder="请输入合作单位" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="研发周期" prop="developmentCycle">
<el-input v-model="formData.developmentCycle" placeholder="请输入研发周期" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="总经费(万元)" prop="totalFee">
<el-input v-model="formData.totalFee" placeholder="请输入总经费" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="拨款(万元)" prop="applyFee">
<el-input v-model="formData.applyFee" placeholder="请输入拨款" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="自筹(万元)" prop="sefeFee">
<el-input v-model="formData.sefeFee" placeholder="请输入自筹" />
</el-form-item>
</el-col>
<!-- <el-col >
<el-form-item label="主管部门ID" prop="competentDeptId">
<el-input v-model="formData.competentDeptId" placeholder="请输入主管部门ID" />
</el-form-item>
<el-form-item label="主管部门" prop="competentDeptName">
<el-input v-model="formData.competentDeptName" placeholder="请输入主管部门" />
</el-form-item>
<el-form-item label="主管工程师ID" prop="managerId">
<el-input v-model="formData.managerId" placeholder="请输入主管工程师ID" />
</el-form-item>
<el-form-item label="主管工程师" prop="managerName">
<el-input v-model="formData.managerName" placeholder="请输入主管工程师" />
</el-form-item>
<el-form-item label="维护单位名称" prop="maintenanceUnitName">
<el-input v-model="formData.maintenanceUnitName" placeholder="请输入维护单位名称" />
</el-form-item>
<el-form-item label="维护单位ID" prop="maintenanceUnitId">
<el-input v-model="formData.maintenanceUnitId" placeholder="请输入维护单位ID" />
</el-form-item>
<el-form-item label="审核单位名称" prop="reviewUnitName">
<el-input v-model="formData.reviewUnitName" placeholder="请输入审核单位名称" />
</el-form-item>
<el-form-item label="审核单位ID" prop="reviewUnitId">
<el-input v-model="formData.reviewUnitId" placeholder="请输入审核单位ID" />
</el-form-item>
<el-form-item label="审核状态" prop="state">
<el-input v-model="formData.state" placeholder="请输入审核状态" />
</el-form-item>
</el-col>-->
</el-row>
<el-form-item label="项目目标" prop="briefObjectives">
<Editor v-model="formData.briefObjectives" height="150px" /> <Editor v-model="formData.briefObjectives" height="150px" />
</el-form-item> </el-form-item>
<el-form-item label="项目简介—研究内容" prop="briefContents"> <el-form-item label="研究内容" prop="briefContents">
<Editor v-model="formData.briefContents" height="150px" /> <Editor v-model="formData.briefContents" height="150px" />
</el-form-item> </el-form-item>
<el-form-item label="项目简介—创新点" prop="briefInnovate"> <el-form-item label="创新点" prop="briefInnovate">
<Editor v-model="formData.briefInnovate" height="150px" /> <Editor v-model="formData.briefInnovate" height="150px" />
</el-form-item> </el-form-item>
<el-form-item label="项目简介—科技及产业化成果" prop="briefAchievement"> <el-form-item label="科技及产业化成果" prop="briefAchievement">
<Editor v-model="formData.briefAchievement" height="150px" /> <Editor v-model="formData.briefAchievement" height="150px" />
</el-form-item> </el-form-item>
<el-form-item label="项目简介—经济、社会效益" prop="briefBenefit"> <el-form-item label="经济、社会效益" prop="briefBenefit">
<Editor v-model="formData.briefBenefit" height="150px" /> <Editor v-model="formData.briefBenefit" height="150px" />
</el-form-item> </el-form-item>
<el-form-item label="研发周期" prop="developmentCycle">
<el-input v-model="formData.developmentCycle" placeholder="请输入研发周期" />
</el-form-item>
<el-form-item label="总经费" prop="totalFee">
<el-input v-model="formData.totalFee" placeholder="请输入总经费" />
</el-form-item>
<el-form-item label="拨款" prop="applyFee">
<el-input v-model="formData.applyFee" placeholder="请输入拨款" />
</el-form-item>
<el-form-item label="自筹" prop="sefeFee">
<el-input v-model="formData.sefeFee" placeholder="请输入自筹" />
</el-form-item>
<el-form-item label="主管部门ID" prop="competentDeptId">
<el-input v-model="formData.competentDeptId" placeholder="请输入主管部门ID" />
</el-form-item>
<el-form-item label="主管部门" prop="competentDeptName">
<el-input v-model="formData.competentDeptName" placeholder="请输入主管部门" />
</el-form-item>
<el-form-item label="主管工程师ID" prop="managerId">
<el-input v-model="formData.managerId" placeholder="请输入主管工程师ID" />
</el-form-item>
<el-form-item label="主管工程师" prop="managerName">
<el-input v-model="formData.managerName" placeholder="请输入主管工程师" />
</el-form-item>
<el-form-item label="维护单位名称" prop="maintenanceUnitName">
<el-input v-model="formData.maintenanceUnitName" placeholder="请输入维护单位名称" />
</el-form-item>
<el-form-item label="维护单位ID" prop="maintenanceUnitId">
<el-input v-model="formData.maintenanceUnitId" placeholder="请输入维护单位ID" />
</el-form-item>
<el-form-item label="审核单位名称" prop="reviewUnitName">
<el-input v-model="formData.reviewUnitName" placeholder="请输入审核单位名称" />
</el-form-item>
<el-form-item label="审核单位ID" prop="reviewUnitId">
<el-input v-model="formData.reviewUnitId" placeholder="请输入审核单位ID" />
</el-form-item>
<el-form-item label="审核状态" prop="state">
<el-input v-model="formData.state" placeholder="请输入审核状态" />
</el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button>

View File

@ -70,20 +70,21 @@
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"> <el-table v-loading="loading" :data="list" :stripe="true" style="width: 100%" :show-overflow-tooltip="true">
<el-table-column label="主键id" align="center" prop="id" /> <!-- <el-table-column label="主键id" align="center" prop="id" v-if="false"/>--><!-- <el-table-column label="主键id" align="center" prop="id" v-if="false"/>-->
<el-table-column label="项目名称" align="center" prop="projectName" /> <el-table-column type="selection" width="30"/>
<el-table-column label="立项年度" align="center" prop="year" /> <el-table-column label="序号" align="center" width="80" type="index"/>
<el-table-column label="牵头单位" align="center" prop="undertakingUnitName" /> <el-table-column label="项目名称" align="center" width="200" prop="projectName" />
<el-table-column label="牵头单位ID" align="center" prop="undertakingUnitId" /> <el-table-column label="立项年度" align="center" prop="year" />
<el-table-column label="主要完成单位" align="center" prop="mainUnits" /> <el-table-column label="牵头单位" align="center" width="200" prop="undertakingUnitName" />
<el-table-column label="合作单位" align="center" prop="coopUnits" /> <el-table-column label="主要完成单位" align="center" width="200" prop="mainUnits" />
<el-table-column label="合作单位" align="center" width="200" prop="coopUnits" />
<el-table-column label="研发周期" align="center" prop="developmentCycle" /> <el-table-column label="研发周期" align="center" prop="developmentCycle" />
<el-table-column label="总经费" align="center" prop="totalFee" /> <el-table-column label="总经费(万元)" align="center" width="120" prop="totalFee" />
<el-table-column label="拨款" align="center" prop="applyFee" /> <el-table-column label="拨款(万元)" align="center" width="100" prop="applyFee" />
<el-table-column label="自筹" align="center" prop="sefeFee" /> <el-table-column label="自筹(万元)" align="center" width="100" prop="sefeFee" />
<el-table-column label="审核状态" align="center" prop="state" /> <el-table-column label="审核状态" align="center" width="120" prop="state" />
<el-table-column label="操作" align="center"> <el-table-column label="操作" width="200" fixed="right" align="center">
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link
@ -93,6 +94,14 @@
> >
编辑 编辑
</el-button> </el-button>
<el-button
link
type="primary"
@click="generateDoc(scope.row.id,scope.row.projectName)"
v-hasPermi="['apply:main:update']"
>
成文
</el-button>
<el-button <el-button
link link
type="danger" type="danger"
@ -172,6 +181,22 @@ const openForm = (type: string, id?: number) => {
formRef.value.open(type, id) formRef.value.open(type, id)
} }
/** 成文按钮操作 */
const generateDoc = async (id: number,projectName:string) =>{
//todo
try{
//
// exportLoading.value = true
const filename = projectName +'.docx'
const data = await MainApi.generateDoc(id)
download.word(data, filename)
} catch {
} finally {
// exportLoading.value = false
}
}
/** 删除按钮操作 */ /** 删除按钮操作 */
const handleDelete = async (id: number) => { const handleDelete = async (id: number) => {
try { try {