Commit 180ad5d3 authored by wangxl's avatar wangxl

44444

parent c46dc64f
...@@ -23,6 +23,7 @@ import BtnGroup from '@/components/btnGroup/index.vue' ...@@ -23,6 +23,7 @@ import BtnGroup from '@/components/btnGroup/index.vue'
import EComment from '@/components/comment/index.vue' import EComment from '@/components/comment/index.vue'
import FileUpload from '@/views/components/common/upload.vue' import FileUpload from '@/views/components/common/upload.vue'
import fModal from '@/components/modal/index' import fModal from '@/components/modal/index'
import fileLoad from '@/views/components/common/fileLoad'
import Viewer from "v-viewer" import Viewer from "v-viewer"
import 'viewerjs/dist/viewer.css' import 'viewerjs/dist/viewer.css'
...@@ -30,6 +31,7 @@ Vue.component('e-comment', EComment); ...@@ -30,6 +31,7 @@ Vue.component('e-comment', EComment);
Vue.component('btn-group', BtnGroup); Vue.component('btn-group', BtnGroup);
Vue.component('sModal', sModal) Vue.component('sModal', sModal)
Vue.component('FileUpload', FileUpload) Vue.component('FileUpload', FileUpload)
Vue.component('fileLoad', fileLoad)
Vue.component('fModal', fModal) Vue.component('fModal', fModal)
// 设置ant日期选择框为中文样式 // 设置ant日期选择框为中文样式
......
...@@ -28,6 +28,9 @@ ...@@ -28,6 +28,9 @@
<a-form-model-item label="邮 箱" prop="email"> <a-form-model-item label="邮 箱" prop="email">
<a-input v-model="formData.email" :maxLength="30" style="width:180px;" /> <a-input v-model="formData.email" :maxLength="30" style="width:180px;" />
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="通讯地址" prop="address">
<a-input v-model="formData.address" :maxLength="60" style="width:180px;" />
</a-form-model-item>
</a-form-model> </a-form-model>
</div> </div>
</template> </template>
...@@ -55,6 +58,7 @@ export default { ...@@ -55,6 +58,7 @@ export default {
telephone: [{ required: true, message: '*', trigger: 'blur' },], telephone: [{ required: true, message: '*', trigger: 'blur' },],
fax: [{ required: true, message: '*', trigger: 'blur' },], fax: [{ required: true, message: '*', trigger: 'blur' },],
email: [{ required: true, message: '*', trigger: 'blur' },], email: [{ required: true, message: '*', trigger: 'blur' },],
address: [{ required: true, message: '*', trigger: 'blur' },],
}, },
} }
}, },
......
...@@ -35,6 +35,7 @@ export default { ...@@ -35,6 +35,7 @@ export default {
telephone: null, telephone: null,
fax: null, fax: null,
email: null, email: null,
address: null,
}, },
loading: false loading: false
} }
......
...@@ -111,6 +111,7 @@ export default { ...@@ -111,6 +111,7 @@ export default {
telephone: null, telephone: null,
fax: null, fax: null,
email: null, email: null,
address: null,
}, },
loading: false loading: false
} }
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<script> <script>
import documentView from '@/views/components/common/documentView' import documentView from '@/views/components/common/documentView'
export default { export default {
name: "FileLoad", name: "fileLoad",
components: { components: {
documentView documentView
}, },
......
...@@ -3,34 +3,19 @@ ...@@ -3,34 +3,19 @@
<a-row> <a-row>
<a-col :span="24"> <a-col :span="24">
<div class="tb-title"> <div class="tb-title">
<span>项目主要参与单位及分工</span> <span>合作单位</span>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex" class="row_center"> <a-row type="flex" class="row_center">
<a-col :span="5" class="bg-gray"> <a-col :span="2" class="bg-gray">
<div class="special-middle">
<div class="required">单位名称</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">单位国别</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div class="required">单位地址</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">组织机构代码/统社会信用代码</div> <div>序号</div>
</div> </div>
</a-col> </a-col>
<a-col :span="6" class="bg-gray"> <a-col :span="20" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">分 工</div> <div class="required">单位名称</div>
</div> </div>
</a-col> </a-col>
<a-col :span="2" class="bg-gray"> <a-col :span="2" class="bg-gray">
...@@ -40,47 +25,18 @@ ...@@ -40,47 +25,18 @@
</a-col> </a-col>
</a-row> </a-row>
<a-row v-for="(item, index) in cooperativeUnits" :key="'cooperativeUnits'+index" type="flex" class="row_center"> <a-row v-for="(item, index) in cooperativeUnits" :key="'cooperativeUnits'+index" type="flex" class="row_center">
<a-col :span="5"> <a-col :span="2">
<div class="special-middle">
<div>
<a-form-model-item :prop="'cooperativeUnits.' + index + '.unitName'" :rules="{ required: true,message: '*',trigger: 'blur',}">
<a-input v-model="item.unitName" :maxLength="20" placeholder="单位名称" style="width: 80%" />
</a-form-model-item>
</div>
</div>
</a-col>
<a-col :span="3">
<div class="special-middle">
<div>
<a-form-model-item :prop="'cooperativeUnits.' + index + '.unitCountry'" :rules="{ required: true,message: '*',trigger: 'blur',}">
<a-input v-model="item.unitCountry" :maxLength="20" placeholder="单位国别" style="width: 80%" />
</a-form-model-item>
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
<a-form-model-item :prop="'cooperativeUnits.' + index + '.unitAddress'" :rules="{ required: true,message: '*',trigger: 'blur',}">
<a-input v-model="item.unitAddress" :maxLength="100" placeholder="单位地址" style="width: 80%" />
</a-form-model-item>
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item :prop="'cooperativeUnits.' + index + '.organizationCode'" :rules="{ required: true,message: '*',trigger: 'blur',}"> {{ index + 1 }}
<a-input v-model="item.organizationCode" :maxLength="50" placeholder="组织机构代码/统社会信用代码" style="width: 80%" />
</a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="20">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item :prop="'cooperativeUnits.' + index + '.projectWork'" :rules="{ required: true,message: '*',trigger: 'blur',}"> <a-form-model-item :prop="'cooperativeUnits.' + index + '.unitName'">
<a-input v-model="item.projectWork" :maxLength="50" placeholder="分 工" style="width: 80%" /> <a-input v-model="item.unitName" :maxLength="20" placeholder="单位名称" style="width: 80%" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
...@@ -129,7 +85,7 @@ export default { ...@@ -129,7 +85,7 @@ export default {
}, },
created () { created () {
}, },
methods: { methods: {
addArray () {//添加成员 addArray () {//添加成员
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<a-row> <a-row>
<a-col :span="24"> <a-col :span="24">
<div class="tb-title"> <div class="tb-title">
<span>项目主要参与单位及分工</span> <span>合作单位</span>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
...@@ -13,31 +13,11 @@ ...@@ -13,31 +13,11 @@
<div>序号</div> <div>序号</div>
</div> </div>
</a-col> </a-col>
<a-col :span="5" class="bg-gray"> <a-col :span="22" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div >单位名称</div> <div >单位名称</div>
</div> </div>
</a-col> </a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div >单位国别</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div >单位地址</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div >组织机构代码/统社会信用代码</div>
</div>
</a-col>
<a-col :span="6" class="bg-gray">
<div class="special-middle">
<div >分 工</div>
</div>
</a-col>
</a-row> </a-row>
<a-row v-for="(item, index) in dataList" :key="'cooperativeUnits'+index" type="flex" class="row_center"> <a-row v-for="(item, index) in dataList" :key="'cooperativeUnits'+index" type="flex" class="row_center">
<a-col :span="2"> <a-col :span="2">
...@@ -54,34 +34,6 @@ ...@@ -54,34 +34,6 @@
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="3">
<div class="special-middle">
<div>
{{ item.unitCountry }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
{{ item.unitAddress }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
{{ item.organizationCode }}
</div>
</div>
</a-col>
<a-col :span="6">
<div class="special-middle">
<div>
{{ item.projectWork }}
</div>
</div>
</a-col>
</a-row> </a-row>
</div> </div>
</template> </template>
......
<template> <template>
<div> <div>
<a-form-model ref="form" :model="formData" :rules="rules" style="border-top: 0px" class="from-table font-line-space"> <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;text-align: center;">
<div class="main-title">
<span>项目基本情况</span>
</div>
</a-col>
</a-row>
<a-row> <a-row>
<a-col :span="24" style="border-top: 0px"> <a-col :span="24" style="border-top: 0px">
<div class="tb-title"> <div class="tb-title">
<span>项目名称</span> <span>申请人信息</span>
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>姓名</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
<a-form-model-item>
<div>{{ formData.appPersonName }}</div>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>性别</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
<a-form-model-item>
<div>{{ formData.sex }}</div>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>出生日期</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
<a-form-model-item>
{{ moment(formData.birthday).format('YYYY-MM-DD') }}
</a-form-model-item>
</div>
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>民族</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
<a-form-model-item>
<div>{{ formData.nationName }}</div>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>学位</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
<a-form-model-item>
<div>{{ formData.degreeName }}</div>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>职称</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
<a-form-model-item>
{{ formData.titleName}}
</a-form-model-item>
</div>
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>电话</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
<a-form-model-item>
<div>{{ formData.mobile }}</div>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>电子邮箱</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
<a-form-model-item>
<div>{{ formData.email }}</div>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">每年工作时间(月)</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
<a-form-model-item prop="jobTime">
<a-input-number v-model="formData.jobTime" :min="0" :max="12" :step="1" style="width: 100px" />
</a-form-model-item>
</div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">项目名称</div> <div>个人通讯地址</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<a-form-model-item prop="projName"> <div class="special-middle">
<a-input placeholder="项目名称" v-model="formData.projName" :maxLength="50" style="width:60%" /> <div>
</a-form-model-item> <a-form-model-item>
<div>{{ formData.address }}</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="20">
<div class="special-middle">
<div>
<a-form-model-item>
<div>{{ formData.appUnitName }}</div>
</a-form-model-item>
</div>
</div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex" v-if="isModifyNo"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">项目编号</div> <div class="required">主要研究领域</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="projNo"> <a-form-model-item prop="mainResearchAreas">
<a-input placeholder="项目编号" v-model="formData.projNo" :maxLength="50" style="width: 40%;" /> <a-textarea placeholder="主要研究领域" v-model="formData.mainResearchAreas" :maxLength="300" style="width: 80%; height: 160px; margin-top: 12px" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<!-- 项目名称 end -->
<!-- 项目申报单位 -->
<a-row> <a-row>
<a-col :span="24" style="border-top: 0px"> <a-col :span="24" style="border-top: 0px">
<div class="tb-title"> <div class="tb-title">
<span>项目基本情况</span> <span>申请单位信息</span>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">单位名称</div> <div>单位名称</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<div class="special-middle"> <div class="special-middle">
<div>{{ formData.appUnitName }}</div> <div>
<a-form-model-item>
<div>{{ formData.appUnitName }}</div>
</a-form-model-item>
</div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">通讯地址</div> <div class="required">联系人</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="address"> <a-form-model-item prop="unitLinkName">
<a-input placeholder="通讯地址" v-model="formData.address" :maxLength="50" style="width: 60%;" /> <a-input placeholder="联系人" v-model="formData.unitLinkName" :maxLength="100" style="width:80%" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">邮编</div> <div class="required">电话</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="postCode"> <a-form-model-item prop="unitLinkMobile">
<a-input placeholder="邮编" v-model="formData.postCode" :maxLength="50" style="width: 60%;" /> <a-input placeholder="电话" v-model="formData.unitLinkMobile" :maxLength="100" style="width:80%" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
...@@ -92,111 +252,106 @@ ...@@ -92,111 +252,106 @@
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">统一社会信用代码</div> <div class="required">电子信箱</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="creditCode"> <a-form-model-item prop="unitLinkEmail">
<a-input placeholder="统一社会信用代码" v-model="formData.creditCode" :maxLength="50" style="width: 60%;" /> <a-input placeholder="电子信箱" v-model="formData.unitLinkEmail" :maxLength="100" style="width:80%" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">单位性质</div> <div class="required">传真</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="nature"> <a-form-model-item prop="unitLinkFax">
<para-select v-model="formData.nature" :typeId="58" :width="200" /> <a-input placeholder="传真" v-model="formData.unitLinkFax" :maxLength="100" style="width:80%" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<!-- 项目申报单位 end-->
<!-- 项目合作单位 -->
<cooperative-units :cooperativeUnits.sync="formData.cooperativeUnits" />
<!-- 项目合作单位 end-->
<!-- 项目负责人 -->
<a-row>
<a-col :span="24">
<div class="tb-title">
<span>项目负责人</span>
</div>
</a-col>
</a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>姓名</div> <div>注册单位类型</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div>{{ formData.personName }}</div> <div>
<a-form-model-item>
<div>{{ formData.unitTypeName }}</div>
</a-form-model-item>
</div>
</div> </div>
</a-col> </a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>性别</div> <div class="required">组织机构代码/统一社会信用代码</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div>{{ formData.sex }}</div> <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> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>身份证号</div> <div class="required">通讯地址</div>
</div>
</a-col>
<a-col :span="8">
<div class="special-middle">
<div>{{ formData.certId }}</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>学历</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="20">
<div class="special-middle"> <div class="special-middle">
<div>{{ formData.educationName }}</div> <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> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>职称</div> <div class="required">注册所在地(县/区)</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div>{{ formData.titleName }}</div> <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> </div>
</a-col> </a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>工作单位</div> <div class="required">邮编</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<div>{{ formData.appUnitName }}</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>
</div> </div>
</a-col> </a-col>
...@@ -204,28 +359,28 @@ ...@@ -204,28 +359,28 @@
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>固定电话</div> <div class="required">法定代表人</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="telephone"> <a-form-model-item prop="legalPerson">
<a-input placeholder="固定电话" v-model="formData.telephone" :maxLength="50" style="width: 60%;" /> <a-input placeholder="法定代表人" v-model="formData.legalPerson" :maxLength="50" style="width:80%" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>手机号码</div> <div class="required">职工总数</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="mobile"> <a-form-model-item prop="workforce">
<a-input placeholder="手机号码" v-model="formData.mobile" :maxLength="50" style="width: 60%;" /> <a-input-number v-model="formData.workforce" :min="0" :step="1" style="width: 100px" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
...@@ -234,54 +389,58 @@ ...@@ -234,54 +389,58 @@
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>电子邮箱</div> <div class="required">其中专科以上人员</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="email"> <a-form-model-item prop="specializedPersonnel">
<a-input placeholder="电子邮箱" v-model="formData.email" :maxLength="50" style="width: 250px;" /> <a-input-number v-model="formData.specializedPersonnel" :min="0" :step="1" style="width: 100px" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
</a-row> <a-col :span="4" class="bg-gray">
<!-- 项目负责人 end--> <div class="special-middle">
<div class="required">研究开发人员</div>
<!-- 项目联系人 --> </div>
<a-row> </a-col>
<a-col :span="24"> <a-col :span="8">
<div class="tb-title"> <div class="special-middle">
<span>项目联系人</span> <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> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>姓名</div> <div class="required">开户银行</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="linkName"> <a-form-model-item prop="depositBank">
<a-input placeholder="姓名" v-model="formData.linkName" :maxLength="50" style="width: 60%;" /> <a-input placeholder="开户银行" v-model="formData.depositBank" :maxLength="100" style="width:80%" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>工作单位</div> <div class="required">银行账号</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="linkUnit"> <a-form-model-item prop="bankAccount">
<a-input placeholder="工作单位" v-model="formData.linkUnit" :maxLength="50" style="width: 60%;" /> <a-input placeholder="银行账号" v-model="formData.bankAccount" :maxLength="100" style="width:80%" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
...@@ -290,502 +449,510 @@ ...@@ -290,502 +449,510 @@
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>手机号码</div> <div class="required">开户银行地址</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="linkMobile"> <a-form-model-item prop="depositBankAddress">
<a-input placeholder="手机号码" v-model="formData.linkMobile" :maxLength="50" style="width: 60%;" /> <a-input placeholder="开户银行地址" v-model="formData.depositBankAddress" :maxLength="100" style="width:80%" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>电子邮箱</div> <div class="required">银行联行号</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="linkEmail"> <a-form-model-item prop="interbankNumber">
<a-input placeholder="电子邮箱" v-model="formData.linkEmail" :maxLength="50" style="width: 60%;" /> <a-input placeholder="开户银行地址" v-model="formData.interbankNumber" :maxLength="100" style="width:80%" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<!-- 项目合项目联系人 end-->
<!-- 执行期限 --> <!-- 项目合作单位 -->
<a-row> <cooperative-units-edit :cooperativeUnits.sync="formData.cooperativeUnits" />
<a-col :span="24">
<div class="tb-title"> <!-- <a-row type="flex">
<span>执行期限</span> <a-col :span="4" class="bg-gray">
<div class="special-middle">
<div class="required">上年度研发经费支出总额(单位:万元)</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> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">项目执行期</div> <div class="required">上年度是否填报了研发活动情况</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<a-form-model-item prop="startDate" style="width:200px;display: inline-block;"> <div class="special-middle">
<a-date-picker format="YYYY-MM-DD" valueFormat="YYYY-MM-DD HH:mm:ss" v-model="formData.startDate" style="width: 180px" /> <div>
</a-form-model-item> <a-form-model-item prop="isResearchActive">
<span style="margin: 0px 10px 0 2px">~</span> <base-select v-model="formData.isResearchActive" :type="12" :isAll="true" />
<a-form-model-item prop="endDate" style="width:200px;display: inline-block;"> </a-form-model-item>
<a-date-picker format="YYYY-MM-DD" valueFormat="YYYY-MM-DD HH:mm:ss" v-model="formData.endDate" style="width: 180px" /> </div>
</a-form-model-item> </div>
</a-col> </a-col>
</a-row> </a-row>
<!-- 执行期限 end--> <a-row type="flex">
<a-col :span="4" class="bg-gray">
<!-- 项目信息 --> <div class="special-middle">
<a-row> <div class="required">上一年度填报的研发投入总数(单位:万元)</div>
<a-col :span="24"> </div>
<div class="tb-title"> </a-col>
<span>所属技术领域</span> <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> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>所属技术领域</div> <div class="required">上一年度填报的研发人员数</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="technicalField"> <a-form-model-item prop="researchPersonCount">
<a-textarea placeholder="所属技术领域" v-model="formData.technicalField" :maxLength="1000" style="width: 60%; height: 140px; margin-top: 12px" /> <a-input-number v-model="formData.researchPersonCount" :min="0" :step="1" style="width: 100px" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row> -->
<a-row> <a-row>
<a-col :span="24"> <a-col :span="24" style="border-top: 0px">
<div class="tb-title"> <div class="tb-title">
<span>·</span> <span>项目基本情况</span>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">国标学科</div> <div class="required">项目名称</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<a-form-model-item prop="knowledgeId"> <a-form-model-item prop="projName">
<para-multi-select v-model="formData.knowledgeId" :typeId="57" /> <a-input placeholder="项目名称" v-model="formData.projName" :maxLength="100" style="width: 80%" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row> <!-- <a-row type="flex">
<a-col :span="24"> <a-col :span="4" class="bg-gray">
<div class="tb-title"> <div class="special-middle">
<span>科技报告</span> <div class="required">项目所属二级学院/部门名称(牵头单位)</div>
</div> </div>
</a-col> </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>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">年度报告</div> <div>推荐部门</div>
</div> </div>
</a-col> </a-col>
<a-col :span="4"> <a-col :span="20">
<a-form-model-item prop="annualTechnologyReport"> <div class="special-middle">
<a-input-number placeholder="年度报告" v-model="formData.annualTechnologyReport" :maxLength="50" style="width: 80px;" /> <div>{{ formData.appUnitName }}</div>
<span style="margin-left:6px"></span> </div>
</a-form-model-item>
</a-col> </a-col>
</a-row> -->
<a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">中期技术报告</div> <div class="required">学科代码</div>
</div> </div>
</a-col> </a-col>
<a-col :span="4"> <a-col :span="20">
<a-form-model-item prop="midTechnicalReport"> <a-form-model-item prop="knowledgeId">
<a-input-number placeholder="中期技术报告" v-model="formData.midTechnicalReport" :maxLength="50" style="width: 80px;" /> <para-multi-select v-model="formData.knowledgeId" :typeId="57" />
<span style="margin-left:6px"></span>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row>
<a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">最终技术报告</div> <div class="required">项日开始时间</div>
</div> </div>
</a-col> </a-col>
<a-col :span="4"> <a-col :span="8">
<a-form-model-item prop="finalTechnicalReport"> <a-form-model-item prop="startDate" style="width:200px;display: inline-block;">
<a-input-number placeholder="最终技术报告" v-model="formData.finalTechnicalReport" :maxLength="50" style="width: 80px;" /> <a-date-picker format="YYYY-MM-DD" valueFormat="YYYY-MM-DD HH:mm:ss" v-model="formData.startDate" @change="startDateChange" style="width: 180px" />
<span style="margin-left:6px"></span>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> <a-col :span="4" class="bg-gray">
<a-row> <div class="special-middle">
<a-col :span="24"> <div class="required">项目结束时间</div>
<div class="tb-title">
<span>·</span>
</div> </div>
</a-col> </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" @change="endDateChange" style="width: 180px" />
</a-form-model-item>
</a-col>
</a-row> </a-row>
<a-row type="flex"> <!-- <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">项目摘要(300字以内)</div> <div class="required">项目依托的科技创新基地</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<a-form-model-item prop="projAbstract"> <a-form-model-item prop="technologyInnovationBase">
<a-textarea placeholder="项目摘要" v-model="formData.projAbstract" :maxLength="300" style="width: 60%; height: 160px; margin-top: 12px" /> <a-input placeholder="项目依托的科技创新基地" v-model="formData.technologyInnovationBase" :maxLength="100" style="width: 80%" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row> -->
<a-row>
<a-col :span="24">
<div class="tb-title">
<span>项目投入</span>
</div>
</a-col>
</a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">项目投入</div> <div class="required">项目总经费(万元)</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="8">
<a-form-model-item prop="totalFunding"> <a-form-model-item prop="totalFunding">
<a-input-number v-model="formData.totalFunding" :min="0" :step="0.01" style="width: 100px" /> <a-input-number v-model="formData.totalFunding" :min="0" :step="0.01" style="width: 100px" />
<span> 单位:万元</span> <span> 单位:万元</span>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row>
<a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">申请自治区资金</div> <div class="required">申请科技经费(万元)</div>
</div> </div>
</a-col> </a-col>
<a-col :span="4"> <a-col :span="8">
<a-form-model-item prop="govFunding"> <a-form-model-item prop="govFunding">
<a-input-number v-model="formData.govFunding" :min="0" :step="0.01" style="width: 100px" /> <a-input-number v-model="formData.govFunding" :min="0" :step="0.01" style="width: 100px" />
<span> 单位:万元</span> <span> 单位:万元</span>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row>
<a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">单位自筹</div> <div class="required">项目联系人姓名</div>
</div> </div>
</a-col> </a-col>
<a-col :span="4"> <a-col :span="8">
<a-form-model-item prop="selfFunding"> <a-form-model-item prop="linkName">
<a-input-number v-model="formData.selfFunding" :min="0" :step="0.01" style="width: 100px" /> <a-input placeholder="项目联系人姓名" v-model="formData.linkName" :maxLength="100" style="width: 80%" />
<span> 单位:万元</span>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">其他</div> <div class="required">联系人手机</div>
</div> </div>
</a-col> </a-col>
<a-col :span="4"> <a-col :span="8">
<a-form-model-item prop="otherFunding"> <a-form-model-item prop="linkMobile">
<a-input-number v-model="formData.otherFunding" :min="0" :step="0.01" style="width: 100px" /> <a-input placeholder="联系人手机" v-model="formData.linkMobile" :maxLength="100" style="width: 80%" />
<span> 单位:万元</span>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row>
<a-col :span="24">
<div class="tb-title">
<span>·</span>
</div>
</a-col>
</a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">成果形式</div> <div class="required">电子邮箱</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<a-form-model-item prop="results"> <a-form-model-item prop="linkEmail">
<para-check v-model="formData.results" :typeId="45" /> <a-input placeholder="电子邮箱" v-model="formData.linkEmail" :maxLength="100" style="width: 80%" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">国内外研究进展</div> <div class="required">项目摘要(400字以内)</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<a-form-model-item prop="researchProgress"> <a-form-model-item prop="projAbstract">
<my-editor v-model="formData.researchProgress" id="my_researchProgress" /> <a-textarea placeholder="项目摘要" v-model="formData.projAbstract" :maxLength="400" style="width: 80%; height: 160px; margin-top: 12px" />
<!-- <a-textarea placeholder="国内外研究进展" v-model="formData.researchProgress" :maxLength="5000" style="width: 80%; height: 140px; margin-top: 12px" /> -->
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">研发内容</div> <div class="required">关键词</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<a-form-model-item prop="researchContent"> <a-form-model-item prop="projKeywords">
<my-editor v-model="formData.researchContent" id="my_researchContent" /> <a-input placeholder="关键词" v-model="formData.projKeywords" :maxLength="200" style="width: 80%" />
<!-- <a-textarea placeholder="研发内容" v-model="formData.researchContent" style="width: 80%; height: 140px; margin-top: 12px" /> -->
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-row>
<div class="special-middle"> <a-col :span="24" style="border-top: 0px">
<div class="required">研究方法和技术路线</div> <div class="main-title">
<span>项目人员情况</span>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> </a-row>
<a-form-model-item prop="researchPlan">
<my-editor v-model="formData.researchPlan" id="my_researchPlan" /> <!-- 项目合作单位 -->
<!-- <a-textarea placeholder="研究方法和技术路线" v-model="formData.researchPlan" :maxLength="20000" style="width: 80%; height: 140px; margin-top: 12px" /> --> <participate-units-edit :participateUnits.sync="formData.participateUnits" />
</a-form-model-item>
<!-- 项目组成员 -->
<project-member-edit :dataList.sync="formData.members" />
<a-row>
<a-col :span="24" style="border-top: 0px">
<div class="tb-title">
<span>项目可行性研究情况</span>
</div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">创新点</div> <div class="required">1、立项依据、研究内容、意义及必要性</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<a-form-model-item prop="mainFeatures"> <a-form-model-item prop="projContent">
<my-editor v-model="formData.mainFeatures" id="my_mainFeatures" /> <a-textarea placeholder="立项依据、研究内容、意义及必要性" v-model="formData.projContent" :maxLength="10000" style="width: 80%; height: 160px; margin-top: 12px" />
<!-- <a-textarea placeholder="创新点" v-model="formData.mainFeatures" style="width: 80%; height: 140px; margin-top: 12px" /> -->
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">先进性</div> <div class="required">2、项目现有工作基础和支撑条件</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<a-form-model-item prop="progressiveness"> <a-form-model-item prop="memResume">
<my-editor v-model="formData.progressiveness" id="my_progressiveness" /> <a-textarea placeholder="项目现有工作基础和支撑条件" v-model="formData.memResume" :maxLength="10000" style="width: 80%; height: 160px; margin-top: 12px" />
<!-- <a-textarea placeholder="先进性" v-model="formData.progressiveness" style="width: 80%; height: 140px; margin-top: 12px" /> -->
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row> <a-row>
<a-col :span="24"> <a-col :span="24" style="border-top: 0px">
<div class="tb-title"> <div class="tb-title ">
<div class="required"></div><strong>(注:填报时不要出现本人相关信息)</strong> <span style="color: rgba(0, 0, 0, 0.65);">3、在研或完成基础研究项目情况</span>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<!-- 在研或完成基础研究项目情况 -->
<project-research-edit :projectResearchList.sync="formData.projectResearchList" />
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">申报单位、参与单位科研条件支撑状况<br/>(注:填报时不要出现本人相关信息)</div> <div class="required">4、与项目相关的国内外技术发展现状(包括知识产权情况)以及本项目主要研究开发内容技术关键(创新点)、可行性评价及项目风险分析与对策</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<a-form-model-item prop="supportingConditions"> <a-form-model-item prop="researchProgress">
<my-editor v-model="formData.supportingConditions" id="my_supportingConditions" /> <a-textarea placeholder="与项目相关的国内外技术发展现状" v-model="formData.researchProgress" :maxLength="10000" style="width: 80%; height: 160px; margin-top: 12px" />
<!-- <a-textarea placeholder="申报单位、参与单位科研条件支撑状况" v-model="formData.supportingConditions" style="width: 80%; height: 140px; margin-top: 12px" /> -->
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row> <a-row>
<a-col :span="24"> <a-col :span="24" style="border-top: 0px">
<div class="tb-title"> <div class="main-title">
<div class="required"></div><strong>(注:填报时不要出现本人相关信息)</strong> <span>项目主要实施内容和目标</span>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">负责人及研究团队的科研水平及前期研究基础<br/>(注:填报时不要出现本人相关信息)</div> <div class="required">项目实施目标</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<a-form-model-item prop="memResume"> <a-form-model-item prop="researchContent">
<my-editor v-model="formData.memResume" id="my_memResume" /> <a-textarea placeholder="项目实施目标" v-model="formData.researchContent" :maxLength="10000" style="width: 80%; height: 160px; margin-top: 12px" />
<!-- <a-textarea placeholder="负责人及研究团队的科研水平及前期研究基础" v-model="formData.memResume" style="width: 80%; height: 140px; margin-top: 12px" /> -->
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row> <a-row>
<a-col :span="24"> <a-col :span="24" style="border-top: 0px">
<div class="tb-title"> <div class="tb-title">
<span>预期目</span> <span>项目考核指</span>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">技术指标</div> <div class="required">主要技术指标</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<a-form-model-item prop="technologyTarget"> <a-form-model-item prop="technologyTarget">
<my-editor v-model="formData.technologyTarget" id="my_technologyTarget" /> <a-textarea placeholder="主要技术指标" v-model="formData.technologyTarget" :maxLength="10000" style="width: 80%; height: 160px; margin-top: 12px" />
<!-- <a-textarea placeholder="技术指标" v-model="formData.technologyTarget" style="width: 80%; height: 140px; margin-top: 12px" /> -->
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">经济指标</div> <div class="required">主要经济指标</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<a-form-model-item prop="economyTarget"> <a-form-model-item prop="economyTarget">
<my-editor v-model="formData.economyTarget" id="my_economyTarget" /> <a-textarea placeholder="主要经济指标" v-model="formData.economyTarget" :maxLength="10000" style="width: 80%; height: 160px; margin-top: 12px" />
<!-- <a-textarea placeholder="经济指标" v-model="formData.economyTarget" style="width: 80%; height: 140px; margin-top: 12px" /> -->
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">成果指标</div> <div>项目实施中形成的示范基地、中试线、生产线及其规模等</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<a-form-model-item prop="achievementTarget"> <a-form-model-item prop="achievementTarget">
<my-editor v-model="formData.achievementTarget" id="my_achievementTarget" /> <a-textarea placeholder="项目实施中形成的示范基地、中试线、生产线及其规模等" v-model="formData.achievementTarget" :maxLength="10000" style="width: 80%; height: 160px; margin-top: 12px" />
<!-- <a-textarea placeholder="成果指标" v-model="formData.achievementTarget" style="width: 80%; height: 140px; margin-top: 12px" /> -->
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">社会效益</div> <div>其他应考核的指标</div>
</div>
</a-col>
<a-col :span="20">
<a-form-model-item prop="socialBenefit">
<my-editor v-model="formData.socialBenefit" id="my_socialBenefit" />
<!-- <a-textarea placeholder="社会效益" v-model="formData.socialBenefit" style="width: 80%; height: 140px; margin-top: 12px" /> -->
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="24">
<div class="tb-title">
<div class="required"></div><span>其他目标与考核指标 <strong>(对于难以采取上述表格细化的项目目标及其考核指标,可在此细化填写,限1000字以内。)</strong></span>
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="24">
<div style="font-weight: bold;">
<span>1.“项目目标”,应从以下方面明确描述:<br />
(1)项目研发主要针对什么问题和需求;<br />
(2)将要解决哪些科学问题、突破哪些核心/共性/关键技术;<br />
(3)预期成果;<br />
(4)成果将以何种方式应用在哪些领域/行业/重大工程等,并拟在科技、经济、社会、等方面发挥何种的作用和影响。</span><br />
<span>2.“对应的课题(任务)”,课题任务的主要成果,指将由项目内哪些课题(任务)支撑取得某项成果。</span><br />
<span>3.“考核指标”,指相应成果的数量指标、技术指标、质量指标、应用指标和产业化指标等,其中,数量指标可以为论文、专利、产品等的数量;技术指标可以为关键技术、产品的性能参数等;质量指标可以为产品的质量提升等;应用指标可以为成果应用的对象、范围和效果等;产业化指标可以为成果产业化的数量、经济效益等。同时,对各项考核指标需填写立项时已有的指标值/状态以及项目完成时要到达的指标值/状态。同时,考核指标也应包括支撑和服务其他重大科研、经济、社会发展、科学普及需求等方面的直接和间接效益。若某项成果属于开创性的成果,立项时已有指标值/状态可填写“无”,若某项成果在立项时已有指标值/状态难以界定,则可填写“/”。</span><br />
<span>4.“中期指标”,可根据每个项目管理特点,确定是否填写,阶段目标明确的项目应填写中期指标。</span><br />
<span>5.“考核方式方法”,应提出符合相关研究成果与指标的具体考核技术方法、证明材料等。</span><br />
</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> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<a-form-model-item prop="otherTarget"> <a-form-model-item prop="otherTarget">
<my-editor v-model="formData.otherTarget" id="my_otherTarget" /> <a-textarea placeholder="其他应考核的指标" v-model="formData.otherTarget" :maxLength="10000" style="width: 80%; height: 160px; margin-top: 12px" />
<!-- <a-textarea placeholder="其他目标与考核指标" v-model="formData.otherTarget" :maxLength="1000" style="width: 80%; height: 200px; margin-top: 12px" /> -->
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<!-- 项目安排及阶段目标 -->
<proj-stage-goals :stageGoals.sync="formData.stageGoals" />
<!-- 项目经费构成表 -->
<proj-fund-composition :fundCompositions.sync="formData.fundCompositions" />
<!-- 项目组成员 -->
<proj-group-member :members.sync="formData.members" />
<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="awardSituation">
<a-input placeholder="项目负责人主要成就、发明及获奖情况" v-model="formData.awardSituation" :maxLength="10000" style="width: 80%;" />
</a-form-model-item>
</div>
</div>
</a-col>
</a-row>
<!-- 经费预算 --> <!-- 经费预算 -->
<budget-edit :budget.sync="formData.budget" /> <budget-edit :budget.sync="formData.budget" />
<!-- 分年度用款计划 -->
<fund-plan-edit :fundPlan.sync="formData.fundPlan" />
<!-- 设备费-购置设备预算明细表 -->
<equipments-edit :equipments.sync="formData.equipments" />
<!-- 科技计划项目承担单位研究资金支出预算明细表 -->
<unit-payment-edit :unitPayment.sync="formData.unitPayment" />
<!-- 项目绩效指标 -->
<project-kpi-edit :projectKPI.sync="formData.projectKPI" />
<!-- 项目课题设置 -->
<project-sub-edit :projectSubList.sync="formData.projectSubList" />
<!-- 单位科研项目及资金管理制度表 -->
<management-rule-edit :managementRuleList.sync="formData.managementRuleList" />
<!-- 附件 --> <!-- 附件 -->
<file-edit :fileList.sync="formData.fileList" /> <file-edit :fileList.sync="formData.fileList" />
<!-- 项目信息 end-->
</a-form-model> </a-form-model>
</div> </div>
</template> </template>
<script> <script>
import { isEmptyParams, checkEmail, checkPhone, checkIdentitytionId, personBirthday, personGender } from "@/views/utils/common"
import moment from 'moment'
import { getType } from '@/views/utils/auth' import { getType } from '@/views/utils/auth'
import paraMultiSelect from '@/views/components/common/paraMultiSelect' import paraMultiSelect from '@/views/components/common/paraMultiSelect'
import myEditor from '@/views/components/common/myEditor'
import paraSelect from '@/views/components/common/paraSelect' import paraSelect from '@/views/components/common/paraSelect'
import baseSelect from '@/views/components/common/baseSelect' import baseSelect from '@/views/components/common/baseSelect'
import projGroupMember from '@/views/report/project/components/keyProject/projGroupMember' import projectMemberEdit from '@/views/report/project/components/projectMemberEdit'
import projStageGoals from '@/views/report/project/components/keyProject/projStageGoals' import cooperativeUnitsEdit from '@/views/report/project/components/cooperativeUnitsEdit'
import projFundComposition from '@/views/report/project/components/keyProject/projFundComposition' import participateUnitsEdit from '@/views/report/project/components/participateUnitsEdit'
import cooperativeUnits from '@/views/report/project/components/keyProject/cooperativeUnits' import budgetEdit from '@/views/report/project/components/budgetEdit'
import budgetEdit from '@/views/report/project/components/keyProject/budgetEdit' import fundPlanEdit from '@/views/report/project/components/fundPlanEdit'
import fileEdit from '@/views/report/project/components/keyProject/fileEdit' import equipmentsEdit from '@/views/report/project/components/equipmentsEdit.vue'
import paraCheck from '@/views/components/common/paraCheck' import unitPaymentEdit from '@/views/report/project/components/unitPaymentEdit.vue'
import projectKpiEdit from '@/views/report/project/components/projectKpiEdit.vue'
import projectResearchEdit from '@/views/report/project/components/projectResearchEdit'
import projectSubEdit from '@/views/report/project/components/projectSubEdit'
import managementRuleEdit from '@/views/report/project/components/managementRuleEdit'
import fileEdit from '@/views/report/project/components/fileEdit'
import { isEmptyParams } from "@/views/utils/common"
import moment from 'moment'
const Unit = { id: null, unitName: null } const ProjResearch = { projNo: null, projName: null, approveUnit: null, leader: null, startDate: null, endDate: null, funds: null }
const Goals = { startTime: null, endTime: null, contentInfo: null, target: null } const ManagementRule = { policyName: null, releaseDate: null, documentNumber: null, validityPeriod: null, mainContent: null, fileId: null, downloadId: null, fileName: null, downloadUrl: null }
const Fund = { year: null, totalFund: null, specialFund: null, selfFund: null, cityFund: null, otherFund: null, remark: null } const ProjectSub = { projName: null, undertakingUnit: null, address: null, director: null, totalBudget: null, govBudget: null, selfBudget: null, cooperativeUnits: null, fileId: null, downloadId: null, fileName: null, downloadUrl: null }
const Member = { name: null, certId: null, title: null, education: null, degree: null, spec: null, workUnit: null } const Cooperative = { id: null, unitName: null }
const ParticipateUnit = { id: null, unitName: null, unitCountry: null, unitAddress: null, organizationCode: null, projectWork: null }
const Members = { name: null, sex: null, birthday: null, certificateType: null, certId: null, nation: null, country: null, workUnit: null, title: null, degree: null, email: null, mobile: null, telephone: null, fax: null, projWork: null, forMonths: null, spec: null }
const Equipment = { id: "", objectId: "", name: "", functionTarget: "", specificationType: "", quantity: 1, totalBudget: 0.00, useFrom: "", buyUnit: "", storageLocation: "", equipmentType: "", manufacturer: "", sharedScope: "", unitPrice: 0.00, }
const File = { fileName: '', downloadUrl: '', fileExplain: '', downloadId: '' } const File = { fileName: '', downloadUrl: '', fileExplain: '', downloadId: '' }
const projectKPI = {
reportYear: "",
projName: "",
appUnitName: "",
projAttribute: "",
projDeadline: "",
startDate: "",
endData: "",
yearTarget: "",
year1Goal: "",
year2Goal: "",
year3Goal: "",
totalBudget: 0.00,
applyFunds: 0.00,
selfFunds: 0.00,
yearTotal: 0.00,
yearApply: 0.00,
yearSelf: 0.00,
totalRowSpan: 0, //总合并行数
outTarget: 0, //一级指标(产出指标)
benefitTarget: 0, //一级指标(效益指标)
satisfactionDegree: 0, //一级指标(满意度指标)
quantityTarget: 0, //二级指标(数量指标)
qualityTarget: 0, //二级指标(质量指标)
validityTarget: 0, //二级指标(时效指标)
costTarget: 0, //二级指标(成本指标)
economicTarget: 0, //二级指标(经济效益指标)
socialTarget: 0, //二级指标(社会效益指标)
ecologicalTarget: 0, //二级指标(生态效益指标)
sustainableTarget: 0, //二级指标(可持续影响指标)
serviceTarget: 0, //二级指标(服务对象满意度指标)
threeLevel: [],
kpiList: [],
};
export default { export default {
name: 'projectEdit', name: 'projectEdit',
components: { components: {
paraMultiSelect, paraSelect, baseSelect, projGroupMember, cooperativeUnits, paraCheck, projStageGoals, projFundComposition, budgetEdit, fileEdit, myEditor paraMultiSelect, paraSelect, baseSelect, projectMemberEdit, cooperativeUnitsEdit, participateUnitsEdit, budgetEdit, fundPlanEdit, equipmentsEdit, unitPaymentEdit, projectKpiEdit, projectResearchEdit, projectSubEdit, managementRuleEdit, fileEdit
}, },
props: { props: {
value: { value: {
...@@ -794,239 +961,119 @@ export default { ...@@ -794,239 +961,119 @@ export default {
return null return null
} }
}, },
isModifyNo: { },
type: Boolean, created () {
default: () => { this.getProject()
return false
}
},
}, },
data () { data () {
return { return {
overseasShow: false,
formData: { formData: {
id: null, id: null,
// 年度 organizationCode: null,
reportYear: null,
// 状态
projState: -10,
// 项目名称
projName: null,
// 项目编号
projNo: null,
// 单位名称
appUnitName: null,
// 通讯地址
address: null, address: null,
// 邮编 jobTime: null,
mainResearchAreas: null,
registeredAddress: null,
postCode: null, postCode: null,
// 统一社会信用代码 legalPerson: null,
creditCode: null, workforce: null,
// 单位性质 specializedPersonnel: null,
nature: null, researchPersonnel: null,
// 项目合作单位 depositBank: null,
cooperativeUnits: [], bankAccount: null,
// 姓名 depositBankAddress: null,
personName: '', interbankNumber: null,
// 性别 researchTotal: null,
sex: '', isResearchActive: null,
// 证件号 researchCount: null,
certId: '', researchPersonCount: null,
// 学历 projName: null,
educationName: '', leadUnit: null,
// 职 称 recommendUnit: null,
titleName: '',
// 固定电话
telephone: '',
// 手机号码
mobile: '',
// 电子邮箱
email: '',
// 姓名(项目联系人)
linkName: '',
// 工作单位(项目联系人)
linkUnit: '',
// 手机号码(项目联系人)
linkMobile: '',
// 电子邮箱(项目联系人)
linkEmail: '',
// 实施年限 起止日期
startDate: null, startDate: null,
endDate: null, endDate: null,
// 所属技术领域 technologyInnovationBase: null,
technicalField: null, knowledgeId: null,
// 国标学科
knowledgeId: '',
// 年度报告
annualTechnologyReport: null,
// 中期技术报告
midTechnicalReport: null,
// 最终技术报告
finalTechnicalReport: null,
// 项目摘要
projAbstract: null,
// 投资总额
totalFunding: null, totalFunding: null,
// 卫生健康委资助
govFunding: null, govFunding: null,
// 单位配套 linkName: null,
unitFunding: null, linkMobile: null,
// 自筹 linkEmail: null,
selfFunding: null, projAbstract: null,
// 其他 projKeywords: null,
otherFunding: null, projContent: null,
// 成果形式 memResume: null,
results: null,
// 国内外研究进展
researchProgress: null, researchProgress: null,
// 研发内容
researchContent: null, researchContent: null,
// 研究方法和技术路线
researchPlan: null,
// 创新点
mainFeatures: null,
// 先进性
progressiveness: null,
// 申报单位、参与单位科研条件支撑状况
supportingConditions: null,
// 负责人及研究团队的科研水平及前期研究基础
memResume: null,
// 技术指标 */
technologyTarget: null, technologyTarget: null,
// 经济指标 */
economyTarget: null, economyTarget: null,
// 成果指标 */
achievementTarget: null, achievementTarget: null,
// 社会效益 */
socialBenefit: null,
// 其他目标与考核指标 */
otherTarget: null, otherTarget: null,
// 负责人主要成就、发明及获奖情况 */ yearTarget: null,
awardSituation: null, year1Goal: null,
// 项目安排及阶段目标 */ year2Goal: null,
stageGoals: [], year3Goal: null,
// 项目经费构成表 */ projectKPI: projectKPI,
fundCompositions: [], unitPayment: [],
// 项目参加人员 */ cooperativeUnits: [],
participateUnits: [],
members: [], members: [],
// 经费预算 */
budget: [], budget: [],
// 附件 */ fundPlan: [],
equipments: [],
projectResearchList: [],
projectSubList: [],
managementRuleList: [],
fileList: [], fileList: [],
}, },
rules: { rules: {
// 项目名称 mainResearchAreas: [{ required: true, message: '请填写主要研究领域', trigger: 'blur' },],
projName: [{ required: true, message: '请填写项目名称', trigger: 'blur' },], jobTime: [{ required: true, message: '请填写每年工作时间(月)', trigger: 'blur' },],
// 项目编号 organizationCode: [{ required: true, message: '请填写组织机构代码/统一社会信用代码', trigger: 'blur' },],
projNo: [{ required: false, message: '请填写项目编号', trigger: 'blur' },], registeredAddress: [{ required: true, message: '请填写注册所在地', trigger: 'blur' },],
// 单位名称
appUnitName: [{ required: false, message: '请填写单位名称', trigger: 'blur' },],
// 通讯地址
address: [{ required: true, message: '请填写通讯地址', trigger: 'blur' },],
// 邮编
postCode: [{ required: true, message: '请填写邮编', trigger: 'blur' },], postCode: [{ required: true, message: '请填写邮编', trigger: 'blur' },],
// 统一社会信用代码 legalPerson: [{ required: true, message: '请填写法定代表人', trigger: 'blur' },],
creditCode: [{ required: true, message: '请填写统一社会信用代码', trigger: 'blur' },], workforce: [{ required: true, message: '请填写职工总数', trigger: 'blur' },],
// 单位性质 specializedPersonnel: [{ required: true, message: '请填写其中专科以上人员', trigger: 'blur' },],
nature: { required: true, message: '请选择单位性质', trigger: 'change' }, researchPersonnel: [{ required: true, message: '请填写研究开发人员', trigger: 'blur' },],
// 姓名 depositBank: [{ required: true, message: '请填写开户银行', trigger: 'blur' },],
personName: [{ required: false, message: '请填写姓名', trigger: 'blur' },], bankAccount: [{ required: true, message: '请填写银行账号', trigger: 'blur' },],
// 性别 depositBankAddress: [{ required: true, message: '请填写开户银行地址', trigger: 'blur' },],
sex: [{ required: false, message: '请填写性别', trigger: 'blur' },], interbankNumber: [{ required: true, message: '请填写开户银行地址', trigger: 'blur' },],
// 证件号 // researchTotal: [{ required: true, message: '请填写上年度研发经费支出总额', trigger: 'blur' },],
certId: [{ required: false, message: '请填写证件号', trigger: 'blur' },], // isResearchActive: [{ required: true, message: '请选择上年度是否填报了研发活动情况', trigger: 'change' },],
// 学历 // researchCount: [{ required: true, message: '请填写上一年度填报的研发投入总数', trigger: 'blur' },],
educationName: [{ required: false, message: '请填写学历', trigger: 'blur' },], // researchPersonCount: [{ required: true, message: '请填写上一年度填报的研发人员数', trigger: 'blur' },],
// 职 称 projName: [{ required: true, message: '请填写项目名称', trigger: 'blur' },],
titleName: [{ required: false, message: '请填写职 称', trigger: 'blur' },], // leadUnit: [{ required: true, message: '请填写项目所属二级学院/部门名称(牵头单位)', trigger: 'blur' },],
// 固定电话 // recommendUnit: [{ required: false, message: '请填写推荐部门', trigger: 'blur' },],
telephone: [{ required: true, message: '请填写固定电话', trigger: 'blur' },], startDate: { required: true, message: '请选择项日开始时间', trigger: 'change' },
// 手机号码 endDate: { required: true, message: '请选择项目结束时间', trigger: 'change' },
mobile: [ technologyInnovationBase: [{ required: true, message: '请填写项目依托的科技创新基地', trigger: 'blur' },],
{ required: true, message: '请填写手机号码', trigger: 'blur' }, knowledgeId: { required: true, message: '请选择>项目所属学科类别', trigger: 'change' },
{ required: true, validator: checkPhone, trigger: 'blur' }], totalFunding: [{ required: true, message: '请填写项目总经费', trigger: 'blur' },],
// 电子邮箱 govFunding: [{ required: true, message: '请填写申请科技经费', trigger: 'blur' },],
email: [ linkName: [{ required: true, message: '请填写项目联系人姓名', trigger: 'blur' },],
{ required: true, message: '请填写电子邮箱', trigger: 'blur' }, linkMobile: [{ required: true, message: '请填写联系人手机', trigger: 'blur' },],
{ required: true, validator: checkEmail, trigger: 'blur' } linkEmail: [{ required: true, message: '请填写电子邮箱', trigger: 'blur' },],
], projAbstract: [{ required: true, message: '请填写项目摘要', trigger: 'blur' },],
// 姓名(项目联系人) projKeywords: [{ required: true, message: '请填写关键词', trigger: 'blur' },],
linkName: [{ required: true, message: '请填写姓名(项目联系人)', trigger: 'blur' },], projContent: { required: true, message: '请填写项目的意义、必要性', trigger: 'blur' },
// 工作单位(项目联系人) memResume: { required: true, message: '请填写项目现有工作基础和支撑条件', trigger: 'blur' },
linkUnit: [{ required: true, message: '请填写工作单位(项目联系人)', trigger: 'blur' },], researchProgress: { required: true, message: '请填写与项目相关的国内外技术发展现状', trigger: 'blur' },
// 手机号码(项目联系人) researchContent: { required: true, message: '请填写项目实施目标', trigger: 'blur' },
linkMobile: [ technologyTarget: { required: true, message: '请填写主要技术指标', trigger: 'blur' },
{ required: true, message: '请填写手机号码(项目联系人)', trigger: 'blur' }, economyTarget: { required: true, message: '请填写主要经济指标', trigger: 'blur' },
{ required: true, validator: checkPhone, trigger: 'blur' } achievementTarget: [{ required: false, message: '请填写项目实施中形成的示范基地、中试线、生产线及其规模等', trigger: 'blur' },],
], otherTarget: { required: false, message: '请填写其他应考核的指标', trigger: 'blur' },
// 电子邮箱(项目联系人)
linkEmail: [
{ required: true, message: '请填写电子邮箱(项目联系人)', trigger: 'blur' },
{ required: true, validator: checkEmail, trigger: 'blur' }
],
// 实施年限 起止日期
startDate: { required: true, message: '请选择起始日期', trigger: 'change' },
endDate: { required: true, message: '请选择结束日期', trigger: 'change' },
// 所属技术领域
technicalField: [{ required: true, message: '请填写所属技术领域', trigger: 'blur' },],
// 国标学科
knowledgeId: { required: true, message: '请选择国标学科', trigger: 'change' },
// 年度报告
annualTechnologyReport: [{ required: true, message: '请填写年度报告', trigger: 'blur' },],
// 中期技术报告
midTechnicalReport: [{ required: true, message: '请填写中期技术报告', trigger: 'blur' },],
// 最终技术报告
finalTechnicalReport: [{ required: true, message: '请填写最终技术报告', trigger: 'blur' },],
// 项目摘要
projAbstract: [{ required: true, message: '请填写项目名称', trigger: 'blur' },],
// 投资总额
totalFunding: [{ 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' },],
// 成果形式
results: [{ required: true, message: '请选择成果形式', trigger: 'change' },],
// 国内外研究进展
researchProgress: [{ required: true, message: '请填写国内外研究进展', trigger: 'blur' },],
// 研发内容
researchContent: [{ required: true, message: '请填写研发内容', trigger: 'blur' },],
// 研究方法和技术路线
researchPlan: [{ required: true, message: '请填写研究方法和技术路线', trigger: 'blur' },],
// 创新点
mainFeatures: [{ required: true, message: '请填写创新点', trigger: 'blur' },],
// 先进性
progressiveness: [{ required: true, message: '请填写先进性', trigger: 'blur' },],
// 申报单位、参与单位科研条件支撑状况
supportingConditions: [{ required: true, message: '请填写申报单位、参与单位科研条件支撑状况', trigger: 'blur' },],
// 负责人及研究团队的科研水平及前期研究基础
memResume: [{ required: true, message: '请填写 负责人及研究团队的科研水平及前期研究基础', trigger: 'blur' },],
// 技术指标 */
technologyTarget: [{ required: true, message: '请填写技术指标', trigger: 'blur' },],
// 经济指标 */
economyTarget: [{ required: true, message: '请填写经济指标', trigger: 'blur' },],
// 成果指标 */
achievementTarget: [{ required: true, message: '请填写成果指标', trigger: 'blur' },],
// 社会效益 */
socialBenefit: [{ required: true, message: '请填写社会效益', trigger: 'blur' },],
// 其他目标与考核指标 */
otherTarget: [{ required: true, message: '请填写其他目标与考核指标', trigger: 'blur' },],
// 负责人主要成就、发明及获奖情况 */
awardSituation: [{ required: true, message: '请填写负责人主要成就、发明及获奖情况', trigger: 'blur' },],
}, },
} }
}, },
computed: { computed: {
}, },
mounted () { mounted () {
},
created () {
this.getProject()
}, },
methods: { methods: {
moment, moment,
...@@ -1049,80 +1096,117 @@ export default { ...@@ -1049,80 +1096,117 @@ export default {
if (data) { if (data) {
this.formData = data this.formData = data
this.loadList() this.loadList()
} else { } else
this.$emit('close', 'error') this.$emit('close', 'error')
}
this.$emit('load', false) this.$emit('load', false)
}).catch(() => { }).catch(() => {
this.$emit('load', false)
this.$emit('close', 'error') this.$emit('close', 'error')
this.$emit('load', false)
}) })
} }
}, },
loadList () { loadList () {
if (!!!this.formData.cooperativeUnits || this.formData.cooperativeUnits.length == 0) {
this.formData.cooperativeUnits = [{ ...Unit }, { ...Unit }, { ...Unit }] if (!!!this.formData.participateUnits || this.formData.participateUnits.length == 0)
} this.formData.participateUnits = [{ ...ParticipateUnit }]
if (!!!this.formData.stageGoals || this.formData.stageGoals.length == 0) {
this.formData.stageGoals = [{ ...Goals }, { ...Goals }, { ...Goals }] if (!!!this.formData.cooperativeUnits || this.formData.cooperativeUnits.length == 0)
this.formData.cooperativeUnits = [{ ...Cooperative }, { ...Cooperative }]
if (!!!this.formData.projectResearchList || this.formData.projectResearchList.length == 0)
this.formData.projectResearchList = [{ ...ProjResearch }]
if (!!!this.formData.managementRuleList || this.formData.managementRuleList.length == 0)
this.formData.managementRuleList = [{ ...ManagementRule }]
if (!!!this.formData.projectSubList || this.formData.projectSubList.length == 0)
this.formData.projectSubList = [{ ...ProjectSub }]
if (!!!this.formData.members || this.formData.members.length == 0)
this.formData.members = []
if (!!!this.formData.equipments || !this.formData.equipments.length || this.formData.equipments.length == 0) {
this.formData.equipments = []
} }
if (!!!this.formData.fundCompositions || this.formData.fundCompositions.length == 0) { if (!!!this.formData.unitPayment || !this.formData.unitPayment.length || this.formData.unitPayment.length == 0) {
this.formData.fundCompositions = [{ ...Fund }, { ...Fund }, { ...Fund }] this.formData.unitPayment = []
} }
if (!!!this.formData.members || this.formData.members.length == 0) { if (!!!this.formData.fileList || !this.formData.fileList.length || this.formData.fileList.length == 0) {
this.formData.members = [{ ...Member }, { ...Member }, { ...Member }, { ...Member }, { ...Member }] this.formData.fileList = []
} }
}, },
processProjectYearTarget () {
this.formData.yearTarget = this.formData.projectKPI.yearTarget
this.formData.year1Goal = this.formData.projectKPI.year1Goal
this.formData.year2Goal = this.formData.projectKPI.year2Goal
this.formData.year3Goal = this.formData.projectKPI.year3Goal
this.formData.projectKPI.kpiList = this.formData.projectKPI.threeLevel
},
save () { save () {
if (this.formData.projName == "" || !!!this.formData.projName) { this.processProjectYearTarget()
this.$message.error('项目名称不能为空!') if (this.checkProjName()) {
return false 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('close', 'save')
}
this.$emit('load', false)
}).catch(() => {
this.$emit('load', false)
})
} }
this.formData.projState = -10
this.saveProjectInfo(1)
}, },
submit () { submit () {
if (!!!this.formData.members || this.formData.members.length == 0) { this.processProjectYearTarget()
if (this.formData.members.length == 0) {
this.$message.error('至少添加一位项目组成员!') this.$message.error('至少添加一位项目组成员!')
return false return
} }
this.$refs.form.validate(valid => { this.$refs.form.validate(valid => {
if (valid) { if (valid) {
if (this.formData.projState != 30) this.$emit('load', true)
let state = this.formData.projState
if (state != 30)
this.formData.projState = 10 this.formData.projState = 10
this.saveProjectInfo(2) 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('close', 'submit')
}
this.$emit('load', false)
}).catch(() => {
this.$emit('load', false)
})
} else { } else {
this.$message.error('项目信息未填写完全!') this.$message.warn('项目信息未填写完全!')
return false return false
} }
}) })
}, },
saveProjectInfo (type) { checkProjName () {
this.$emit('load', true) if (this.formData.projName == "" || this.formData.projName == null) {
let pars = isEmptyParams(this.formData) alert('项目名称不能为空')
let par = { ...pars } return false
this.$api.project.save(par).then(({ data = {} }) => { } else {
if (data) { return true
this.formData.id = data }
this.$message.success('成功!') },
this.$emit('load', false) startDateChange (value, dateString) {
this.$emit('onSave', type == 1 ? 'save' : 'submit') this.formData.projectKPI.startDate = this.formData.startDate
} else
this.$emit('load', false)
}).catch(() => {
this.$emit('load', false)
})
}, },
endDateChange (value, dateString) {
this.formData.projectKPI.endDate = this.formData.endDate
console.log(this.formData.projectKPI)
}
}, },
watch: { watch: {
} }
} }
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.d-icon {
margin-right: 10px;
}
</style> </style>
<template> <template>
<div class="from-table font-line-space"> <div class="from-table font-line-space" v-if="tabsData[0].isShow">
<a-row> <div v-if="tabsData[1].isShow">
<a-col :span="24"> <a-row>
<div class="tb-title"> <a-col :span="24" style="border-top: 0px">
<span>项目名称</span> <div class="tb-title">
</div> <span>基本情况</span>
</a-col> </div>
</a-row> </a-col>
<a-row type="flex"> </a-row>
<a-col :span="4" class="bg-gray"> <a-row>
<div class="special-middle"> <a-col :span="24" style="border-top: 0px">
<div>项目名称</div> <div class="tb-title">
</div> <span>单位基本情况</span>
</a-col> </div>
<a-col :span="20"> </a-col>
<div class="special-middle"> </a-row>
<div>{{ value.projName }}</div> <a-row type="flex">
</div> <a-col :span="4" class="bg-gray">
</a-col> <div class="special-middle">
</a-row> <div>单位名称</div>
<!-- <a-row type="flex" v-if="isModifyNo"> </div>
<a-col :span="4" class="bg-gray"> </a-col>
<div class="special-middle"> <a-col :span="20">
<div>项目编号</div> <div class="special-middle">
</div> <div>{{ value.appUnitName }}</div>
</a-col> </div>
<a-col :span="20"> </a-col>
<div class="special-middle"> </a-row>
<div>{{ value.projNo }}</div> <a-row type="flex">
</div> <a-col :span="4" class="bg-gray">
</a-col> <div class="special-middle">
</a-row> --> <div>注册单位类型</div>
</div>
<a-row> </a-col>
<a-col :span="24" style="border-top: 0px"> <a-col :span="8">
<div class="tb-title"> <div class="special-middle">
<span>项目申报单位</span> <div>
</div> {{ value.unitTypeName }}
</a-col> </div>
</a-row> </div>
<a-row type="flex"> </a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>单位名称</div> <div>组织机构代码/统一社会信用代码</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div>{{ value.appUnitName }}</div> <div>
</div> {{ value.organizationCode }}
</a-col> </div>
</a-row> </div>
<a-row type="flex"> </a-col>
<a-col :span="4" class="bg-gray"> </a-row>
<div class="special-middle"> <a-row type="flex">
<div>通讯地址</div> <a-col :span="4" class="bg-gray">
</div> <div class="special-middle">
</a-col> <div>通讯地址</div>
<a-col :span="8"> </div>
<div class="special-middle"> </a-col>
<div>{{ value.address }}</div> <a-col :span="20">
</div> <div class="special-middle">
</a-col> <div>
<a-col :span="4" class="bg-gray"> {{ value.address }}
<div class="special-middle"> </div>
<div>邮编</div> </div>
</div> </a-col>
</a-col> </a-row>
<a-col :span="8"> <a-row type="flex">
<div class="special-middle"> <a-col :span="4" class="bg-gray">
<div>{{ value.postCode }}</div> <div class="special-middle">
</div> <div>注册所在地</div>
</a-col> </div>
</a-row> </a-col>
<a-row type="flex"> <a-col :span="8">
<a-col :span="4" class="bg-gray"> <div class="special-middle">
<div class="special-middle"> <div>
<div>统一社会信用代码</div> {{ value.registeredAddress }}
</div> </div>
</a-col> </div>
<a-col :span="8"> </a-col>
<div class="special-middle"> <a-col :span="4" class="bg-gray">
<div>{{ value.creditCode }}</div> <div class="special-middle">
</div> <div>邮编</div>
</a-col> </div>
<a-col :span="4" class="bg-gray"> </a-col>
<div class="special-middle"> <a-col :span="8">
<div>单位性质</div> <div class="special-middle">
</div> <div>
</a-col> {{ value.postCode }}
<a-col :span="8"> </div>
<div class="special-middle"> </div>
<div>{{ value.natureName }}</div> </a-col>
</div> </a-row>
</a-col> <!-- <a-row type="flex">
</a-row> <a-col :span="4" class="bg-gray">
<div class="special-middle">
<cooperative-info :cooperativeUnits.sync="value.cooperativeUnits" /> <div>法定代表人</div>
</div>
<!-- 项目负责人 --> </a-col>
<a-row> <a-col :span="8">
<a-col :span="24"> <div class="special-middle">
<div class="tb-title"> <div>
<span>项目负责人</span> {{ value.legalPerson }}
</div> </div>
</a-col> </div>
</a-row> </a-col>
<a-row type="flex"> <a-col :span="4" class="bg-gray">
<a-col :span="4" class="bg-gray"> <div class="special-middle">
<div class="special-middle"> <div>职工总数</div>
<div>姓名</div> </div>
</div> </a-col>
</a-col> <a-col :span="8">
<a-col :span="8"> <div class="special-middle">
<div class="special-middle"> <div>
<div>{{ value.personName }}</div> {{ value.workforce }}
</div> </div>
</a-col> </div>
<a-col :span="4" class="bg-gray"> </a-col>
<div class="special-middle"> </a-row>
<div>性别</div> <a-row type="flex">
</div> <a-col :span="4" class="bg-gray">
</a-col> <div class="special-middle">
<a-col :span="8"> <div>其中专科以上人员</div>
<div class="special-middle"> </div>
<div>{{ value.sex }}</div> </a-col>
</div> <a-col :span="8">
</a-col> <div class="special-middle">
</a-row> <div>
<a-row type="flex"> {{ value.specializedPersonnel }}
<a-col :span="4" class="bg-gray"> </div>
<div class="special-middle"> </div>
<div>身份证号</div> </a-col>
</div> <a-col :span="4" class="bg-gray">
</a-col> <div class="special-middle">
<a-col :span="8"> <div>研究开发人员</div>
<div class="special-middle"> </div>
<div>{{ value.certId }}</div> </a-col>
</div> <a-col :span="8">
</a-col> <div class="special-middle">
<a-col :span="4" class="bg-gray"> <div>
<div class="special-middle"> {{ value.researchPersonnel }}
<div>学历</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> </a-row> -->
<div class="special-middle"> <!-- <a-row type="flex">
<div>{{ value.educationName }}</div> <a-col :span="4" class="bg-gray">
</div> <div class="special-middle">
</a-col> <div>开户银行</div>
</a-row> </div>
<a-row type="flex"> </a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div>职称</div> <div>
</div> {{ value.depositBank }}
</a-col> </div>
<a-col :span="8"> </div>
<div class="special-middle"> </a-col>
<div>{{ value.titleName }}</div> <a-col :span="4" class="bg-gray">
</div> <div class="special-middle">
</a-col> <div>银行账号</div>
<a-col :span="4" class="bg-gray"> </div>
<div class="special-middle"> </a-col>
<div>工作单位</div> <a-col :span="8">
</div> <div class="special-middle">
</a-col> <div>
<a-col :span="8"> {{ value.bankAccount }}
<div class="special-middle"> </div>
<div>{{ value.appUnitName }}</div> </div>
</div> </a-col>
</a-col> </a-row>
</a-row> <a-row type="flex">
<a-row type="flex"> <a-col :span="4" class="bg-gray">
<a-col :span="4" class="bg-gray"> <div class="special-middle">
<div class="special-middle"> <div>开户银行地址</div>
<div>固定电话</div> </div>
</div> </a-col>
</a-col> <a-col :span="8">
<a-col :span="8"> <div class="special-middle">
<div class="special-middle"> <div>
<div>{{ value.telephone }}</div> {{ value.depositBankAddress }}
</div> </div>
</a-col> </div>
<a-col :span="4" class="bg-gray"> </a-col>
<div class="special-middle"> <a-col :span="4" class="bg-gray">
<div>手机号码</div> <div class="special-middle">
</div> <div>银行联行号</div>
</a-col> </div>
<a-col :span="8"> </a-col>
<div class="special-middle"> <a-col :span="8">
<div>{{ value.mobile }}</div> <div class="special-middle">
</div> <div>
</a-col> {{ value.interbankNumber }}
</a-row> </div>
<a-row type="flex"> </div>
<a-col :span="4" class="bg-gray"> </a-col>
<div class="special-middle"> </a-row> -->
<div>电子邮箱</div> <!-- <a-row type="flex">
</div> <a-col :span="4" class="bg-gray">
</a-col> <div class="special-middle">
<a-col :span="20"> <div>上年度研发经费支出总额(单位:万元)</div>
<div class="special-middle"> </div>
<div>{{ value.email }}</div> </a-col>
</div> <a-col :span="20">
</a-col> <div class="special-middle">
</a-row> <div>
<!-- 项目负责人 end--> {{ value.researchTotal }}
</div>
<!-- 项目联系人 --> </div>
<a-row> </a-col>
<a-col :span="24"> </a-row>
<div class="tb-title"> <a-row type="flex">
<span>项目联系人</span> <a-col :span="4" class="bg-gray">
</div> <div class="special-middle">
</a-col> <div>上年度是否填报了研发活动情况</div>
</a-row> </div>
<a-row type="flex"> </a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="20">
<div class="special-middle"> <div class="special-middle">
<div>姓名</div> <div>
</div> {{ value.isResearchActive }}
</a-col> </div>
<a-col :span="8"> </div>
<div class="special-middle"> </a-col>
<div>{{ value.linkName }}</div> </a-row>
</div> <a-row type="flex">
</a-col> <a-col :span="4" class="bg-gray">
<a-col :span="4" class="bg-gray"> <div class="special-middle">
<div class="special-middle"> <div>上一年度填报的研发投入总数(单位:万元)</div>
<div>工作单位</div> </div>
</div> </a-col>
</a-col> <a-col :span="20">
<a-col :span="8"> <div class="special-middle">
<div class="special-middle"> <div>
<div>{{ value.linkUnit }}</div> {{ value.researchCount }}
</div> </div>
</a-col> </div>
</a-row> </a-col>
<a-row type="flex"> </a-row>
<a-col :span="4" class="bg-gray"> <a-row type="flex">
<div class="special-middle"> <a-col :span="4" class="bg-gray">
<div>手机号码</div> <div class="special-middle">
</div> <div>上一年度填报的研发人员数</div>
</a-col> </div>
<a-col :span="8"> </a-col>
<div class="special-middle"> <a-col :span="20">
<div>{{ value.linkMobile }}</div> <div class="special-middle">
</div> <div>
</a-col> {{ value.researchPersonCount }}
<a-col :span="4" class="bg-gray"> </div>
<div class="special-middle"> </div>
<div>电子邮箱</div> </a-col>
</div> </a-row> -->
</a-col>
<a-col :span="8">
<div class="special-middle">
<div>{{ value.linkEmail }}</div>
</div>
</a-col>
</a-row>
<!-- 项目合项目联系人 end-->
<!-- 执行期限 -->
<a-row>
<a-col :span="24">
<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>
{{ moment(value.startDate).format("YYYY-MM-DD") }}
{{ moment(value.endDate).format("YYYY-MM-DD") }}
</div>
</div>
</a-col>
</a-row>
<!-- 执行期限 end-->
<!-- 项目信息 -->
<a-row>
<a-col :span="24">
<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 v-html="toTextarea(value.technicalField)"></div>
</a-col>
</a-row>
<a-row>
<a-col :span="24">
<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>{{ value.knowledgeName }}</div>
</div>
</a-col>
</a-row>
<a-row>
<a-col :span="24">
<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="4">
<div class="special-middle">
<div>{{ value.annualTechnologyReport }}</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>中期技术报告</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>{{ value.midTechnicalReport }}</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>最终技术报告</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>{{ value.finalTechnicalReport }}</div>
</div>
</a-col>
</a-row>
<a-row>
<a-col :span="24">
<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>项目摘要(300字以内)</div>
</div>
</a-col>
<a-col :span="20">
<div class="special-middle">
<div>{{ value.projAbstract }}</div>
</div>
</a-col>
</a-row>
<a-row>
<a-col :span="24">
<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>{{ value.totalFunding }}<span> (万元)</span></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="4">
<div class="special-middle">
<div>{{ value.govFunding }}<span> (万元)</span></div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>单位自筹</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>{{ value.selfFunding }}<span> (万元)</span></div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>其他</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>{{ value.otherFunding }}<span> (万元)</span></div>
</div>
</a-col>
</a-row>
<a-row>
<a-col :span="24">
<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">
<para-check v-model="value.results" :typeId="45" :disabled="true" />
</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 v-html="value.researchProgress"></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 v-html="value.researchContent"></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 v-html="value.researchPlan"></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 v-html="value.mainFeatures"></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 v-html="value.progressiveness"></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 v-html="value.supportingConditions"></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 v-html="value.memResume"></div>
</a-col>
</a-row>
<a-row>
<a-col :span="24">
<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 v-html="value.technologyTarget"></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 v-html="value.economyTarget"></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 v-html="value.achievementTarget"></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 v-html="value.socialBenefit"></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 v-html="value.otherTarget"></div>
</a-col>
</a-row>
<!-- 项目安排及阶段目标 -->
<proj-stage-goals-info :stageGoals.sync="value.stageGoals" />
<!-- 项目经费构成表 --> <a-row>
<proj-fund-composition-info <a-col :span="24" style="border-top: 0px">
:fundCompositions.sync="value.fundCompositions" <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">
{{ value.projName }}
</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">
{{ value.leadUnit }}
</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">
{{ value.appUnitName }}
</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">
{{ moment(value.startDate).format('YYYY-MM-DD') }}
</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">
{{ moment(value.endDate).format('YYYY-MM-DD') }}
</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">
{{ value.technologyInnovationBase }}
</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">
{{ value.knowledgeName }}
</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">
{{ value.totalFunding }}
</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">
{{ value.govFunding }}
</div>
</a-col>
</a-row>
<!-- 项目组成员 --> <a-row type="flex">
<proj-group-member-info :members.sync="value.members" /> <a-col :span="4" class="bg-gray">
<a-row type="flex"> <div class="special-middle">
<a-col :span="4" class="bg-gray"> <div>项目联系人姓名</div>
<div class="special-middle"> </div>
<div>项目负责人主要成就、发明及获奖情况</div> </a-col>
</div> <a-col :span="8">
</a-col> <div class="special-middle">
<a-col :span="20"> {{ value.linkName }}
<div class="special-middle"> </div>
<div>{{ value.awardSituation }}</div> </a-col>
</div> <a-col :span="4" class="bg-gray">
</a-col> <div class="special-middle">
</a-row> <div>联系人手机</div>
</div>
</a-col>
<a-col :span="8">
<div class="special-middle">
{{ value.linkMobile }}
</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">
{{ value.linkEmail }}
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>项目摘要(400字以内)</div>
</div>
</a-col>
<a-col :span="20">
<div v-html="toTextarea(value.projAbstract)"></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">
{{ value.projKeywords }}
</div>
</a-col>
</a-row>
</div>
<div v-if="tabsData[2].isShow">
<a-row>
<a-col :span="24" style="border-top: 0px">
<div class="tb-title">
<span>项目人员情况</span>
</div>
</a-col>
</a-row>
<!-- 经费预算 --> <!-- 项目合作单位 -->
<budget-info :budget.sync="value.budget" /> <participate-units-info :dataList.sync="value.participateUnits" />
<!-- 附件 --> <!-- 项目组成员 -->
<file-info :fileList.sync="value.fileList" /> <project-member-info :dataList.sync="value.members" />
<a-row> <a-row type="flex" class="row_center">
<a-col :span="24"> <a-col :span="4" class="bg-gray">
<div class="tb-title"> <div class="special-middle">
<span>审核记录</span> <div>总人数</div>
</div> </div>
</a-col> </a-col>
</a-row> <a-col :span="3" class="bg-gray">
<a-row> <div class="special-middle">
<a-col :span="24"> <div>高级</div>
<audit-list v-model="value.auditList" /> </div>
</a-col> </a-col>
</a-row> <a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>中级</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>初级</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>博士后</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>博士生</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>硕士生</div>
</div>
</a-col>
</a-row>
<a-row type="flex" class="row_center">
<a-col :span="4">
<div class="special-middle">
<div>
{{ value.memCount }}
</div>
</div>
</a-col>
<a-col :span="3">
<div class="special-middle">
<div>
{{ value.memHighCount }}
</div>
</div>
</a-col>
<a-col :span="3">
<div class="special-middle">
<div>
{{ value.memMiddleCount }}
</div>
</div>
</a-col>
<a-col :span="3">
<div class="special-middle">
<div>
{{ value.memLowCount }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
{{ value.memBshCount }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
{{ value.memBsCount }}
</div>
</div>
</a-col>
<a-col :span="3">
<div class="special-middle">
<div>
{{ value.memSsCount }}
</div>
</div>
</a-col>
</a-row>
</div>
<div v-if="tabsData[3].isShow">
<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>1、项目的意义、必要性</div>
</div>
</a-col>
<a-col :span="20">
<div v-html="toTextarea(value.projContent)"></div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>2、项目现有工作基础和支撑条件</div>
</div>
</a-col>
<a-col :span="20">
<div v-html="toTextarea(value.memResume)"></div>
</a-col>
</a-row>
<a-row>
<a-col :span="24" style="border-top: 0px">
<div class="tb-title">
<span>3、在研或完成基础研究项目情况</span>
</div>
</a-col>
</a-row>
<!-- 在研或完成基础研究项目情况 -->
<project-research-info :dataList.sync="value.projectResearchList" />
<a-row type="flex">
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>4、与项目相关的国内外技术发展现状(包括知识产权情况)以及本项目主要研究开发内容技术关键(创新点)、可行性评价及项目风险分析与对策</div>
</div>
</a-col>
<a-col :span="20">
<div v-html="toTextarea(value.researchProgress)"></div>
</a-col>
</a-row>
</div>
<div v-if="tabsData[4].isShow">
<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 v-html="toTextarea(value.researchContent)"></div>
</a-col>
</a-row>
</div>
<div v-if="tabsData[5].isShow">
<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 v-html="toTextarea(value.technologyTarget)"></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 v-html="toTextarea(value.economyTarget)"></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 v-html="toTextarea(value.achievementTarget)"></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 v-html="toTextarea(value.otherTarget)"></div>
</a-col>
</a-row>
</div>
<div v-if="tabsData[6].isShow">
<!-- 经费预算 -->
<budget-info :budget.sync="value.budget" />
<!-- 分年度用款计划 -->
<fund-plan-info :fundPlan.sync="value.fundPlan" />
<!-- 设备费-购置设备预算明细表 -->
<equipments-info :equipments.sync="value.equipments" />
<!-- 设备费-购置设备预算明细表 -->
<unit-payment-info :unitPayment.sync="value.unitPayment" />
</div>
<div v-if="tabsData[7].isShow">
<!-- 项目绩效目标表v-if="value.projState >= 50" -->
<project-kpi-info v-if="value.projectKPI" :projectKPI.sync="value.projectKPI" />
</div>
<div v-if="tabsData[8].isShow">
<!-- 项目课题设置 -->
<project-sub-info :dataList.sync="value.projectSubList" />
</div>
<div v-if="tabsData[9].isShow">
<!-- 附件 -->
<file-info :fileList.sync="value.fileList" />
</div>
<div v-if="tabsData[10].isShow">
<!-- 单位科研项目及资金管理制度表 -->
<management-rule-info :dataList.sync="value.managementRuleList" />
</div>
</div> </div>
</template> </template>
<script> <script>
import moment from "moment"; import moment from 'moment'
import AuditList from "@/views/audit/components/auditInfo"; import projectMemberInfo from '@/views/report/project/components/projectMemberInfo'
import documentView from "@/views/components/common/documentView"; import cooperativeUnitsInfo from '@/views/report/project/components/cooperativeUnitsInfo'
import { toTextarea } from "@/views/utils/common"; import participateUnitsInfo from '@/views/report/project/components/participateUnitsInfo'
import budgetInfo from "@/views/report/project/components/keyProject/budgetInfo"; import budgetInfo from '@/views/report/project/components/budgetInfo'
import fileInfo from "@/views/report/project/components/keyProject/fileInfo"; import fundPlanInfo from '@/views/report/project/components/fundPlanInfo'
import cooperativeInfo from "@/views/report/project/components/keyProject/cooperativeInfo"; import equipmentsInfo from '@/views/report/project/components/equipmentsInfo.vue'
import projStageGoalsInfo from "@/views/report/project/components/keyProject/projStageGoalsInfo"; import unitPaymentInfo from '@/views/report/project/components/unitPaymentInfo.vue'
import projFundCompositionInfo from "@/views/report/project/components/keyProject/projFundCompositionInfo"; import projectKpiInfo from '@/views/report/project/components/projectKpiInfo.vue'
import projGroupMemberInfo from "@/views/report/project/components/keyProject/projGroupMemberInfo"; import projectResearchInfo from '@/views/report/project/components/projectResearchInfo'
import paraCheck from '@/views/components/common/paraCheck'; import projectSubInfo from '@/views/report/project/components/projectSubInfo'
import managementRuleInfo from '@/views/report/project/components/managementRuleInfo'
import fileInfo from "@/views/report/project/components/fileInfo";
import documentView from '@/views/components/common/documentView'
import AuditList from '@/views/audit/components/auditInfo'
import { toTextarea } from '@/views/utils/common'
export default { export default {
name: "ProjectInfo",
components: { components: {
AuditList, projectMemberInfo, cooperativeUnitsInfo,participateUnitsInfo, budgetInfo, fundPlanInfo, equipmentsInfo, unitPaymentInfo, projectKpiInfo,projectResearchInfo, projectSubInfo, managementRuleInfo, fileInfo, AuditList, documentView
documentView,
budgetInfo,
fileInfo,
cooperativeInfo,
projStageGoalsInfo,
projFundCompositionInfo,
projGroupMemberInfo,
paraCheck,
}, },
data() { name: "ProjectInfo",
return {}; data () {
return {
}
}, },
props: { props: {
value: { value: {
type: Object, type: Object,
default: () => { default: () => {
return null; return null
}, }
},
tabsData: {
type: Array,
default: () => {
return []
}
}, },
}, },
created() {}, created () {
mounted() {}, if (!!!this.tabsData || this.tabsData.length == 0)
methods: { this.tabsData = [
moment, { title: '全部', key: '0', isShow: true },
toTextarea, { title: '基本情况', key: '1', isShow: true },
{ title: '项目人员情况', key: '2', isShow: true },
{ title: '项目可行性研究情况', key: '3', isShow: true },
{ title: '项目实施目标', key: '4', isShow: true },
{ title: '项目考核指标', key: '5', isShow: true },
{ title: '项目经费', key: '6', isShow: true },
{ title: '项目绩效目标表', key: '7', isShow: true },
{ title: '项目课题设置', key: '8', isShow: true },
{ title: '附件清单', key: '9', isShow: true },
{ title: '单位科研项目及资金管理制度', key: '10', isShow: true },
{ title: '诚信承诺书', key: '11', isShow: true },
]
},
mounted () {
}, },
}; methods: {
moment, toTextarea,
}
}
</script> </script>
\ No newline at end of file
...@@ -99,13 +99,12 @@ ...@@ -99,13 +99,12 @@
const ManagementRule = { policyName: null, releaseDate: null, documentNumber: null, validityPeriod: null, mainContent: null, fileId: null, downloadId: null, fileName: null, downloadUrl: null } const ManagementRule = { policyName: null, releaseDate: null, documentNumber: null, validityPeriod: null, mainContent: null, fileId: null, downloadId: null, fileName: null, downloadUrl: null }
import { isEmptyParams } from "@/views/utils/common" import { isEmptyParams } from "@/views/utils/common"
import fileLoad from '@/views/components/common/fileLoad'
export default { export default {
name: "managementRuleEdit", name: "managementRuleEdit",
components: { components: {
fileLoad
}, },
props: { props: {
managementRuleList: { managementRuleList: {
......
...@@ -10,23 +10,11 @@ ...@@ -10,23 +10,11 @@
<div class="required">姓名</div> <div class="required">姓名</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="8">
<a-form-model-item prop="name"> <a-form-model-item prop="name">
<a-input v-model="memObject.name" :maxLength="20" placeholder="姓名" style="width: 40%" /> <a-input v-model="memObject.name" :maxLength="20" placeholder="姓名" style="width: 40%" />
</a-form-model-item> </a-form-model-item>
</a-col> </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="certificateType">
<para-select v-model="memObject.certificateType" :typeId="49" :width="120" @changeTitle="(e)=>{ memObject.certificateTypeName = e}" />
</a-form-model-item>
</a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">证件号码</div> <div class="required">证件号码</div>
...@@ -60,43 +48,22 @@ ...@@ -60,43 +48,22 @@
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">民族</div> <div class="required">职称</div>
</div>
</a-col>
<a-col :span="8">
<a-form-model-item prop="nation">
<para-select v-model="memObject.nation" :typeId="11" :width="120" @changeTitle="(e)=>{ memObject.nationName = e}" />
</a-form-model-item>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div class="required">国别或地区</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="20">
<a-form-model-item prop="country"> <a-form-model-item prop="title">
<a-input v-model="memObject.country" :maxLength="50" placeholder="国别或地区" style="width: 60%" /> <para-multi-select v-model="memObject.title" :typeId="7" :width="120" @changeTitle="(e)=>{ memObject.titleName = e}" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">工作单位</div> <div class="required">学位</div>
</div>
</a-col>
<a-col :span="8">
<a-form-model-item prop="workUnit">
<a-input v-model="memObject.workUnit" :maxLength="50" placeholder="工作单位" style="width: 60%" />
</a-form-model-item>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div class="required">最高学位</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
...@@ -104,42 +71,19 @@ ...@@ -104,42 +71,19 @@
<para-select v-model="memObject.degree" :typeId="9" :width="120" @changeTitle="(e)=>{ memObject.degreeName = e}" /> <para-select v-model="memObject.degree" :typeId="9" :width="120" @changeTitle="(e)=>{ memObject.degreeName = e}" />
</a-form-model-item> </a-form-model-item>
</a-col> </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="spec">
<para-multi-select v-model="memObject.spec" :typeId="57" :width="120" @changeTitle="(e)=>{ memObject.specName = e}" />
</a-form-model-item>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">职称</div> <div class="required">工作单位</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="8">
<a-form-model-item prop="title"> <a-form-model-item prop="workUnit">
<para-multi-select v-model="memObject.title" :typeId="7" :width="120" @changeTitle="(e)=>{ memObject.titleName = e}" /> <a-input v-model="memObject.workUnit" :maxLength="50" placeholder="工作单位" style="width: 60%" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <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="email">
<a-input v-model="memObject.email" :maxLength="50" placeholder="电子邮箱" style="width: 60%" />
</a-form-model-item>
</a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">手机</div> <div class="required">手机</div>
...@@ -150,31 +94,17 @@ ...@@ -150,31 +94,17 @@
<a-input v-model="memObject.mobile" :maxLength="20" placeholder="手机" style="width: 60%" /> <a-input v-model="memObject.mobile" :maxLength="20" placeholder="手机" style="width: 60%" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row>
<!-- <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required"></div> <div class="required">子邮箱</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="8">
<a-form-model-item prop="telephone"> <a-form-model-item prop="email">
<a-input v-model="memObject.telephone" :maxLength="20" placeholder="电话号码" style="width: 60%" /> <a-input v-model="memObject.email" :maxLength="50" placeholder="电子邮箱" style="width: 60%" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </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="fax">
<a-input v-model="memObject.fax" :maxLength="20" placeholder="传真" style="width: 60%" />
</a-form-model-item>
</a-col>
</a-row> -->
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
...@@ -226,7 +156,6 @@ export default { ...@@ -226,7 +156,6 @@ export default {
name: [{ required: true, message: '*', trigger: 'blur' },], name: [{ required: true, message: '*', trigger: 'blur' },],
sex: [{ required: true, message: '*', trigger: 'change' },], sex: [{ required: true, message: '*', trigger: 'change' },],
birthday: [{ required: true, message: '*', trigger: 'change' },], birthday: [{ required: true, message: '*', trigger: 'change' },],
certificateType: [{ required: true, message: '*', trigger: 'change' },],
certId: [{ required: true, message: '*', trigger: 'blur' }, certId: [{ required: true, message: '*', trigger: 'blur' },
// { // {
// validator: (rule, value, callback) => { // validator: (rule, value, callback) => {
...@@ -244,24 +173,19 @@ export default { ...@@ -244,24 +173,19 @@ export default {
// } // }
// } // }
], ],
nation: [{ required: true, message: '*', trigger: 'change' },],
country: [{ required: true, message: '*', trigger: 'blur' },],
workUnit: [{ required: true, message: '*', trigger: 'blur' },], workUnit: [{ required: true, message: '*', trigger: 'blur' },],
title: [{ required: true, message: '*', trigger: 'change' },], title: [{ required: true, message: '*', trigger: 'change' },],
degree: [{ required: true, message: '*', trigger: 'change' },], degree: [{ required: true, message: '*', trigger: 'change' },],
email: [ email: [
{ required: true, message: '请填写电子邮箱(项目联系人)', trigger: 'blur' }, { required: true, message: '*', trigger: 'blur' },
{ required: true, validator: checkEmail, trigger: 'blur' } { required: true, validator: checkEmail, trigger: 'blur' }
], ],
mobile: [ mobile: [
{ required: true, message: '*', trigger: 'blur' }, { required: true, message: '*', trigger: 'blur' },
{ required: true, validator: checkPhone, trigger: 'blur' } { required: true, validator: checkPhone, trigger: 'blur' }
], ],
telephone: [{ required: false, message: '*', trigger: 'blur' },],
fax: [{ required: false, message: '*', trigger: 'blur' },],
projWork: [{ required: true, message: '*', trigger: 'blur' },], projWork: [{ required: true, message: '*', trigger: 'blur' },],
forMonths: [{ required: true, message: '*', trigger: 'blur' },], forMonths: [{ required: true, message: '*', trigger: 'blur' },],
spec: [{ required: true, message: '*', trigger: 'change' },],
}, },
loading: false, loading: false,
} }
...@@ -287,12 +211,12 @@ export default { ...@@ -287,12 +211,12 @@ export default {
submit () { submit () {
this.memObject._key = Math.random().toString(16).substring(2, 8) this.memObject._key = Math.random().toString(16).substring(2, 8)
this.$refs.form.validate(valid => { this.$refs.form.validate(valid => {
if (valid) { // if (valid) {
this.$emit('close', this.memObject) this.$emit('close', this.memObject)
} else { // } else {
this.$message.error('项目信息未填写完全!') // this.$message.error('信息未填写完全!')
return false // return false
} // }
}) })
}, },
}, },
......
<template>
<div>
<a-row>
<a-col :span="24">
<div class="tb-title">
<span>项目主要参与单位及分工</span>
</div>
</a-col>
</a-row>
<a-row type="flex" class="row_center">
<a-col :span="5" class="bg-gray">
<div class="special-middle">
<div class="required">单位名称</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">单位国别</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div class="required">单位地址</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div class="required">组织机构代码/统社会信用代码</div>
</div>
</a-col>
<a-col :span="6" class="bg-gray">
<div class="special-middle">
<div class="required">分 工</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div>操作</div>
</div>
</a-col>
</a-row>
<a-row v-for="(item, index) in participateUnits" :key="'participateUnits'+index" type="flex" class="row_center">
<a-col :span="5">
<div class="special-middle">
<div>
<a-form-model-item :prop="'participateUnits.' + index + '.unitName'" :rules="{ required: true,message: '*',trigger: 'blur',}">
<a-input v-model="item.unitName" :maxLength="20" placeholder="单位名称" style="width: 80%" />
</a-form-model-item>
</div>
</div>
</a-col>
<a-col :span="3">
<div class="special-middle">
<div>
<a-form-model-item :prop="'participateUnits.' + index + '.unitCountry'" :rules="{ required: true,message: '*',trigger: 'blur',}">
<a-input v-model="item.unitCountry" :maxLength="20" placeholder="单位国别" style="width: 80%" />
</a-form-model-item>
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
<a-form-model-item :prop="'participateUnits.' + index + '.unitAddress'" :rules="{ required: true,message: '*',trigger: 'blur',}">
<a-input v-model="item.unitAddress" :maxLength="100" placeholder="单位地址" style="width: 80%" />
</a-form-model-item>
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
<a-form-model-item :prop="'participateUnits.' + index + '.organizationCode'" :rules="{ required: true,message: '*',trigger: 'blur',}">
<a-input v-model="item.organizationCode" :maxLength="50" placeholder="组织机构代码/统社会信用代码" style="width: 80%" />
</a-form-model-item>
</div>
</div>
</a-col>
<a-col :span="6">
<div class="special-middle">
<div>
<a-form-model-item :prop="'participateUnits.' + index + '.projectWork'" :rules="{ required: true,message: '*',trigger: 'blur',}">
<a-input v-model="item.projectWork" :maxLength="50" placeholder="分 工" style="width: 80%" />
</a-form-model-item>
</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<a-popconfirm title="确定要删除吗?" ok-text="确定" cancel-text="取消" @confirm="removeArray(item)">
<a-button type="link" size="small">[删除]</a-button>
</a-popconfirm>
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="24" style="text-align: center;">
<div class="special-middle">
<a-button type="dashed" style="width: 50%" @click="addArray">
<a-icon type="plus" /> 添加
</a-button>
</div>
</a-col>
</a-row>
</div>
</template>
<script>
//用法 <cooperative-units :participateUnits.sync="formData.participateUnits" />
const Model = { id: null, unitName: null, unitCountry: null, unitAddress: null, organizationCode: null, projectWork: null }
export default {
name: 'participateUnitsEdit',
data () {
return {
}
},
props: {
participateUnits: {
type: Array,
default: () => {
return []
}
},
},
components: {
},
created () {
},
methods: {
addArray () {//添加成员
this.participateUnits.push({ ...Model })
},
removeArray (item) {//移除成员
let index = this.participateUnits.indexOf(item)
if (index !== -1) {
this.participateUnits.splice(index, 1)
}
},
},
}
</script>
<template>
<div>
<a-row>
<a-col :span="24">
<div class="tb-title">
<span>项目主要参与单位及分工</span>
</div>
</a-col>
</a-row>
<a-row type="flex" class="row_center">
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div>序号</div>
</div>
</a-col>
<a-col :span="5" class="bg-gray">
<div class="special-middle">
<div >单位名称</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div >单位国别</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div >单位地址</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div >组织机构代码/统社会信用代码</div>
</div>
</a-col>
<a-col :span="6" class="bg-gray">
<div class="special-middle">
<div >分 工</div>
</div>
</a-col>
</a-row>
<a-row v-for="(item, index) in dataList" :key="'cooperativeUnits'+index" type="flex" class="row_center">
<a-col :span="2">
<div class="special-middle">
<div>
{{ index + 1 }}
</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
{{ item.unitName }}
</div>
</div>
</a-col>
<a-col :span="3">
<div class="special-middle">
<div>
{{ item.unitCountry }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
{{ item.unitAddress }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
{{ item.organizationCode }}
</div>
</div>
</a-col>
<a-col :span="6">
<div class="special-middle">
<div>
{{ item.projectWork }}
</div>
</div>
</a-col>
</a-row>
</div>
</template>
<script>
export default {
name: 'participateUnitsInfo',
data () {
return {
}
},
props: {
dataList: {
type: Array,
default: () => {
return []
}
},
},
components: {
},
created () {
},
methods: {
}
}
</script>
...@@ -4,164 +4,216 @@ ...@@ -4,164 +4,216 @@
<a-row> <a-row>
<a-col :span="24" style="border-top: 0px;text-align: center;"> <a-col :span="24" style="border-top: 0px;text-align: center;">
<div class="main-title"> <div class="main-title">
<span>基本情况</span> <span>项目基本情况</span>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row> <a-row>
<a-col :span="24" style="border-top: 0px"> <a-col :span="24" style="border-top: 0px">
<div class="tb-title"> <div class="tb-title">
<span>单位基本情况</span> <span>申请人信息</span>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="3" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>单位名称</div> <div>姓名</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="5">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item> <a-form-model-item>
<div>{{ formData.appUnitName }}</div> <div>{{ formData.appPersonName }}</div>
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
</a-row> <a-col :span="3" class="bg-gray">
<a-row type="flex">
<a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>注册单位类型</div> <div>性别</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="5">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item> <a-form-model-item>
<div>{{ formData.unitTypeName }}</div> <div>{{ formData.sex }}</div>
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="3" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">组织机构代码/统一社会信用代码</div> <div>出生日期</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="5">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="organizationCode"> <a-form-model-item>
<a-input placeholder="组织机构代码/统一社会信用代码" v-model="formData.organizationCode" :maxLength="100" style="width:80%" /> {{ moment(formData.birthday).format('YYYY-MM-DD') }}
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="3" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">通讯地址</div> <div>民族</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="5">
<div class="special-middle">
<div>
<a-form-model-item>
<div>{{ formData.nationName }}</div>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>学位</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
<a-form-model-item>
<div>{{ formData.degreeName }}</div>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>职称</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="address"> <a-form-model-item>
<a-input placeholder="通讯地址" v-model="formData.address" :maxLength="100" style="width:80%" /> {{ formData.titleName}}
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="3" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">注册所在地(县/区)</div> <div>电话</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="5">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="registeredAddress"> <a-form-model-item>
<a-input placeholder="注册所在地" v-model="formData.registeredAddress" :maxLength="100" style="width:80%" /> <div>{{ formData.mobile }}</div>
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="3" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">邮编</div> <div>电子邮箱</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="5">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="postCode"> <a-form-model-item>
<a-input placeholder="邮编" v-model="formData.postCode" :maxLength="10" style="width:80%" /> <div>{{ formData.email }}</div>
</a-form-model-item>
</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div class="required">每年工作时间(月)</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
<a-form-model-item prop="jobTime">
<a-input-number v-model="formData.jobTime" :min="0" :max="12" :step="1" style="width: 100px" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="3" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">法定代表人</div> <div>个人通讯地址</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="21">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="legalPerson"> <a-form-model-item>
<a-input placeholder="法定代表人" v-model="formData.legalPerson" :maxLength="50" style="width:80%" /> <div>{{ formData.address }}</div>
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="4" class="bg-gray"> </a-row>
<a-row type="flex">
<a-col :span="3" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">职工总数</div> <div>工作单位</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="21">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="workforce"> <a-form-model-item>
<a-input-number v-model="formData.workforce" :min="0" :step="1" style="width: 100px" /> <div>{{ formData.appUnitName }}</div>
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="3" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">其中专科以上人员</div> <div class="required">主要研究领域</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="21">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="specializedPersonnel"> <a-form-model-item prop="mainResearchAreas">
<a-input-number v-model="formData.specializedPersonnel" :min="0" :step="1" style="width: 100px" /> <a-textarea placeholder="主要研究领域" v-model="formData.mainResearchAreas" :maxLength="300" style="width: 80%; height: 160px; margin-top: 12px" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </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"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">研究开发人员</div> <div>单位名称</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="20">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="researchPersonnel"> <a-form-model-item>
<a-input-number v-model="formData.researchPersonnel" :min="0" :step="1" style="width: 100px" /> <div>{{ formData.appUnitName }}</div>
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
...@@ -170,28 +222,28 @@ ...@@ -170,28 +222,28 @@
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">开户银行</div> <div class="required">联系人</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="depositBank"> <a-form-model-item prop="unitLinkName">
<a-input placeholder="开户银行" v-model="formData.depositBank" :maxLength="100" style="width:80%" /> <a-input placeholder="联系人" v-model="formData.unitLinkName" :maxLength="100" style="width:80%" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">银行账号</div> <div class="required">电话</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="bankAccount"> <a-form-model-item prop="unitLinkMobile">
<a-input placeholder="银行账号" v-model="formData.bankAccount" :maxLength="100" style="width:80%" /> <a-input placeholder="电话" v-model="formData.unitLinkMobile" :maxLength="100" style="width:80%" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
...@@ -200,33 +252,37 @@ ...@@ -200,33 +252,37 @@
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">开户银行地址</div> <div class="required">电子信箱</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="depositBankAddress"> <a-form-model-item prop="unitLinkEmail">
<a-input placeholder="开户银行地址" v-model="formData.depositBankAddress" :maxLength="100" style="width:80%" /> <a-input placeholder="电子信箱" v-model="formData.unitLinkEmail" :maxLength="100" style="width:80%" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">银行联行号</div> <div class="required">传真</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<div class="special-middle"> <div class="special-middle">
<div> <div>
<a-form-model-item prop="interbankNumber"> <a-form-model-item prop="unitLinkFax">
<a-input placeholder="开户银行地址" v-model="formData.interbankNumber" :maxLength="100" style="width:80%" /> <a-input placeholder="传真" v-model="formData.unitLinkFax" :maxLength="100" style="width:80%" />
</a-form-model-item> </a-form-model-item>
</div> </div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<!-- 项目合作单位 -->
<cooperative-units-edit :cooperativeUnits.sync="formData.cooperativeUnits" />
<!-- <a-row type="flex"> <!-- <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
...@@ -311,7 +367,7 @@ ...@@ -311,7 +367,7 @@
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <!-- <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">项目所属二级学院/部门名称(牵头单位)</div> <div class="required">项目所属二级学院/部门名称(牵头单位)</div>
...@@ -334,108 +390,98 @@ ...@@ -334,108 +390,98 @@
<div>{{ formData.appUnitName }}</div> <div>{{ formData.appUnitName }}</div>
</div> </div>
</a-col> </a-col>
</a-row> </a-row> -->
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">项日开始时间</div> <div class="required">学科代码</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="20">
<a-form-model-item prop="startDate" style="width:200px;display: inline-block;"> <a-form-model-item prop="knowledgeId">
<a-date-picker format="YYYY-MM-DD" valueFormat="YYYY-MM-DD HH:mm:ss" v-model="formData.startDate" @change="startDateChange" style="width: 180px" /> <para-multi-select v-model="formData.knowledgeId" :typeId="57" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row>
<a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">项目结束时间</div> <div class="required">选题范围</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<a-form-model-item prop="endDate" style="width:200px;display: inline-block;"> <a-form-model-item prop="subjectScope">
<a-date-picker format="YYYY-MM-DD" valueFormat="YYYY-MM-DD HH:mm:ss" v-model="formData.endDate" @change="endDateChange" style="width: 180px" /> <a-input placeholder="选题范围" v-model="formData.subjectScope" :maxLength="100" style="width: 80%" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row>
<!-- <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">项目依托的科技创新基地</div> <div class="required">项目类别</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="8">
<a-form-model-item prop="technologyInnovationBase"> <a-form-model-item prop="projClass">
<a-input placeholder="项目依托的科技创新基地" v-model="formData.technologyInnovationBase" :maxLength="100" style="width: 80%" /> <a-input placeholder="项目类别" v-model="formData.projClass" :maxLength="100" style="width: 80%" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> --> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">项目所属学科类别</div> <div class="required">附注说明</div>
</div> </div>
</a-col> </a-col>
<a-col :span="20"> <a-col :span="20">
<a-form-model-item prop="knowledgeId"> <a-form-model-item prop="projClass">
<para-multi-select v-model="formData.knowledgeId" :typeId="57" /> <a-input placeholder="附注说明" v-model="formData.remark" :maxLength="100" style="width: 80%" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">目总经费(万元)</div> <div class="required">日开始时间</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<a-form-model-item prop="totalFunding"> <a-form-model-item prop="startDate" style="width:200px;display: inline-block;">
<a-input-number v-model="formData.totalFunding" :min="0" :step="0.01" style="width: 100px" /> <a-date-picker format="YYYY-MM-DD" valueFormat="YYYY-MM-DD HH:mm:ss" v-model="formData.startDate" @change="startDateChange" style="width: 180px" />
<span> 单位:万元</span>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">申请科技经费(万元)</div> <div class="required">项目结束时间</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<a-form-model-item prop="govFunding"> <a-form-model-item prop="endDate" style="width:200px;display: inline-block;">
<a-input-number v-model="formData.govFunding" :min="0" :step="0.01" style="width: 100px" /> <a-date-picker format="YYYY-MM-DD" valueFormat="YYYY-MM-DD HH:mm:ss" v-model="formData.endDate" @change="endDateChange" style="width: 180px" />
<span> 单位:万元</span>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row type="flex"> <a-row type="flex">
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">项目联系人姓名</div> <div class="required">项目总经费(万元)</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<a-form-model-item prop="linkName"> <a-form-model-item prop="totalFunding">
<a-input placeholder="项目联系人姓名" v-model="formData.linkName" :maxLength="100" style="width: 80%" /> <a-input-number v-model="formData.totalFunding" :min="0" :step="0.01" style="width: 100px" />
<span> 单位:万元</span>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="4" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div class="required">联系人手机</div> <div class="required">申请经费(万元)</div>
</div> </div>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<a-form-model-item prop="linkMobile"> <a-form-model-item prop="govFunding">
<a-input placeholder="联系人手机" v-model="formData.linkMobile" :maxLength="100" style="width: 80%" /> <a-input-number v-model="formData.govFunding" :min="0" :step="0.01" style="width: 100px" />
</a-form-model-item> <span> 单位:万元</span>
</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-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
...@@ -472,141 +518,9 @@ ...@@ -472,141 +518,9 @@
</a-col> </a-col>
</a-row> </a-row>
<!-- 项目合作单位 -->
<cooperative-units-edit :cooperativeUnits.sync="formData.cooperativeUnits" />
<!-- 项目组成员 --> <!-- 项目组成员 -->
<project-member-edit :dataList.sync="formData.members" /> <project-member-edit :dataList.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="projContent">
<a-textarea placeholder="立项依据、研究内容、意义及必要性" v-model="formData.projContent" :maxLength="10000" 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="10000" 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 style="color: rgba(0, 0, 0, 0.65);">3、在研或完成基础研究项目情况</span>
</div>
</a-col>
</a-row>
<!-- 在研或完成基础研究项目情况 -->
<project-research-edit :projectResearchList.sync="formData.projectResearchList" />
<a-row type="flex">
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div class="required">4、与项目相关的国内外技术发展现状(包括知识产权情况)以及本项目主要研究开发内容技术关键(创新点)、可行性评价及项目风险分析与对策</div>
</div>
</a-col>
<a-col :span="20">
<a-form-model-item prop="researchProgress">
<a-textarea placeholder="与项目相关的国内外技术发展现状" v-model="formData.researchProgress" :maxLength="10000" 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="main-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="10000" 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="10000" 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="10000" 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>项目实施中形成的示范基地、中试线、生产线及其规模等</div>
</div>
</a-col>
<a-col :span="20">
<a-form-model-item prop="achievementTarget">
<a-textarea placeholder="项目实施中形成的示范基地、中试线、生产线及其规模等" v-model="formData.achievementTarget" :maxLength="10000" 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>其他应考核的指标</div>
</div>
</a-col>
<a-col :span="20">
<a-form-model-item prop="otherTarget">
<a-textarea placeholder="其他应考核的指标" v-model="formData.otherTarget" :maxLength="10000" style="width: 80%; height: 160px; margin-top: 12px" />
</a-form-model-item>
</a-col>
</a-row>
<!-- 经费预算 --> <!-- 经费预算 -->
<budget-edit :budget.sync="formData.budget" /> <budget-edit :budget.sync="formData.budget" />
<!-- 分年度用款计划 --> <!-- 分年度用款计划 -->
...@@ -617,13 +531,7 @@ ...@@ -617,13 +531,7 @@
<unit-payment-edit :unitPayment.sync="formData.unitPayment" /> <unit-payment-edit :unitPayment.sync="formData.unitPayment" />
<!-- 项目绩效指标 --> <!-- 项目绩效指标 -->
<project-kpi-edit :projectKPI.sync="formData.projectKPI" /> <project-kpi-edit :projectKPI.sync="formData.projectKPI" />
<!-- 项目课题设置 -->
<project-sub-edit :projectSubList.sync="formData.projectSubList" />
<!-- 单位科研项目及资金管理制度表 -->
<management-rule-edit :managementRuleList.sync="formData.managementRuleList" />
<!-- 附件 --> <!-- 附件 -->
<file-edit :fileList.sync="formData.fileList" /> <file-edit :fileList.sync="formData.fileList" />
</a-form-model> </a-form-model>
...@@ -637,6 +545,7 @@ import paraSelect from '@/views/components/common/paraSelect' ...@@ -637,6 +545,7 @@ import paraSelect from '@/views/components/common/paraSelect'
import baseSelect from '@/views/components/common/baseSelect' import baseSelect from '@/views/components/common/baseSelect'
import projectMemberEdit from '@/views/report/project/components/projectMemberEdit' import projectMemberEdit from '@/views/report/project/components/projectMemberEdit'
import cooperativeUnitsEdit from '@/views/report/project/components/cooperativeUnitsEdit' import cooperativeUnitsEdit from '@/views/report/project/components/cooperativeUnitsEdit'
import participateUnitsEdit from '@/views/report/project/components/participateUnitsEdit'
import budgetEdit from '@/views/report/project/components/budgetEdit' import budgetEdit from '@/views/report/project/components/budgetEdit'
import fundPlanEdit from '@/views/report/project/components/fundPlanEdit' import fundPlanEdit from '@/views/report/project/components/fundPlanEdit'
import equipmentsEdit from '@/views/report/project/components/equipmentsEdit.vue' import equipmentsEdit from '@/views/report/project/components/equipmentsEdit.vue'
...@@ -653,10 +562,12 @@ import moment from 'moment' ...@@ -653,10 +562,12 @@ import moment from 'moment'
const ProjResearch = { projNo: null, projName: null, approveUnit: null, leader: null, startDate: null, endDate: null, funds: null } const ProjResearch = { projNo: null, projName: null, approveUnit: null, leader: null, startDate: null, endDate: null, funds: null }
const ManagementRule = { policyName: null, releaseDate: null, documentNumber: null, validityPeriod: null, mainContent: null, fileId: null, downloadId: null, fileName: null, downloadUrl: null } const ManagementRule = { policyName: null, releaseDate: null, documentNumber: null, validityPeriod: null, mainContent: null, fileId: null, downloadId: null, fileName: null, downloadUrl: null }
const ProjectSub = { projName: null, undertakingUnit: null, address: null, director: null, totalBudget: null, govBudget: null, selfBudget: null, cooperativeUnits: null, fileId: null, downloadId: null, fileName: null, downloadUrl: null } const ProjectSub = { projName: null, undertakingUnit: null, address: null, director: null, totalBudget: null, govBudget: null, selfBudget: null, cooperativeUnits: null, fileId: null, downloadId: null, fileName: null, downloadUrl: null }
const Cooperative = { id: null, unitName: null, unitCountry: null, unitAddress: null, organizationCode: null, projectWork: null } const Cooperative = { id: null, unitName: null }
const Members = { name: null, sex: null, birthday: null, certificateType: null, certId: null, nation: null, country: null, workUnit: null, title: null, degree: null, email: null, mobile: null, telephone: null, fax: null, projWork: null, forMonths: null, spec: null } const ParticipateUnit = { id: null, unitName: null, unitCountry: null, unitAddress: null, organizationCode: null, projectWork: null }
const Members = { name: null, sex: null, birthday: null, certificateType: null, certId: null, nation: null, country: null, workUnit: null, title: null, degree: null, email: null, mobile: null, telephone: null, fax: null, projWork: null, forMonths: null, spec: null, fileId: null, downloadId: null, fileName: null, downloadUrl: null }
const Equipment = { id: "", objectId: "", name: "", functionTarget: "", specificationType: "", quantity: 1, totalBudget: 0.00, useFrom: "", buyUnit: "", storageLocation: "", equipmentType: "", manufacturer: "", sharedScope: "", unitPrice: 0.00, } const Equipment = { id: "", objectId: "", name: "", functionTarget: "", specificationType: "", quantity: 1, totalBudget: 0.00, useFrom: "", buyUnit: "", storageLocation: "", equipmentType: "", manufacturer: "", sharedScope: "", unitPrice: 0.00, }
const File = { fileName: '', downloadUrl: '', fileExplain: '', downloadId: '' } const File = { fileName: '', downloadUrl: '', fileExplain: '', downloadId: '' }
const projectKPI = { const projectKPI = {
reportYear: "", reportYear: "",
projName: "", projName: "",
...@@ -695,7 +606,7 @@ const projectKPI = { ...@@ -695,7 +606,7 @@ const projectKPI = {
export default { export default {
name: 'projectEdit', name: 'projectEdit',
components: { components: {
paraMultiSelect, paraSelect, baseSelect, projectMemberEdit, cooperativeUnitsEdit, budgetEdit, fundPlanEdit, equipmentsEdit, unitPaymentEdit, projectKpiEdit, projectResearchEdit, projectSubEdit, managementRuleEdit, fileEdit paraMultiSelect, paraSelect, baseSelect, projectMemberEdit, cooperativeUnitsEdit, participateUnitsEdit, budgetEdit, fundPlanEdit, equipmentsEdit, unitPaymentEdit, projectKpiEdit, projectResearchEdit, projectSubEdit, managementRuleEdit, fileEdit
}, },
props: { props: {
value: { value: {
...@@ -715,6 +626,8 @@ export default { ...@@ -715,6 +626,8 @@ export default {
id: null, id: null,
organizationCode: null, organizationCode: null,
address: null, address: null,
jobTime: null,
mainResearchAreas: null,
registeredAddress: null, registeredAddress: null,
postCode: null, postCode: null,
legalPerson: null, legalPerson: null,
...@@ -758,6 +671,7 @@ export default { ...@@ -758,6 +671,7 @@ export default {
projectKPI: projectKPI, projectKPI: projectKPI,
unitPayment: [], unitPayment: [],
cooperativeUnits: [], cooperativeUnits: [],
participateUnits: [],
members: [], members: [],
budget: [], budget: [],
fundPlan: [], fundPlan: [],
...@@ -768,8 +682,9 @@ export default { ...@@ -768,8 +682,9 @@ export default {
fileList: [], fileList: [],
}, },
rules: { rules: {
mainResearchAreas: [{ required: true, message: '请填写主要研究领域', trigger: 'blur' },],
jobTime: [{ required: true, message: '请填写每年工作时间(月)', trigger: 'blur' },],
organizationCode: [{ required: true, message: '请填写组织机构代码/统一社会信用代码', trigger: 'blur' },], organizationCode: [{ required: true, message: '请填写组织机构代码/统一社会信用代码', trigger: 'blur' },],
address: [{ required: true, message: '请填写通讯地址', trigger: 'blur' },],
registeredAddress: [{ required: true, message: '请填写注册所在地', trigger: 'blur' },], registeredAddress: [{ required: true, message: '请填写注册所在地', trigger: 'blur' },],
postCode: [{ required: true, message: '请填写邮编', trigger: 'blur' },], postCode: [{ required: true, message: '请填写邮编', trigger: 'blur' },],
legalPerson: [{ required: true, message: '请填写法定代表人', trigger: 'blur' },], legalPerson: [{ required: true, message: '请填写法定代表人', trigger: 'blur' },],
...@@ -785,7 +700,7 @@ export default { ...@@ -785,7 +700,7 @@ export default {
// researchCount: [{ required: true, message: '请填写上一年度填报的研发投入总数', trigger: 'blur' },], // researchCount: [{ required: true, message: '请填写上一年度填报的研发投入总数', trigger: 'blur' },],
// researchPersonCount: [{ required: true, message: '请填写上一年度填报的研发人员数', trigger: 'blur' },], // researchPersonCount: [{ required: true, message: '请填写上一年度填报的研发人员数', trigger: 'blur' },],
projName: [{ required: true, message: '请填写项目名称', trigger: 'blur' },], projName: [{ required: true, message: '请填写项目名称', trigger: 'blur' },],
leadUnit: [{ required: true, message: '请填写项目所属二级学院/部门名称(牵头单位)', trigger: 'blur' },], // leadUnit: [{ required: true, message: '请填写项目所属二级学院/部门名称(牵头单位)', trigger: 'blur' },],
// recommendUnit: [{ required: false, message: '请填写推荐部门', trigger: 'blur' },], // recommendUnit: [{ required: false, message: '请填写推荐部门', trigger: 'blur' },],
startDate: { required: true, message: '请选择项日开始时间', trigger: 'change' }, startDate: { required: true, message: '请选择项日开始时间', trigger: 'change' },
endDate: { required: true, message: '请选择项目结束时间', trigger: 'change' }, endDate: { required: true, message: '请选择项目结束时间', trigger: 'change' },
...@@ -845,16 +760,23 @@ export default { ...@@ -845,16 +760,23 @@ export default {
} }
}, },
loadList () { loadList () {
if (!!!this.formData.participateUnits || this.formData.participateUnits.length == 0)
this.formData.participateUnits = [{ ...ParticipateUnit }]
if (!!!this.formData.cooperativeUnits || this.formData.cooperativeUnits.length == 0)
this.formData.cooperativeUnits = [{ ...Cooperative }, { ...Cooperative }]
if (!!!this.formData.projectResearchList || this.formData.projectResearchList.length == 0) if (!!!this.formData.projectResearchList || this.formData.projectResearchList.length == 0)
this.formData.projectResearchList = [{ ...ProjResearch }] this.formData.projectResearchList = [{ ...ProjResearch }]
if (!!!this.formData.managementRuleList || this.formData.managementRuleList.length == 0) if (!!!this.formData.managementRuleList || this.formData.managementRuleList.length == 0)
this.formData.managementRuleList = [{ ...ManagementRule }] this.formData.managementRuleList = [{ ...ManagementRule }]
if (!!!this.formData.projectSubList || this.formData.projectSubList.length == 0) if (!!!this.formData.projectSubList || this.formData.projectSubList.length == 0)
this.formData.projectSubList = [{ ...ProjectSub }] this.formData.projectSubList = [{ ...ProjectSub }]
if (!!!this.formData.cooperativeUnits || this.formData.cooperativeUnits.length == 0)
this.formData.cooperativeUnits = [{ ...Cooperative }]
if (!!!this.formData.members || this.formData.members.length == 0) if (!!!this.formData.members || this.formData.members.length == 0)
this.formData.members = [] this.formData.members = [{ ...Members }]
if (!!!this.formData.equipments || !this.formData.equipments.length || this.formData.equipments.length == 0) { if (!!!this.formData.equipments || !this.formData.equipments.length || this.formData.equipments.length == 0) {
this.formData.equipments = [] this.formData.equipments = []
} }
......
...@@ -433,7 +433,7 @@ ...@@ -433,7 +433,7 @@
</a-row> </a-row>
<!-- 项目合作单位 --> <!-- 项目合作单位 -->
<cooperative-units-info :dataList.sync="value.cooperativeUnits" /> <participate-units-info :dataList.sync="value.participateUnits" />
<!-- 项目组成员 --> <!-- 项目组成员 -->
<project-member-info :dataList.sync="value.members" /> <project-member-info :dataList.sync="value.members" />
...@@ -676,6 +676,7 @@ ...@@ -676,6 +676,7 @@
import moment from 'moment' import moment from 'moment'
import projectMemberInfo from '@/views/report/project/components/projectMemberInfo' import projectMemberInfo from '@/views/report/project/components/projectMemberInfo'
import cooperativeUnitsInfo from '@/views/report/project/components/cooperativeUnitsInfo' import cooperativeUnitsInfo from '@/views/report/project/components/cooperativeUnitsInfo'
import participateUnitsInfo from '@/views/report/project/components/participateUnitsInfo'
import budgetInfo from '@/views/report/project/components/budgetInfo' import budgetInfo from '@/views/report/project/components/budgetInfo'
import fundPlanInfo from '@/views/report/project/components/fundPlanInfo' import fundPlanInfo from '@/views/report/project/components/fundPlanInfo'
import equipmentsInfo from '@/views/report/project/components/equipmentsInfo.vue' import equipmentsInfo from '@/views/report/project/components/equipmentsInfo.vue'
...@@ -694,7 +695,7 @@ import { toTextarea } from '@/views/utils/common' ...@@ -694,7 +695,7 @@ import { toTextarea } from '@/views/utils/common'
export default { export default {
components: { components: {
projectMemberInfo, cooperativeUnitsInfo, budgetInfo, fundPlanInfo, equipmentsInfo, unitPaymentInfo, projectKpiInfo,projectResearchInfo, projectSubInfo, managementRuleInfo, fileInfo, AuditList, documentView projectMemberInfo, cooperativeUnitsInfo,participateUnitsInfo, budgetInfo, fundPlanInfo, equipmentsInfo, unitPaymentInfo, projectKpiInfo,projectResearchInfo, projectSubInfo, managementRuleInfo, fileInfo, AuditList, documentView
}, },
name: "ProjectInfo", name: "ProjectInfo",
data () { data () {
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<a-row> <a-row>
<a-col :span="24"> <a-col :span="24">
<div class="tb-title"> <div class="tb-title">
<span>项目组成员 <strong>(注:项目负责人填写到第一行)</strong></span> <span>项目组主要成员 <strong style="color: red;">(注:不包含项目申请人)</strong></span>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
...@@ -18,11 +18,6 @@ ...@@ -18,11 +18,6 @@
<div>姓名</div> <div>姓名</div>
</div> </div>
</a-col> </a-col>
<a-col :span="1" class="bg-gray">
<div class="special-middle">
<div>性别</div>
</div>
</a-col>
<a-col :span="1" class="bg-gray"> <a-col :span="1" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>出生年月</div> <div>出生年月</div>
...@@ -30,59 +25,39 @@ ...@@ -30,59 +25,39 @@
</a-col> </a-col>
<a-col :span="1" class="bg-gray"> <a-col :span="1" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>证件类型</div> <div>性别</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div>证件号码</div>
</div> </div>
</a-col> </a-col>
<a-col :span="1" class="bg-gray"> <a-col :span="1" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>民族</div> <div>职称</div>
</div> </div>
</a-col> </a-col>
<a-col :span="1" class="bg-gray"> <a-col :span="1" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>国别或地区</div> <div>学位</div>
</div>
</a-col>
<a-col :span="2" class="bg-gray">
<div class="special-middle">
<div>工作单位</div>
</div> </div>
</a-col> </a-col>
<a-col :span="1" class="bg-gray"> <a-col :span="1" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>职称</div> <div>工作单位</div>
</div> </div>
</a-col> </a-col>
<a-col :span="1" class="bg-gray"> <a-col :span="2" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>最高学位</div> <div>电话</div>
</div> </div>
</a-col> </a-col>
<a-col :span="1" class="bg-gray"> <a-col :span="2" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>电子邮箱</div> <div>电子邮箱</div>
</div> </div>
</a-col> </a-col>
<a-col :span="1" class="bg-gray"> <a-col :span="2" class="bg-gray">
<div class="special-middle">
<div>手机</div>
</div>
</a-col>
<!-- <a-col :span="1" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div >电话</div> <div>证件号码</div>
</div> </div>
</a-col> </a-col>
<a-col :span="1" class="bg-gray">
<div class="special-middle">
<div >传真</div>
</div>
</a-col> -->
<a-col :span="2" class="bg-gray"> <a-col :span="2" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>项目分工</div> <div>项目分工</div>
...@@ -93,9 +68,9 @@ ...@@ -93,9 +68,9 @@
<div>每年工作(月)</div> <div>每年工作(月)</div>
</div> </div>
</a-col> </a-col>
<a-col :span="2" class="bg-gray"> <a-col :span="4" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>从事专业</div> <div>个人简历</div>
</div> </div>
</a-col> </a-col>
<a-col :span="3" class="bg-gray"> <a-col :span="3" class="bg-gray">
...@@ -123,94 +98,59 @@ ...@@ -123,94 +98,59 @@
<a-col :span="1"> <a-col :span="1">
<div class="special-middle"> <div class="special-middle">
<div> <div>
{{ item.sex }} {{ moment(item.birthday).format('YYYY-MM') }}
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="1"> <a-col :span="1">
<div class="special-middle"> <div class="special-middle">
<div> <div>
{{ moment(item.birthday).format('YYYY-MM-DD') }} {{ item.sex }}
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="1"> <a-col :span="1">
<div class="special-middle"> <div class="special-middle">
<div> <div>
{{ item.certificateTypeName }} {{ item.titleName }}
</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle">
<div>
{{ item.certId }}
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="1"> <a-col :span="1">
<div class="special-middle"> <div class="special-middle">
<div> <div>
{{ item.nationName }} {{ item.degreeName }}
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="1"> <a-col :span="1">
<div class="special-middle">
<div>
{{ item.country }}
</div>
</div>
</a-col>
<a-col :span="2">
<div class="special-middle"> <div class="special-middle">
<div> <div>
{{ item.workUnit }} {{ item.workUnit }}
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="1"> <a-col :span="2">
<div class="special-middle">
<div>
{{ item.titleName }}
</div>
</div>
</a-col>
<a-col :span="1">
<div class="special-middle"> <div class="special-middle">
<div> <div>
{{ item.degreeName }} {{ item.mobile }}
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="1"> <a-col :span="2">
<div class="special-middle"> <div class="special-middle">
<div> <div>
{{ item.email }} {{ item.email }}
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="1"> <a-col :span="2">
<div class="special-middle"> <div class="special-middle">
<div> <div>
{{ item.mobile }} {{ item.certId }}
</div> </div>
</div> </div>
</a-col> </a-col>
<!-- <a-col :span="1">
<div class="special-middle">
<div>
{{ item.telephone }}
</div>
</div>
</a-col>
<a-col :span="1">
<div class="special-middle">
<div>
{{ item.fax }}
</div>
</div>
</a-col> -->
<a-col :span="2"> <a-col :span="2">
<div class="special-middle"> <div class="special-middle">
<div> <div>
...@@ -225,11 +165,9 @@ ...@@ -225,11 +165,9 @@
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="2"> <a-col :span="4">
<div class="special-middle"> <div class="special-middle">
<div> <file-load :file.sync="dataList[index]" :index="index" :name="'members'" />
{{ item.specName }}
</div>
</div> </div>
</a-col> </a-col>
<a-col :span="3"> <a-col :span="3">
...@@ -248,9 +186,7 @@ ...@@ -248,9 +186,7 @@
<a-row type="flex"> <a-row type="flex">
<a-col :span="24" style="text-align: center;"> <a-col :span="24" style="text-align: center;">
<div class="special-middle"> <div class="special-middle">
<a-button type="dashed" style="width: 30%;background: #40a9ff;" @click="addMember"> <a-button type="primary" @click="addMember">添加项目组成员</a-button>
<a-icon type="plus" /> 添加项目组成员
</a-button>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
...@@ -295,6 +231,9 @@ const Member = { ...@@ -295,6 +231,9 @@ const Member = {
export default { export default {
name: 'projectMemberEdit', name: 'projectMemberEdit',
components: {
},
data () { data () {
return { return {
memObject: {}, memObject: {},
......
...@@ -28,11 +28,6 @@ ...@@ -28,11 +28,6 @@
<div>出生年月</div> <div>出生年月</div>
</div> </div>
</a-col> </a-col>
<a-col :span="1" class="bg-gray">
<div class="special-middle">
<div>证件类型</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray"> <a-col :span="3" class="bg-gray">
<div class="special-middle"> <div class="special-middle">
<div>证件号码</div> <div>证件号码</div>
...@@ -129,13 +124,6 @@ ...@@ -129,13 +124,6 @@
</div> </div>
</div> </div>
</a-col> </a-col>
<a-col :span="1">
<div class="special-middle">
<div>
{{ item.certificateTypeName }}
</div>
</div>
</a-col>
<a-col :span="3"> <a-col :span="3">
<div class="special-middle"> <div class="special-middle">
<div> <div>
......
...@@ -129,13 +129,12 @@ ...@@ -129,13 +129,12 @@
const ProjectSub = { projName: null, undertakingUnit: null, address: null, director: null, totalBudget: null, govBudget: null, selfBudget: null, cooperativeUnits: null, fileId: null, downloadId: null, fileName: null, downloadUrl: null } const ProjectSub = { projName: null, undertakingUnit: null, address: null, director: null, totalBudget: null, govBudget: null, selfBudget: null, cooperativeUnits: null, fileId: null, downloadId: null, fileName: null, downloadUrl: null }
import { isEmptyParams } from "@/views/utils/common" import { isEmptyParams } from "@/views/utils/common"
import fileLoad from '@/views/components/common/fileLoad'
export default { export default {
name: "projectSubEdit", name: "projectSubEdit",
components: { components: {
fileLoad
}, },
props: { props: {
projectSubList: { projectSubList: {
......
...@@ -124,6 +124,7 @@ export default { ...@@ -124,6 +124,7 @@ export default {
year3Goal: null, year3Goal: null,
projectKPI: projectKPI, projectKPI: projectKPI,
cooperativeUnits: [], cooperativeUnits: [],
participateUnits: [],
members: [], members: [],
budget: [], budget: [],
equipments: [], equipments: [],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment