Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
Y
yn-science-front
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
徐俊
yn-science-front
Commits
c3f3973b
Commit
c3f3973b
authored
Nov 28, 2024
by
wangxl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
333
parent
4933942f
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
81 additions
and
1267 deletions
+81
-1267
projectEdit copy.vue
src/views/report/project/components/projectEdit copy.vue
+0
-1104
projectEdit.vue
src/views/report/project/components/projectEdit.vue
+81
-163
No files found.
src/views/report/project/components/projectEdit copy.vue
deleted
100644 → 0
View file @
4933942f
<
template
>
<div>
<a-form-model
ref=
"form"
:model=
"formData"
:rules=
"rules"
style=
"border-top: 0px"
class=
"from-table font-line-space"
>
<a-row>
<a-col
:span=
"24"
style=
"border-top: 0px"
>
<div
class=
"tb-title"
>
<span>
基本情况
</span>
</div>
</a-col>
</a-row>
<a-row>
<a-col
:span=
"24"
style=
"border-top: 0px"
>
<div
class=
"tb-title"
>
<span>
单位基本情况
</span>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
单位名称
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item>
<div>
{{
formData
.
appUnitName
}}
</div>
</a-form-model-item>
</div>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
注册单位类型
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item>
<div>
{{
formData
.
unitTypeName
}}
</div>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
组织机构代码/统一社会信用代码
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"organizationCode"
>
<a-input
placeholder=
"组织机构代码/统一社会信用代码"
v-model=
"formData.organizationCode"
:maxLength=
"100"
style=
"width:80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
通讯地址
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"address"
>
<a-input
placeholder=
"通讯地址"
v-model=
"formData.address"
:maxLength=
"100"
style=
"width:80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
注册所在地
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"registeredAddress"
>
<a-input
placeholder=
"注册所在地"
v-model=
"formData.registeredAddress"
:maxLength=
"100"
style=
"width:80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
邮编
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"postCode"
>
<a-input
placeholder=
"邮编"
v-model=
"formData.postCode"
:maxLength=
"10"
style=
"width:80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
法定代表人
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"legalPerson"
>
<a-input
placeholder=
"法定代表人"
v-model=
"formData.legalPerson"
:maxLength=
"50"
style=
"width:80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
职工总数
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"workforce"
>
<a-input-number
v-model=
"formData.workforce"
:min=
"0"
:step=
"1"
style=
"width: 100px"
/>
</a-form-model-item>
</div>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
其中专科以上人员
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"specializedPersonnel"
>
<a-input-number
v-model=
"formData.specializedPersonnel"
:min=
"0"
:step=
"1"
style=
"width: 100px"
/>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
研究开发人员
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"researchPersonnel"
>
<a-input-number
v-model=
"formData.researchPersonnel"
:min=
"0"
:step=
"1"
style=
"width: 100px"
/>
</a-form-model-item>
</div>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
开户银行
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"depositBank"
>
<a-input
placeholder=
"开户银行"
v-model=
"formData.depositBank"
:maxLength=
"100"
style=
"width:80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
银行账号
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"bankAccount"
>
<a-input
placeholder=
"银行账号"
v-model=
"formData.bankAccount"
:maxLength=
"100"
style=
"width:80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
开户银行地址
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"depositBankAddress"
>
<a-input
placeholder=
"开户银行地址"
v-model=
"formData.depositBankAddress"
:maxLength=
"100"
style=
"width:80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
银行联行号
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"interbankNumber"
>
<a-input
placeholder=
"开户银行地址"
v-model=
"formData.interbankNumber"
:maxLength=
"100"
style=
"width:80%"
/>
</a-form-model-item>
</div>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
上年度研发经费支出总额(单位:万元)
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"researchTotal"
>
<a-input-number
v-model=
"formData.researchTotal"
:min=
"0"
:step=
"0.01"
style=
"width: 100px"
/>
</a-form-model-item>
</div>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
上年度是否填报了研发活动情况
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
ref=
"isResearchActive"
label=
""
prop=
"unitType"
>
<base-select
v-model=
"formData.isResearchActive"
:type=
"12"
:isAll=
"true"
/>
</a-form-model-item>
</div>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
上一年度填报的研发投入总数(单位:万元)
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"researchCount"
>
<a-input-number
v-model=
"formData.researchCount"
:min=
"0"
:step=
"0.01"
style=
"width: 100px"
/>
</a-form-model-item>
</div>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div>
上一年度填报的研发人员数
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
prop=
"researchPersonCount"
>
<a-input-number
v-model=
"formData.researchPersonCount"
:min=
"0"
:step=
"1"
style=
"width: 100px"
/>
</a-form-model-item>
</div>
</div>
</a-col>
</a-row>
<a-row>
<a-col
:span=
"24"
style=
"border-top: 0px"
>
<div
class=
"tb-title"
>
<span>
项目基本情况
</span>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
项目名称
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"projName"
>
<a-input
placeholder=
"项目名称"
v-model=
"formData.projName"
:maxLength=
"100"
style=
"width: 80%"
/>
</a-form-model-item>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
项目所属二级学院/部门名称(牵头单位)
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"leadUnit"
>
<a-input
placeholder=
"项目所属二级学院/部门名称(牵头单位)"
v-model=
"formData.leadUnit"
:maxLength=
"100"
style=
"width: 80%"
/>
</a-form-model-item>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
推荐部门
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"recommendUnit"
>
<a-input
placeholder=
"推荐部门"
v-model=
"formData.recommendUnit"
:maxLength=
"100"
style=
"width: 80%"
/>
</a-form-model-item>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
项日开始时间
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<a-form-model-item
prop=
"startDate"
style=
"width:200px;display: inline-block;"
>
<a-date-picker
format=
"YYYY-MM-DD"
valueFormat=
"YYYY-MM-DD HH:mm:ss"
v-model=
"formData.startDate"
style=
"width: 180px"
/>
</a-form-model-item>
</a-col>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
项目结束时间
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<a-form-model-item
prop=
"endDate"
style=
"width:200px;display: inline-block;"
>
<a-date-picker
format=
"YYYY-MM-DD"
valueFormat=
"YYYY-MM-DD HH:mm:ss"
v-model=
"formData.endDate"
style=
"width: 180px"
/>
</a-form-model-item>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
项目依托的科技创新基地
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"technologyInnovationBase"
>
<a-input
placeholder=
"项目依托的科技创新基地"
v-model=
"formData.technologyInnovationBase"
:maxLength=
"100"
style=
"width: 80%"
/>
</a-form-model-item>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
项目所属学科类别
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"knowledgeId"
>
<para-multi-select
v-model=
"formData.knowledgeId"
:typeId=
"57"
/>
</a-form-model-item>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
项目总经费(万元)
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<a-form-model-item
prop=
"totalFunding"
>
<a-input-number
v-model=
"formData.totalFunding"
:min=
"0"
:step=
"0.01"
style=
"width: 100px"
/>
<span>
单位:万元
</span>
</a-form-model-item>
</a-col>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
申请科技经费(万元)
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<a-form-model-item
prop=
"govFunding"
>
<a-input-number
v-model=
"formData.govFunding"
:min=
"0"
:step=
"0.01"
style=
"width: 100px"
/>
<span>
单位:万元
</span>
</a-form-model-item>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
项目联系人姓名
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<a-form-model-item
prop=
"linkName"
>
<a-input
placeholder=
"项目联系人姓名"
v-model=
"formData.linkName"
:maxLength=
"100"
style=
"width: 80%"
/>
</a-form-model-item>
</a-col>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
联系人手机
</div>
</div>
</a-col>
<a-col
:span=
"8"
>
<a-form-model-item
prop=
"linkMobile"
>
<a-input
placeholder=
"联系人手机"
v-model=
"formData.linkMobile"
:maxLength=
"100"
style=
"width: 80%"
/>
</a-form-model-item>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
电子邮箱
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"linkEmail"
>
<a-input
placeholder=
"电子邮箱"
v-model=
"formData.linkEmail"
:maxLength=
"100"
style=
"width: 80%"
/>
</a-form-model-item>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
项目摘要(400字以内)
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"projAbstract"
>
<a-textarea
placeholder=
"项目摘要"
v-model=
"formData.projAbstract"
:maxLength=
"400"
style=
"width: 80%; height: 160px; margin-top: 12px"
/>
</a-form-model-item>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
关键词
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"projKeywords"
>
<a-input
placeholder=
"关键词"
v-model=
"formData.projKeywords"
:maxLength=
"200"
style=
"width: 80%"
/>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col
:span=
"24"
style=
"border-top: 0px"
>
<div
class=
"tb-title"
>
<span>
项目人员情况
</span>
</div>
</a-col>
</a-row>
<!-- 项目合作单位 -->
<cooperative-units
:cooperativeUnits
.
sync=
"formData.cooperativeUnits"
/>
<!-- 项目组成员 -->
<proj-group-member
:members
.
sync=
"formData.members"
/>
<a-row>
<a-col
:span=
"24"
style=
"border-top: 0px"
>
<div
class=
"tb-title"
>
<span>
项目可行性研究情况
</span>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
1、项目的意义、必要性
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"researchContent"
>
<a-textarea
placeholder=
"项目的意义、必要性"
v-model=
"formData.researchContent"
:maxLength=
"5000"
style=
"width: 80%; height: 160px; margin-top: 12px"
/>
</a-form-model-item>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
2、项目现有工作基础和支撑条件
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"memResume"
>
<a-textarea
placeholder=
"项目现有工作基础和支撑条件"
v-model=
"formData.memResume"
:maxLength=
"5000"
style=
"width: 80%; height: 160px; margin-top: 12px"
/>
</a-form-model-item>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
3、与项目相关的国内外技术发展现状(包括知识产权情况)以及本项目主要研究开发内容技术关键(创新点)、可行性评价及项目风险分析与对策
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"researchProgress"
>
<a-textarea
placeholder=
"与项目相关的国内外技术发展现状"
v-model=
"formData.researchProgress"
:maxLength=
"5000"
style=
"width: 80%; height: 160px; margin-top: 12px"
/>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col
:span=
"24"
style=
"border-top: 0px"
>
<div
class=
"tb-title"
>
<span>
项目主要实施内容和目标
</span>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
项目实施目标
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"researchContent"
>
<a-textarea
placeholder=
"与项目相关的国内外技术发展现状"
v-model=
"formData.researchContent"
:maxLength=
"5000"
style=
"width: 80%; height: 160px; margin-top: 12px"
/>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col
:span=
"24"
style=
"border-top: 0px"
>
<div
class=
"tb-title"
>
<span>
项目考核指标
</span>
</div>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
主要技术指标
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"technologyTarget"
>
<a-textarea
placeholder=
"主要技术指标"
v-model=
"formData.technologyTarget"
:maxLength=
"5000"
style=
"width: 80%; height: 160px; margin-top: 12px"
/>
</a-form-model-item>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
主要经济指标
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"economyTarget"
>
<a-textarea
placeholder=
"主要经济指标"
v-model=
"formData.economyTarget"
:maxLength=
"5000"
style=
"width: 80%; height: 160px; margin-top: 12px"
/>
</a-form-model-item>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
项目实施中形成的示范基地、中试线、生产线及其规模等
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"achievementTarget"
>
<a-textarea
placeholder=
"项目实施中形成的示范基地、中试线、生产线及其规模等"
v-model=
"formData.achievementTarget"
:maxLength=
"5000"
style=
"width: 80%; height: 160px; margin-top: 12px"
/>
</a-form-model-item>
</a-col>
</a-row>
<a-row
type=
"flex"
>
<a-col
:span=
"4"
class=
"bg-gray"
>
<div
class=
"special-middle"
>
<div
class=
"required"
>
其他应考核的指标
</div>
</div>
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"otherTarget"
>
<a-textarea
placeholder=
"其他应考核的指标"
v-model=
"formData.otherTarget"
:maxLength=
"5000"
style=
"width: 80%; height: 160px; margin-top: 12px"
/>
</a-form-model-item>
</a-col>
</a-row>
<!-- 经费预算 -->
<budget-edit
:budget
.
sync=
"formData.budget"
/>
<!-- 附件 -->
<file-edit
:fileList
.
sync=
"formData.fileList"
/>
</a-form-model>
</div>
</
template
>
<
script
>
import
{
getType
}
from
'@/views/utils/auth'
import
paraMultiSelect
from
'@/views/components/common/paraMultiSelect'
import
paraSelect
from
'@/views/components/common/paraSelect'
import
baseSelect
from
'@/views/components/common/baseSelect'
import
ProjGroupMember
from
'@/views/report/project/components/projGroupMember'
import
cooperativeUnits
from
'@/views/report/project/components/cooperativeUnits'
import
budgetEdit
from
'@/views/report/project/components/keyProject/budgetEdit'
import
fileEdit
from
'@/views/report/project/components/keyProject/fileEdit'
import
{
isEmptyParams
}
from
"@/views/utils/common"
import
moment
from
'moment'
const
Cooperative
=
{
id
:
null
,
unitName
:
null
,
unitCountry
:
null
,
unitAddress
:
null
,
organizationCode
:
null
,
projectWork
:
null
}
const
Members
=
{
showIndex
:
1
,
name
:
null
,
certId
:
null
,
sex
:
null
,
birthday
:
null
,
age
:
null
,
degree
:
null
,
title
:
null
,
duty
:
null
,
spec
:
null
,
workUnit
:
null
,
projWork
:
null
}
const
Equipments
=
{
name
:
null
,
specificationType
:
null
,
quantity
:
null
,
totalBudget
:
null
,
useFrom
:
null
}
const
File
=
{
fileName
:
''
,
downloadUrl
:
''
,
fileExplain
:
''
,
downloadId
:
''
}
export
default
{
name
:
'projectEdit'
,
components
:
{
paraMultiSelect
,
paraSelect
,
baseSelect
,
ProjGroupMember
,
cooperativeUnits
,
budgetEdit
,
fileEdit
},
props
:
{
value
:
{
type
:
String
,
default
:
()
=>
{
return
null
}
},
isModifyNo
:
{
type
:
Boolean
,
default
:
()
=>
{
return
false
}
},
},
created
()
{
this
.
getProject
()
},
data
()
{
return
{
overseasShow
:
false
,
formData
:
{
id
:
null
,
// 项目名称
projName
:
''
,
// 项目名称
englishName
:
''
,
// 项目状态
projState
:
-
10
,
isAchieve
:
null
,
// 申报学科
isAccept
:
null
,
// 申报学科
isOverseas
:
null
,
// 申报学科
knowledgeId
:
''
,
// 拟完成的成果形式
anticipatedForms
:
''
,
// 申请金额
applyMoney
:
null
,
// 申报年度
reportYear
:
null
,
// 实施年限 起止日期
startDate
:
null
,
endDate
:
null
,
// 主题词
projKeywords
:
''
,
// 主题词(英文)
keywordsEnglish
:
''
,
// 依托单位
appUnitName
:
''
,
// 申报人
personName
:
''
,
// 性别
sex
:
''
,
// 出生年月
birthday
:
''
,
// 证件号
certId
:
''
,
// 民族
nationName
:
''
,
// 职 称
titleName
:
''
,
// 学历
educationName
:
''
,
// 专业
specName
:
''
,
// 电话
mobile
:
''
,
// 邮箱
email
:
''
,
// 成员
cooperativeUnits
:
[],
// 成员
members
:
[],
// 投资总额
totalFunding
:
null
,
// 卫生健康委资助
govFunding
:
null
,
// 单位配套
unitFunding
:
null
,
// 自筹
selfFunding
:
null
,
// 其他
otherFunding
:
null
,
budget
:
[],
equipments
:
[{
...
Equipments
}],
// 研究内容和意义
projContent
:
''
,
//参考文献
projReference
:
''
,
// 立项依据
projBasis
:
''
,
// 研究内容和研究目标,拟解决的关键问题
researchContent
:
''
,
// 研究思路、方法、技术路线、实验方案及可行性分析
researchPlan
:
''
,
// 项目的特色和创新之处
mainFeatures
:
''
,
// 研究进度计划
studyPlan
:
''
,
// 预期研究成果
expectedResults
:
''
,
// 研究工作积累和已取得的研究工作成绩
workFoundation
:
''
,
// 实验条件和资料
workingConditions
:
''
,
// 申请者和项目组主要成员研究工作简历
memResume
:
''
,
// 申请者正在承担的其它研究项目
researchProjects
:
''
,
projDoc
:
''
,
fileList
:
[{
...
File
}],
//项目类型(1.科研项目、2.重点项目)
projType
:
getType
()
},
rules
:
{
projName
:
[
{
required
:
true
,
message
:
'请填写项目名称'
,
trigger
:
'blur'
},
{
max
:
50
,
message
:
'项目名称不能大于50'
,
trigger
:
'blur'
}
],
englishName
:
[{
max
:
200
,
message
:
'项目名称(英文)不能大于50'
,
trigger
:
'blur'
}],
proj_no
:
{
required
:
true
,
message
:
'请填写项目编号'
,
trigger
:
'blur'
},
isAchieve
:
{
required
:
true
,
message
:
'是否可实现成果转化或临床应用'
,
trigger
:
'change'
},
isAccept
:
{
required
:
true
,
message
:
'请选择是否选择接受立项不资助'
,
trigger
:
'change'
},
isOverseas
:
{
required
:
true
,
message
:
'请选择是否存在境外机构或人员参与'
,
trigger
:
'change'
},
knowledgeId
:
{
required
:
true
,
message
:
'请选择申报学科'
,
trigger
:
'change'
},
anticipatedForms
:
{
required
:
true
,
message
:
'请选择成果形式'
,
trigger
:
'change'
},
projKeywords
:
[{
required
:
true
,
message
:
'请填写主题词'
,
trigger
:
'blur'
},],
keywordsEnglish
:
[{
max
:
200
,
message
:
'主题词不能大于50'
,
trigger
:
'blur'
},],
startDate
:
{
required
:
true
,
message
:
'请选择起始日期'
,
trigger
:
'change'
},
endDate
:
{
required
:
true
,
message
:
'请选择结束日期'
,
trigger
:
'change'
},
dept
:
{
required
:
true
,
message
:
'请填写系、所、科室'
,
trigger
:
'blur'
},
nature
:
{
required
:
true
,
message
:
'请填单位性质'
,
trigger
:
'change'
},
telephone
:
{
required
:
true
,
message
:
'请填写申请人电话'
,
trigger
:
'blur'
},
address
:
{
required
:
true
,
message
:
'请填写详细地址'
,
trigger
:
'blur'
},
email
:
{
required
:
true
,
message
:
'请填写邮箱'
,
trigger
:
'blur'
},
applyMoney
:
{
required
:
true
,
message
:
'请填写申请金额'
,
trigger
:
'blur'
},
// 研究内容和意义
projContent
:
[{
required
:
true
,
message
:
'请填写研究内容和意义'
,
trigger
:
'blur'
}],
//参考文献
projReference
:
[{
required
:
false
,
message
:
'请填写参考文献'
,
trigger
:
'blur'
}],
// 立项依据
projBasis
:
[{
required
:
true
,
message
:
'请填写立项依据'
,
trigger
:
'blur'
}],
// 研究内容和研究目标,拟解决的关键问题
researchContent
:
[{
required
:
true
,
message
:
'请填写研究内容和研究目标'
,
trigger
:
'blur'
}],
// 研究思路、方法、技术路线、实验方案及可行性分析
researchPlan
:
[{
required
:
true
,
message
:
'请填写研究思路、方法、技术路线'
,
trigger
:
'blur'
}],
// 项目的特色和创新之处
mainFeatures
:
[{
required
:
true
,
message
:
'请填写项目的特色和创新之处'
,
trigger
:
'blur'
}],
// 研究进度计划
studyPlan
:
[{
required
:
true
,
message
:
'请填写研究进度计划'
,
trigger
:
'blur'
}],
// 预期研究成果
expectedResults
:
[{
required
:
true
,
message
:
'请填写预期研究成果'
,
trigger
:
'blur'
}],
// 研究工作积累和已取得的研究工作成绩
workFoundation
:
[{
required
:
true
,
message
:
'请填写研究工作积累和已取得的研究工作成绩'
,
trigger
:
'blur'
}],
// 实验条件和资料
workingConditions
:
[{
required
:
true
,
message
:
'请填写实验条件和资料'
,
trigger
:
'blur'
}],
// 申请者和项目组主要成员研究工作简历
memResume
:
[{
required
:
true
,
message
:
'请填写研究工作简历'
,
trigger
:
'blur'
}],
// 申请者正在承担的其它研究项目
researchProjects
:
[{
required
:
true
,
message
:
'请填写研究项目'
,
trigger
:
'blur'
}],
govFunding
:
{
required
:
true
,
message
:
'*'
,
trigger
:
'blur'
},
unitFunding
:
{
required
:
true
,
message
:
'*'
,
trigger
:
'blur'
},
selfFunding
:
{
required
:
true
,
message
:
'*'
,
trigger
:
'blur'
},
otherFunding
:
{
required
:
true
,
message
:
'*'
,
trigger
:
'blur'
},
},
// 富文本字数
tinymceLimit
:
15000
,
tinymceWordCount
:
0
,
flag
:
false
,
}
},
computed
:
{
},
mounted
()
{
},
methods
:
{
moment
,
getProject
()
{
this
.
$emit
(
'load'
,
true
)
if
(
!!
this
.
value
)
{
this
.
$api
.
project
.
getProjectInfoById
({
id
:
this
.
value
}).
then
(({
data
=
{}
})
=>
{
if
(
data
)
{
this
.
formData
=
data
this
.
loadList
()
}
else
this
.
$emit
(
'close'
,
'error'
)
this
.
$emit
(
'load'
,
false
)
}).
catch
(()
=>
{
this
.
$emit
(
'close'
,
'error'
)
this
.
$emit
(
'load'
,
false
)
})
}
else
{
this
.
$api
.
project
.
getNewProject
({
projType
:
getType
()
}).
then
(({
data
=
{}
})
=>
{
if
(
data
)
{
this
.
formData
=
data
this
.
loadList
()
// tinyMCE.activeEditor.setContent(data.projDoc)
}
else
this
.
$emit
(
'close'
,
'error'
)
this
.
$emit
(
'load'
,
false
)
}).
catch
(()
=>
{
this
.
$emit
(
'close'
,
'error'
)
this
.
$emit
(
'load'
,
false
)
})
}
},
loadList
()
{
if
(
!!!
this
.
formData
.
cooperativeUnits
||
this
.
formData
.
cooperativeUnits
.
length
==
0
)
this
.
formData
.
cooperativeUnits
=
[{
...
Cooperative
}]
if
(
!!!
this
.
formData
.
members
||
this
.
formData
.
members
.
length
==
0
)
this
.
formData
.
members
=
[{
...
Members
}]
if
(
!!!
this
.
formData
.
equipments
||
this
.
formData
.
equipments
.
length
==
0
)
this
.
formData
.
equipments
=
[{
...
Equipments
}]
if
(
!!!!
this
.
formData
.
fileList
||
!
this
.
formData
.
fileList
.
length
||
this
.
formData
.
fileList
.
length
==
0
)
{
this
.
formData
.
fileList
=
[]
}
},
addEquipments
()
{
this
.
formData
.
equipments
.
push
({
...
Equipments
})
},
removeEquipments
(
item
)
{
let
index
=
this
.
formData
.
equipments
.
indexOf
(
item
)
if
(
index
!==
-
1
)
{
this
.
formData
.
equipments
.
splice
(
index
,
1
)
}
},
save
()
{
if
(
this
.
checkProjName
())
{
this
.
$emit
(
'load'
,
true
)
let
pars
=
isEmptyParams
(
this
.
formData
)
let
par
=
{
...
pars
}
this
.
$api
.
project
.
save
(
par
).
then
(({
data
=
{}
})
=>
{
if
(
data
)
{
this
.
formData
.
id
=
data
this
.
$message
.
success
(
'保存成功!'
)
this
.
$emit
(
'onSave'
,
'save'
)
}
this
.
$emit
(
'load'
,
false
)
}).
catch
(()
=>
{
this
.
$emit
(
'load'
,
false
)
})
}
},
submit
()
{
if
(
this
.
formData
.
members
.
length
==
0
)
{
this
.
$message
.
error
(
'至少添加一位项目组成员!'
)
return
}
if
(
this
.
formData
.
isOverseas
&&
this
.
formData
.
isOverseas
==
'是'
)
{
if
(
this
.
formData
.
overseasRemark
==
null
||
this
.
formData
.
overseasRemark
==
''
)
{
this
.
$message
.
error
(
'请填写存在境外机构或人员具体情况说明!'
)
return
}
}
this
.
$refs
.
form
.
validate
(
valid
=>
{
if
(
valid
)
{
if
(
!
this
.
checkApplyMoney
())
{
return
false
}
this
.
$emit
(
'load'
,
true
)
let
state
=
this
.
formData
.
projState
if
(
state
!=
30
)
this
.
formData
.
projState
=
10
// this.formData.projDoc = this.projDoc
let
pars
=
isEmptyParams
(
this
.
formData
)
let
par
=
{
...
pars
}
this
.
$api
.
project
.
save
(
par
).
then
(({
data
=
{}
})
=>
{
if
(
data
)
{
this
.
formData
.
id
=
data
this
.
$message
.
success
(
'成功!'
)
this
.
$emit
(
'onSave'
,
'submit'
)
}
this
.
$emit
(
'load'
,
false
)
}).
catch
(()
=>
{
this
.
$emit
(
'load'
,
false
)
})
}
else
{
this
.
$message
.
warn
(
'项目信息未填写完全!'
)
return
false
}
})
},
tinymceSet
()
{
tinymce
.
remove
(
'#tinymce_dom'
)
tinymce
.
init
({
selector
:
'#tinymce_dom'
,
language
:
'zh_CN'
,
content_style
:
"img {max-width:100%;}"
,
// menubar: false,
// 隐藏底部状态栏
statusbar
:
false
,
height
:
800
,
plugins
:
'code advlist autolink link image lists preview table wordcount'
,
toolbar
:
`undo redo | styleselect | fontsizeselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist | link image
| table tabledelete | tableprops tablerowprops tablecellprops | tableinsertrowbefore tableinsertrowafter tabledeleterow
| tableinsertcolbefore tableinsertcolafter tabledeletecol | wordcount`
,
// 初始化完成回调
init_instance_callback
:
(
editor
)
=>
{
let
wordcount
=
editor
.
plugins
.
wordcount
this
.
tinymceWordCount
=
wordcount
.
body
.
getWordCount
()
},
// 图片上传路径
// images_upload_url: 'http://192.168.1.185:8888/profile',
// 图片上传操作
images_upload_handler
:
(
blobInfo
,
succFun
,
failFun
)
=>
{
this
.
$api
.
base
.
asyncUpload
(
this
.
uploadHandle
(
blobInfo
.
blob
(),
blobInfo
.
filename
())).
then
(({
data
=
{}
})
=>
{
if
(
data
)
{
succFun
(
data
.
downloadUrl
)
}
}).
catch
((
err
)
=>
{
failFun
(
err
)
})
}
})
// 设置富文本内容
// tinymce.activeEditor.setContent(htmlText)
// 监听输入计算字数
let
mark
=
1
tinymce
.
activeEditor
.
on
(
'keyup'
,
(
e
)
=>
{
if
(
mark
===
1
)
{
let
wordcount
=
tinymce
.
activeEditor
.
plugins
.
wordcount
this
.
tinymceWordCount
=
wordcount
.
body
.
getWordCount
()
mark
=
0
setTimeout
(()
=>
{
mark
=
1
},
500
)
}
})
},
// 添加附件
addfileList
()
{
this
.
formData
.
fileList
.
push
(
Object
.
assign
({
...
File
},
{
fileExplain
:
''
}))
},
// 删除附件
removefileList
(
item
)
{
let
index
=
this
.
formData
.
fileList
.
indexOf
(
item
)
if
(
index
!==
-
1
)
{
this
.
formData
.
fileList
.
splice
(
index
,
1
)
}
},
downfileList
(
item
)
{
},
fileSelect
(
item
,
index
)
{
let
fileElem
=
this
.
$refs
[
'fileElem'
+
index
][
0
]
if
(
fileElem
)
{
fileElem
.
click
()
}
},
fileCheck
(
file
)
{
//判断是否小于1M
let
isLtSize
=
file
.
size
<
1024
*
1024
*
15
;
if
(
!
isLtSize
)
{
this
.
$message
.
error
(
'文件大小不能超过15M!'
);
return
false
}
// var fileNames = file.name.split('.')
// var fileType = fileNames[fileNames.length - 1].toLocaleLowerCase()
// var extList = ['doc', 'docx', 'pdf']
// if (!extList.find((item) => item == fileType)) {
// this.$message.error('文件格式错误!')
// return false
// }
return
true
},
handleFiles
(
item
,
index
)
{
let
fileElem
=
this
.
$refs
[
'fileElem'
+
index
][
0
]
let
files
=
fileElem
.
files
if
(
files
.
length
<=
0
)
{
this
.
$message
.
error
(
'未选中文件,请尝试重新选择'
)
return
}
if
(
!
this
.
fileCheck
(
files
[
0
]))
return
this
.
$api
.
base
.
asyncUpload
(
this
.
uploadHandle
(
files
[
0
],
files
[
0
].
name
)).
then
(({
data
=
{}
})
=>
{
if
(
data
)
{
item
.
fileName
=
files
[
0
].
name
item
.
downloadUrl
=
'/'
+
files
[
0
].
name
item
.
downloadId
=
data
.
id
}
else
this
.
$message
.
error
(
'上传失败'
)
}).
catch
(()
=>
{
this
.
$message
.
error
(
'上传失败'
)
})
},
inCount
()
{
let
govFunding
=
0
let
unitFunding
=
0
let
selfFunding
=
0
let
otherFunding
=
0
if
(
this
.
formData
.
govFunding
)
govFunding
=
this
.
formData
.
govFunding
if
(
this
.
formData
.
unitFunding
)
unitFunding
=
this
.
formData
.
unitFunding
if
(
this
.
formData
.
selfFunding
)
selfFunding
=
this
.
formData
.
selfFunding
if
(
this
.
formData
.
otherFunding
)
otherFunding
=
this
.
formData
.
otherFunding
this
.
formData
.
totalFunding
=
(
govFunding
+
unitFunding
+
selfFunding
+
otherFunding
).
toFixed
(
2
)
return
this
.
formData
.
totalFunding
},
outNumberChange
()
{
let
vartotalBudget
=
0
this
.
formData
.
budget
.
forEach
(
e
=>
{
if
(
e
.
totalBudget
!=
null
)
vartotalBudget
+=
parseFloat
(
e
.
totalBudget
)
})
this
.
formData
.
totalFunding
=
vartotalBudget
.
toFixed
(
2
)
},
deletefile
(
item
,
index
)
{
this
.
$api
.
base
.
deletefile
({
id
:
item
.
downloadId
}).
then
(({
data
=
{}
})
=>
{
if
(
data
)
{
item
.
fileName
=
''
item
.
downloadUrl
=
''
item
.
downloadId
=
''
if
(
item
.
fileExplain
!=
'学术委员会审查意见'
&&
item
.
fileExplain
!=
'项目组的人员签字'
)
{
item
.
fileExplain
=
''
}
}
}).
catch
(()
=>
{
this
.
$message
.
error
(
'删除失败'
)
})
},
uploadHandle
(
file
,
fileName
)
{
let
formData
=
new
FormData
()
formData
.
append
(
'file'
,
file
)
formData
.
append
(
'fileName'
,
fileName
)
return
formData
},
// 起止日期选择处理
dateChange
(
value
)
{
let
statr
=
this
.
formData
.
startDate
let
end
=
this
.
formData
.
endDate
if
(
!
statr
||
!
end
)
{
return
}
if
(
statr
>
end
)
{
this
.
formData
.
startDate
=
end
this
.
formData
.
endDate
=
statr
}
},
checkApplyMoney
()
{
var
m
=
parseFloat
(
this
.
formData
.
applyMoney
)
if
(
m
!=
this
.
formData
.
govFunding
)
{
alert
(
'项目经费与申请金额不一致!'
)
return
false
}
return
true
},
checkProjName
()
{
if
(
this
.
formData
.
projName
==
""
||
this
.
formData
.
projName
==
null
)
{
alert
(
'项目名称不能为空'
)
return
false
}
else
{
return
true
}
},
},
watch
:
{
'formData.isOverseas'
:
{
handler
(
value
)
{
if
(
value
&&
value
==
'是'
)
this
.
overseasShow
=
true
else
this
.
overseasShow
=
false
},
},
}
}
</
script
>
<
style
scoped
lang=
"less"
>
.d-icon {
margin-right: 10px;
}
</
style
>
src/views/report/project/components/projectEdit.vue
View file @
c3f3973b
...
...
@@ -252,7 +252,7 @@
<a-col
:span=
"20"
>
<div
class=
"special-middle"
>
<div>
<a-form-model-item
ref=
"isResearchActive"
label=
""
prop=
"unitTyp
e"
>
<a-form-model-item
prop=
"isResearchActiv
e"
>
<base-select
v-model=
"formData.isResearchActive"
:type=
"12"
:isAll=
"true"
/>
</a-form-model-item>
</div>
...
...
@@ -535,7 +535,7 @@
</a-col>
<a-col
:span=
"20"
>
<a-form-model-item
prop=
"researchContent"
>
<a-textarea
placeholder=
"
与项目相关的国内外技术发展现状
"
v-model=
"formData.researchContent"
:maxLength=
"5000"
style=
"width: 80%; height: 160px; margin-top: 12px"
/>
<a-textarea
placeholder=
"
项目实施目标
"
v-model=
"formData.researchContent"
:maxLength=
"5000"
style=
"width: 80%; height: 160px; margin-top: 12px"
/>
</a-form-model-item>
</a-col>
</a-row>
...
...
@@ -643,12 +643,6 @@ export default {
return
null
}
},
isModifyNo
:
{
type
:
Boolean
,
default
:
()
=>
{
return
false
}
},
},
created
()
{
this
.
getProject
()
...
...
@@ -658,153 +652,92 @@ export default {
overseasShow
:
false
,
formData
:
{
id
:
null
,
// 项目名称
projName
:
''
,
// 项目名称
englishName
:
''
,
// 项目状态
projState
:
-
10
,
isAchieve
:
null
,
// 申报学科
isAccept
:
null
,
// 申报学科
isOverseas
:
null
,
// 申报学科
knowledgeId
:
''
,
// 拟完成的成果形式
anticipatedForms
:
''
,
// 申请金额
applyMoney
:
null
,
// 申报年度
reportYear
:
null
,
// 实施年限 起止日期
organizationCode
:
null
,
address
:
null
,
registeredAddress
:
null
,
postCode
:
null
,
legalPerson
:
null
,
workforce
:
null
,
specializedPersonnel
:
null
,
researchPersonnel
:
null
,
depositBank
:
null
,
bankAccount
:
null
,
depositBankAddress
:
null
,
interbankNumber
:
null
,
researchTotal
:
null
,
isResearchActive
:
null
,
researchCount
:
null
,
researchPersonCount
:
null
,
projName
:
null
,
leadUnit
:
null
,
recommendUnit
:
null
,
startDate
:
null
,
endDate
:
null
,
// 主题词
projKeywords
:
''
,
// 主题词(英文)
keywordsEnglish
:
''
,
// 依托单位
appUnitName
:
''
,
// 申报人
personName
:
''
,
// 性别
sex
:
''
,
// 出生年月
birthday
:
''
,
// 证件号
certId
:
''
,
// 民族
nationName
:
''
,
// 职 称
titleName
:
''
,
// 学历
educationName
:
''
,
// 专业
specName
:
''
,
// 电话
mobile
:
''
,
// 邮箱
email
:
''
,
// 合作单位
cooperativeUnits
:
[],
// 项目课题设置
projectSubList
:
[],
// 单位科研项目及资金管理制度表
managementRuleList
:
[],
// 成员
members
:
[],
// 投资总额
endDate
:
null
,
technologyInnovationBase
:
null
,
knowledgeId
:
null
,
totalFunding
:
null
,
// 卫生健康委资助
govFunding
:
null
,
// 单位配套
unitFunding
:
null
,
// 自筹
selfFunding
:
null
,
// 其他
otherFunding
:
null
,
linkName
:
null
,
linkMobile
:
null
,
linkEmail
:
null
,
projAbstract
:
null
,
projKeywords
:
null
,
researchContent
:
null
,
memResume
:
null
,
researchProgress
:
null
,
researchContent
:
null
,
technologyTarget
:
null
,
economyTarget
:
null
,
achievementTarget
:
null
,
otherTarget
:
null
,
cooperativeUnits
:
[],
members
:
[],
budget
:
[],
equipments
:
[{
...
Equipments
}],
// 研究内容和意义
projContent
:
''
,
//参考文献
projReference
:
''
,
// 立项依据
projBasis
:
''
,
// 研究内容和研究目标,拟解决的关键问题
researchContent
:
''
,
// 研究思路、方法、技术路线、实验方案及可行性分析
researchPlan
:
''
,
// 项目的特色和创新之处
mainFeatures
:
''
,
// 研究进度计划
studyPlan
:
''
,
// 预期研究成果
expectedResults
:
''
,
// 研究工作积累和已取得的研究工作成绩
workFoundation
:
''
,
// 实验条件和资料
workingConditions
:
''
,
// 申请者和项目组主要成员研究工作简历
memResume
:
''
,
// 申请者正在承担的其它研究项目
researchProjects
:
''
,
projDoc
:
''
,
fileList
:
[{
...
File
}],
//项目类型(1.科研项目、2.重点项目)
equipments
:
[],
projectSubList
:
[],
managementRuleList
:
[],
fileList
:
[],
projType
:
getType
()
},
rules
:
{
projName
:
[
{
required
:
true
,
message
:
'请填写项目名称'
,
trigger
:
'blur'
},
{
max
:
50
,
message
:
'项目名称不能大于50'
,
trigger
:
'blur'
}
],
englishName
:
[{
max
:
200
,
message
:
'项目名称(英文)不能大于50'
,
trigger
:
'blur'
}],
proj_no
:
{
required
:
true
,
message
:
'请填写项目编号'
,
trigger
:
'blur'
},
isAchieve
:
{
required
:
true
,
message
:
'是否可实现成果转化或临床应用'
,
trigger
:
'change'
},
isAccept
:
{
required
:
true
,
message
:
'请选择是否选择接受立项不资助'
,
trigger
:
'change'
},
isOverseas
:
{
required
:
true
,
message
:
'请选择是否存在境外机构或人员参与'
,
trigger
:
'change'
},
knowledgeId
:
{
required
:
true
,
message
:
'请选择申报学科'
,
trigger
:
'change'
},
anticipatedForms
:
{
required
:
true
,
message
:
'请选择成果形式'
,
trigger
:
'change'
},
projKeywords
:
[{
required
:
true
,
message
:
'请填写主题词'
,
trigger
:
'blur'
},],
keywordsEnglish
:
[{
max
:
200
,
message
:
'主题词不能大于50'
,
trigger
:
'blur'
},],
startDate
:
{
required
:
true
,
message
:
'请选择起始日期'
,
trigger
:
'change'
},
endDate
:
{
required
:
true
,
message
:
'请选择结束日期'
,
trigger
:
'change'
},
dept
:
{
required
:
true
,
message
:
'请填写系、所、科室'
,
trigger
:
'blur'
},
nature
:
{
required
:
true
,
message
:
'请填单位性质'
,
trigger
:
'change'
},
telephone
:
{
required
:
true
,
message
:
'请填写申请人电话'
,
trigger
:
'blur'
},
address
:
{
required
:
true
,
message
:
'请填写详细地址'
,
trigger
:
'blur'
},
email
:
{
required
:
true
,
message
:
'请填写邮箱'
,
trigger
:
'blur'
},
applyMoney
:
{
required
:
true
,
message
:
'请填写申请金额'
,
trigger
:
'blur'
},
// 研究内容和意义
projContent
:
[{
required
:
true
,
message
:
'请填写研究内容和意义'
,
trigger
:
'blur'
}],
//参考文献
projReference
:
[{
required
:
false
,
message
:
'请填写参考文献'
,
trigger
:
'blur'
}],
// 立项依据
projBasis
:
[{
required
:
true
,
message
:
'请填写立项依据'
,
trigger
:
'blur'
}],
// 研究内容和研究目标,拟解决的关键问题
researchContent
:
[{
required
:
true
,
message
:
'请填写研究内容和研究目标'
,
trigger
:
'blur'
}],
// 研究思路、方法、技术路线、实验方案及可行性分析
researchPlan
:
[{
required
:
true
,
message
:
'请填写研究思路、方法、技术路线'
,
trigger
:
'blur'
}],
// 项目的特色和创新之处
mainFeatures
:
[{
required
:
true
,
message
:
'请填写项目的特色和创新之处'
,
trigger
:
'blur'
}],
// 研究进度计划
studyPlan
:
[{
required
:
true
,
message
:
'请填写研究进度计划'
,
trigger
:
'blur'
}],
// 预期研究成果
expectedResults
:
[{
required
:
true
,
message
:
'请填写预期研究成果'
,
trigger
:
'blur'
}],
// 研究工作积累和已取得的研究工作成绩
workFoundation
:
[{
required
:
true
,
message
:
'请填写研究工作积累和已取得的研究工作成绩'
,
trigger
:
'blur'
}],
// 实验条件和资料
workingConditions
:
[{
required
:
true
,
message
:
'请填写实验条件和资料'
,
trigger
:
'blur'
}],
// 申请者和项目组主要成员研究工作简历
memResume
:
[{
required
:
true
,
message
:
'请填写研究工作简历'
,
trigger
:
'blur'
}],
// 申请者正在承担的其它研究项目
researchProjects
:
[{
required
:
true
,
message
:
'请填写研究项目'
,
trigger
:
'blur'
}],
govFunding
:
{
required
:
true
,
message
:
'*'
,
trigger
:
'blur'
},
unitFunding
:
{
required
:
true
,
message
:
'*'
,
trigger
:
'blur'
},
selfFunding
:
{
required
:
true
,
message
:
'*'
,
trigger
:
'blur'
},
otherFunding
:
{
required
:
true
,
message
:
'*'
,
trigger
:
'blur'
},
organizationCode
:
[{
required
:
true
,
message
:
'请填写组织机构代码/统一社会信用代码'
,
trigger
:
'blur'
},],
address
:
[{
required
:
true
,
message
:
'请填写通讯地址'
,
trigger
:
'blur'
},],
registeredAddress
:
[{
required
:
true
,
message
:
'请填写注册所在地'
,
trigger
:
'blur'
},],
postCode
:
[{
required
:
true
,
message
:
'请填写邮编'
,
trigger
:
'blur'
},],
legalPerson
:
[{
required
:
true
,
message
:
'请填写法定代表人'
,
trigger
:
'blur'
},],
workforce
:
[{
required
:
true
,
message
:
'请填写职工总数'
,
trigger
:
'blur'
},],
specializedPersonnel
:
[{
required
:
true
,
message
:
'请填写其中专科以上人员'
,
trigger
:
'blur'
},],
researchPersonnel
:
[{
required
:
true
,
message
:
'请填写研究开发人员'
,
trigger
:
'blur'
},],
depositBank
:
[{
required
:
true
,
message
:
'请填写开户银行'
,
trigger
:
'blur'
},],
bankAccount
:
[{
required
:
true
,
message
:
'请填写银行账号'
,
trigger
:
'blur'
},],
depositBankAddress
:
[{
required
:
true
,
message
:
'请填写开户银行地址'
,
trigger
:
'blur'
},],
interbankNumber
:
[{
required
:
true
,
message
:
'请填写开户银行地址'
,
trigger
:
'blur'
},],
researchTotal
:
[{
required
:
true
,
message
:
'请填写上年度研发经费支出总额'
,
trigger
:
'blur'
},],
isResearchActive
:
[{
required
:
true
,
message
:
'请选择上年度是否填报了研发活动情况'
,
trigger
:
'change'
},],
researchCount
:
[{
required
:
true
,
message
:
'请填写上一年度填报的研发投入总数'
,
trigger
:
'blur'
},],
researchPersonCount
:
[{
required
:
true
,
message
:
'请填写上一年度填报的研发人员数'
,
trigger
:
'blur'
},],
projName
:
[{
required
:
true
,
message
:
'请填写项目名称'
,
trigger
:
'blur'
},],
leadUnit
:
[{
required
:
true
,
message
:
'请填写项目所属二级学院/部门名称(牵头单位)'
,
trigger
:
'blur'
},],
recommendUnit
:
[{
required
:
true
,
message
:
'请填写推荐部门'
,
trigger
:
'blur'
},],
startDate
:
{
required
:
true
,
message
:
'请选择项日开始时间'
,
trigger
:
'change'
},
endDate
:
{
required
:
true
,
message
:
'请选择项目结束时间'
,
trigger
:
'change'
},
technologyInnovationBase
:
[{
required
:
true
,
message
:
'请填写项目依托的科技创新基地'
,
trigger
:
'blur'
},],
knowledgeId
:
{
required
:
true
,
message
:
'请选择>项目所属学科类别'
,
trigger
:
'change'
},
totalFunding
:
[{
required
:
true
,
message
:
'请填写项目总经费'
,
trigger
:
'blur'
},],
govFunding
:
[{
required
:
true
,
message
:
'请填写申请科技经费'
,
trigger
:
'blur'
},],
linkName
:
[{
required
:
true
,
message
:
'请填写项目联系人姓名'
,
trigger
:
'blur'
},],
linkMobile
:
[{
required
:
true
,
message
:
'请填写联系人手机'
,
trigger
:
'blur'
},],
linkEmail
:
[{
required
:
true
,
message
:
'请填写电子邮箱'
,
trigger
:
'blur'
},],
projAbstract
:
[{
required
:
true
,
message
:
'请填写项目摘要'
,
trigger
:
'blur'
},],
projKeywords
:
[{
required
:
true
,
message
:
'请填写关键词'
,
trigger
:
'blur'
},],
researchContent
:
{
required
:
true
,
message
:
'请填写项目的意义、必要性'
,
trigger
:
'blur'
},
memResume
:
{
required
:
true
,
message
:
'请填写项目现有工作基础和支撑条件'
,
trigger
:
'blur'
},
researchProgress
:
{
required
:
true
,
message
:
'请填写与项目相关的国内外技术发展现状'
,
trigger
:
'blur'
},
researchContent
:
{
required
:
true
,
message
:
'请填写项目实施目标'
,
trigger
:
'blur'
},
technologyTarget
:
{
required
:
true
,
message
:
'请填写主要技术指标'
,
trigger
:
'blur'
},
economyTarget
:
{
required
:
true
,
message
:
'请填写主要经济指标'
,
trigger
:
'blur'
},
achievementTarget
:
[{
required
:
true
,
message
:
'请填写项目实施中形成的示范基地、中试线、生产线及其规模等'
,
trigger
:
'blur'
},],
otherTarget
:
{
required
:
true
,
message
:
'请填写其他应考核的指标'
,
trigger
:
'blur'
},
},
// 富文本字数
tinymceLimit
:
15000
,
...
...
@@ -838,7 +771,6 @@ export default {
if
(
data
)
{
this
.
formData
=
data
this
.
loadList
()
// tinyMCE.activeEditor.setContent(data.projDoc)
}
else
this
.
$emit
(
'close'
,
'error'
)
this
.
$emit
(
'load'
,
false
)
...
...
@@ -894,12 +826,6 @@ export default {
this
.
$message
.
error
(
'至少添加一位项目组成员!'
)
return
}
if
(
this
.
formData
.
isOverseas
&&
this
.
formData
.
isOverseas
==
'是'
)
{
if
(
this
.
formData
.
overseasRemark
==
null
||
this
.
formData
.
overseasRemark
==
''
)
{
this
.
$message
.
error
(
'请填写存在境外机构或人员具体情况说明!'
)
return
}
}
this
.
$refs
.
form
.
validate
(
valid
=>
{
if
(
valid
)
{
if
(
!
this
.
checkApplyMoney
())
{
...
...
@@ -1104,14 +1030,6 @@ export default {
},
},
watch
:
{
'formData.isOverseas'
:
{
handler
(
value
)
{
if
(
value
&&
value
==
'是'
)
this
.
overseasShow
=
true
else
this
.
overseasShow
=
false
},
},
}
}
</
script
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment