pull/480/head
liting 2024-04-14 17:02:27 +08:00
parent f742e12dd4
commit 9a7638b2c5
7 changed files with 193 additions and 138 deletions

View File

@ -86,7 +86,7 @@
"source.fixAll.eslint": "explicit"
},
"[vue]": {
"editor.defaultFormatter": "rvest.vs-code-prettier-eslint"
"editor.defaultFormatter": "Vue.volar"
},
"i18n-ally.localesPaths": ["src/locales"],
"i18n-ally.keystyle": "nested",

View File

@ -33,3 +33,31 @@
border-left-color: var(--el-color-primary);
}
}
fieldset{
padding: 5px 20px 5px 5px;
background: #f5f8fe;
margin-bottom: 5px;
position: relative;
border: 1px solid rgba(75, 141, 241, .35);
}
legend {
margin-left: 10px;
background: #fff;
border-radius: 3px;
padding: 2px 5px;
color: #2d8cf0;
border: 1px solid #2d8cf0;
}
.el-table th.el-table__cell,
.el-table .el-table__cell.is-center,
.el-table.is-scrolling-none th.el-table-fixed-column--right{
background-color: #fafafc;
color:#1f2225;
font-weight: normal;
}
// .el-table.is-scrolling-left .el-table-fixed-column--right.is-first-column::before{
// box-shadow: none;
// }
.el-form-item__label{
color:#1f2225;
}

View File

@ -1,4 +1,6 @@
:root {
--el-button-text-color:#1f2225;
--login-bg-color: #293146;
--left-menu-max-width: 200px;
@ -52,7 +54,7 @@
--app-footer-height: 50px;
--transition-time-02: 0.2s;
--transition-time-02: 0.2s
}
.dark {

View File

@ -1,104 +1,132 @@
<template>
<Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form
ref="formRef"
:model="formData"
:rules="formRules"
label-width="100px"
v-loading="formLoading"
>
<el-form-item label="编号" prop="number">
<el-input v-model="formData.number" placeholder="请输入编号" />
</el-form-item>
<el-form-item label="项目名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入项目名称" />
</el-form-item>
<el-form-item label="所属技术领域" prop="technicalField">
<el-select v-model="formData.technicalField" placeholder="请选择所属技术领域">
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.TECHNICAL_FIELD)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="年度" prop="year">
<el-input v-model="formData.year" placeholder="请输入年度" />
</el-form-item>
<el-form-item label="开始时间" prop="beginDate">
<el-date-picker
v-model="formData.beginDate"
type="date"
value-format="x"
placeholder="选择开始时间"
/>
</el-form-item>
<el-form-item label="结束时间" prop="endData">
<el-date-picker
v-model="formData.endData"
type="date"
value-format="x"
placeholder="选择结束时间"
/>
</el-form-item>
<el-form-item label="负责人Id" prop="directorId">
<el-input v-model="formData.directorId" placeholder="请输入负责人Id" />
</el-form-item>
<el-form-item label="负责人姓名" prop="director">
<el-input v-model="formData.director" placeholder="请输入负责人姓名" />
</el-form-item>
<el-form-item label="负责人性别" prop="gender">
<el-input v-model="formData.gender" placeholder="请输入负责人性别" />
</el-form-item>
<el-form-item label="年龄" prop="age">
<el-input v-model="formData.age" placeholder="请输入年龄" />
</el-form-item>
<el-form-item label="学历" prop="education">
<el-input v-model="formData.education" placeholder="请输入学历" />
</el-form-item>
<el-form-item label="所学专业" prop="major">
<el-input v-model="formData.major" placeholder="请输入所学专业" />
</el-form-item>
<el-form-item label="从事专业" prop="engagMajor">
<el-input v-model="formData.engagMajor" placeholder="请输入从事专业" />
</el-form-item>
<el-form-item label="职务(职称)" prop="position">
<el-input v-model="formData.position" placeholder="请输入职务(职称)" />
</el-form-item>
<el-form-item label="电话" prop="phoneNo">
<el-input v-model="formData.phoneNo" placeholder="请输入电话" />
</el-form-item>
<el-form-item label="邮箱" prop="email">
<el-input v-model="formData.email" placeholder="请输入邮箱" />
</el-form-item>
<el-form-item label="传真" prop="fax">
<el-input v-model="formData.fax" placeholder="请输入传真" />
</el-form-item>
<el-form-item label="邮编" prop="postalCode">
<el-input v-model="formData.postalCode" placeholder="请输入邮编" />
</el-form-item>
<el-form-item label="通讯地址" prop="address">
<el-input v-model="formData.address" placeholder="请输入通讯地址" />
</el-form-item>
<el-form-item label="主要业绩" prop="achievement">
<el-input v-model="formData.achievement" type="textarea" placeholder="请输入主要业绩" />
</el-form-item>
<!-- <el-form-item label="主管部门ID" prop="competentDeptId">
<!-- 子表的表单 -->
<el-tabs v-model="subTabsName" type="border-card">
<el-tab-pane label="基本信息" name="basic">
<fieldset>
<legend>基本信息</legend>
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="100px" v-loading="formLoading">
<el-row :gutter="20">
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="编号" prop="number">
<el-input v-model="formData.number" placeholder="请输入编号" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="项目名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入项目名称" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="所属技术领域" prop="technicalField">
<el-select v-model="formData.technicalField" placeholder="请选择所属技术领域">
<el-option v-for="dict in getStrDictOptions(DICT_TYPE.TECHNICAL_FIELD)" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="年度" prop="year">
<el-input v-model="formData.year" placeholder="请输入年度" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="开始时间" prop="beginDate">
<el-date-picker v-model="formData.beginDate" type="date" value-format="x" placeholder="选择开始时间" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="结束时间" prop="endData">
<el-date-picker v-model="formData.endData" type="date" value-format="x" placeholder="选择结束时间" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="负责人Id" prop="directorId">
<el-input v-model="formData.directorId" placeholder="请输入负责人Id" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="负责人姓名" prop="director">
<el-input v-model="formData.director" placeholder="请输入负责人姓名" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="负责人性别" prop="gender">
<el-input v-model="formData.gender" placeholder="请输入负责人性别" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="年龄" prop="age">
<el-input v-model="formData.age" placeholder="请输入年龄" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="学历" prop="education">
<el-input v-model="formData.education" placeholder="请输入学历" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="所学专业" prop="major">
<el-input v-model="formData.major" placeholder="请输入所学专业" />
</el-form-item> </el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="从事专业" prop="engagMajor">
<el-input v-model="formData.engagMajor" placeholder="请输入从事专业" />
</el-form-item> </el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="职务(职称)" prop="position">
<el-input v-model="formData.position" placeholder="请输入职务(职称)" />
</el-form-item> </el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="电话" prop="phoneNo">
<el-input v-model="formData.phoneNo" placeholder="请输入电话" />
</el-form-item> </el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="邮箱" prop="email">
<el-input v-model="formData.email" placeholder="请输入邮箱" />
</el-form-item> </el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="传真" prop="fax">
<el-input v-model="formData.fax" placeholder="请输入传真" />
</el-form-item> </el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="邮编" prop="postalCode">
<el-input v-model="formData.postalCode" placeholder="请输入邮编" />
</el-form-item> </el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="通讯地址" prop="address">
<el-input v-model="formData.address" placeholder="请输入通讯地址" />
</el-form-item> </el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="主要业绩" prop="achievement">
<el-input v-model="formData.achievement" type="textarea" placeholder="请输入主要业绩" />
</el-form-item> </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-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="主管部门" prop="competentDeptName">
<el-input v-model="formData.competentDeptName" placeholder="请输入主管部门" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<!-- <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>
<!-- 子表的表单 -->
<el-tabs v-model="subTabsName">
<el-form-item label="主管工程师" prop="managerName">
<el-input v-model="formData.managerName" placeholder="请输入主管工程师" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</fieldset>
</el-tab-pane>
<el-tab-pane label="立项详细信息" name="info">
<InfoForm ref="infoFormRef" :apply-id="formData.id" />
</el-tab-pane>
@ -172,7 +200,7 @@ const formRules = reactive({
const formRef = ref() // Ref
/** 子表的表单 */
const subTabsName = ref('info')
const subTabsName = ref('basic')
const infoFormRef = ref()
const unitsFormRef = ref()
const participantFormRef = ref()

View File

@ -1,41 +1,38 @@
<template>
<el-form
ref="formRef"
:model="formData"
:rules="formRules"
label-width="150px"
v-loading="formLoading"
>
<el-form-item label="项目目的与意义" prop="purposeSignificance">
<el-input v-model="formData.purposeSignificance" type="textarea" placeholder="请输入项目目的与意义" />
</el-form-item>
<el-form-item label="项目所属领域国内外产业、技术的现状和发展趋势" prop="currentSituation">
<el-input v-model="formData.currentSituation" type="textarea" placeholder="请输入项目所属领域国内外产业、技术的现状和发展趋势" />
</el-form-item>
<el-form-item label="项目现有工作基础" prop="workFoundation">
<el-input v-model="formData.workFoundation" type="textarea" placeholder="请输入项目现有工作基础" />
</el-form-item>
<el-form-item label="项目实施目标及考核指标-项目目标" prop="objectives">
<el-input v-model="formData.objectives" type="textarea" placeholder="请输入项目实施目标及考核指标-项目目标" />
</el-form-item>
<el-form-item label="项目实施目标及考核指标-考核指标" prop="evaluation">
<el-input v-model="formData.evaluation" type="textarea" placeholder="请输入项目实施目标及考核指标-考核指标" />
</el-form-item>
<el-form-item label="项目实施目标及考核指标-考核指标依据" prop="according">
<el-input v-model="formData.according" type="textarea" placeholder="请输入项目实施目标及考核指标-考核指标依据" />
</el-form-item>
<el-form-item label="主要研究开发内容-主要研究内容" prop="researchContents">
<el-input v-model="formData.researchContents" type="textarea" placeholder="请输入主要研究开发内容-主要研究内容" />
</el-form-item>
<el-form-item label="主要研究开发内容-技术路线" prop="roadmap">
<el-input v-model="formData.roadmap" type="textarea" placeholder="请输入主要研究开发内容-技术路线" />
</el-form-item>
<el-form-item label="主要研究开发内容-创新性" prop="innovation">
<el-input v-model="formData.innovation" type="textarea" placeholder="请输入主要研究开发内容-创新性" />
</el-form-item>
<el-form-item label="课题实施的风险分析" prop="riskAnalysis">
<el-input v-model="formData.riskAnalysis" type="textarea" placeholder="请输入课题实施的风险分析" />
</el-form-item>
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="180px" v-loading="formLoading">
<fieldset>
<legend>项目信息</legend>
<el-form-item label="项目目的与意义" prop="purposeSignificance">
<el-input v-model="formData.purposeSignificance" type="textarea" placeholder="请输入项目目的与意义" />
</el-form-item>
<el-form-item label="项目所属领域国内外产业、技术的现状和发展趋势" prop="currentSituation">
<el-input v-model="formData.currentSituation" type="textarea" placeholder="请输入项目所属领域国内外产业、技术的现状和发展趋势" />
</el-form-item>
<el-form-item label="项目现有工作基础" prop="workFoundation">
<el-input v-model="formData.workFoundation" type="textarea" placeholder="请输入项目现有工作基础" />
</el-form-item>
<el-form-item label="项目实施目标及考核指标-项目目标" prop="objectives">
<el-input v-model="formData.objectives" type="textarea" placeholder="请输入项目实施目标及考核指标-项目目标" />
</el-form-item>
<el-form-item label="项目实施目标及考核指标-考核指标" prop="evaluation">
<el-input v-model="formData.evaluation" type="textarea" placeholder="请输入项目实施目标及考核指标-考核指标" />
</el-form-item>
<el-form-item label="项目实施目标及考核指标-考核指标依据" prop="according">
<el-input v-model="formData.according" type="textarea" placeholder="请输入项目实施目标及考核指标-考核指标依据" />
</el-form-item>
<el-form-item label="主要研究开发内容-主要研究内容" prop="researchContents">
<el-input v-model="formData.researchContents" type="textarea" placeholder="请输入主要研究开发内容-主要研究内容" />
</el-form-item>
<el-form-item label="主要研究开发内容-技术路线" prop="roadmap">
<el-input v-model="formData.roadmap" type="textarea" placeholder="请输入主要研究开发内容-技术路线" />
</el-form-item>
<el-form-item label="主要研究开发内容-创新性" prop="innovation">
<el-input v-model="formData.innovation" type="textarea" placeholder="请输入主要研究开发内容-创新性" />
</el-form-item>
<el-form-item label="课题实施的风险分析" prop="riskAnalysis">
<el-input v-model="formData.riskAnalysis" type="textarea" placeholder="请输入课题实施的风险分析" />
</el-form-item>
</fieldset>
</el-form>
</template>
<script setup lang="ts">

View File

@ -86,7 +86,7 @@
</el-form-item>
</template>
</el-table-column>
<el-table-column label="标识1承担单位2联合承担单位3参加单位" min-width="150">
<el-table-column label="标识1承担单位2联合承担单位3参加单位" min-width="400">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.sign`" :rules="formRules.sign" class="mb-0px!">
<el-input v-model="row.sign" placeholder="请输入标识1承担单位2联合承担单位3参加单位" />

View File

@ -118,8 +118,8 @@
<el-table-column label="电话" align="center" prop="phoneNo" />
<el-table-column label="邮箱" align="center" prop="email" />
<el-table-column label="主管部门" align="center" prop="competentDeptName" />
<el-table-column label="主管工程师" align="center" prop="managerName" />
<el-table-column label="操作" align="center">
<el-table-column label="主管工程师" align="center" prop="managerName" width="150px"/>
<el-table-column label="操作" align="center" fixed="right">
<template #default="scope">
<el-button
link